summaryrefslogtreecommitdiff
path: root/interfaces/distrio_manager.idl
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-06-02 18:40:19 +0200
committerManuel Traut <manut@mecka.net>2012-06-02 18:40:19 +0200
commit89e787c826890aed88f632b1fd5cf4f65541067f (patch)
treef509b54ec7a5c44471da7634972f4ef8822cf726 /interfaces/distrio_manager.idl
parent3fc5a341321c4c042bb464dbb1f62856fc2d31a4 (diff)
fix includes paths, etc
common, io, manager can be build now Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'interfaces/distrio_manager.idl')
-rw-r--r--interfaces/distrio_manager.idl51
1 files changed, 51 insertions, 0 deletions
diff --git a/interfaces/distrio_manager.idl b/interfaces/distrio_manager.idl
new file mode 100644
index 0000000..83ab13e
--- /dev/null
+++ b/interfaces/distrio_manager.idl
@@ -0,0 +1,51 @@
+#ifndef DISTRDistrio_CONTROLLER_IDL
+#define DISTRDistrio_CONTROLLER_IDL
+
+#include "distrio_common.idl"
+#include "distrio_io.idl"
+
+/**
+ * @brief logical view of IO's and Devices (not HW specific)
+ *
+ * @author Manuel Traut <manut@mecka.net>
+ * @copyright GPLv2
+ */
+
+module Distrio {
+
+/**
+ * @brief manage io/device lists, error handling
+ *
+ * - all modules need to register their IO's and devices
+ * - registered IO's and devices can be obtained
+ */
+ interface Manager {
+ /** returns list of registered digital IO's */
+ Distrio::Error digital (out Distrio::Digital_list io_list);
+ /** returns list of registered analog IO's */
+ Distrio::Error analog (out Distrio::Analog_list io_list);
+ /** returns list of registered devices */
+ Distrio::Error device (out Distrio::Device_list dev_list);
+ /** register a digital io */
+ Distrio::Error register_io_digital (in Distrio::Analog io_ana);
+ /** register a analog io */
+ Distrio::Error register_io_analog (in Distrio::Digital io_dig);
+ /** register a device */
+ Distrio::Error register_io_device (in Distrio::Device io_dev);
+ /** unregister a digital io */
+ Distrio::Error unregister_io_digital (in Distrio::Digital io_dig);
+ /** unregister a analog io */
+ Distrio::Error unregister_io_analog (in Distrio::Analog io_ana);
+ /** unregister a device */
+ Distrio::Error unregister_io_device (in Distrio::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 Distrio::Error error);
+ };
+
+};
+
+#endif