summaryrefslogtreecommitdiff
path: root/interfaces/controller.idl
diff options
context:
space:
mode:
Diffstat (limited to 'interfaces/controller.idl')
-rw-r--r--interfaces/controller.idl27
1 files changed, 27 insertions, 0 deletions
diff --git a/interfaces/controller.idl b/interfaces/controller.idl
index 3410ab6..f1719bf 100644
--- a/interfaces/controller.idl
+++ b/interfaces/controller.idl
@@ -4,18 +4,45 @@
#include "common.idl"
#include "io.idl"
+/**
+ * @brief logical view of IO's and Devices (not HW specific)
+ *
+ * @author Manuel Traut <manut@mecka.net>
+ * @copyright GPLv2
+ */
+
module Controller {
+/**
+ * @brief manage io/device lists, error handling
+ *
+ * - all modules need to register their IOs and devices
+ * - registered IOs and devices can be obtained
+ */
interface Manager {
+ /** returns list of registered digital IOs */
Common::Error digital (out IO::Digital_list io_list);
+ /** returns list of registered analog IOs */
Common::Error analog (out IO::Analog_list io_list);
+ /** returns list of registered devices */
Common::Error device (out IO::Device_list dev_list);
+ /** register a digital IO */
Common::Error register_io_digital (in IO::Analog io_ana);
+ /** register a analog IO */
Common::Error register_io_analog (in IO::Digital io_dig);
+ /** register a device */
Common::Error register_io_device (in IO::Device io_dev);
+ /** unregister a digital IO */
Common::Error unregister_io_digital (in IO::Digital io_dig);
+ /** unregister a analog IO */
Common::Error unregister_io_analog (in IO::Analog io_ana);
+ /** unregister a device */
Common::Error unregister_io_device (in IO::Device io_dev);
+ /** used by modules to send errors to a central point
+ * The implementation of this function could:
+ * - thispatch errors to a GUI
+ * - log the errors e.g. with log4*
+ */
void log_error (in Common::Error error);
};