summaryrefslogtreecommitdiff
path: root/interfaces/manager.idl
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-06-02 16:54:02 +0200
committerManuel Traut <manut@mecka.net>2012-06-02 16:54:02 +0200
commit1c4fbd35ba335ed338a680fdffc0db6de576a7a4 (patch)
treea47a104df1ae516c040b1319e871db5c8d964a35 /interfaces/manager.idl
parent55b366883c41550f8eced0d4b87e0957a744daf8 (diff)
complete renaming in idl files
- all idl files are now in the same module 'distrio' Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'interfaces/manager.idl')
-rw-r--r--interfaces/manager.idl51
1 files changed, 51 insertions, 0 deletions
diff --git a/interfaces/manager.idl b/interfaces/manager.idl
new file mode 100644
index 0000000..f1dffa1
--- /dev/null
+++ b/interfaces/manager.idl
@@ -0,0 +1,51 @@
+#ifndef DISTRDistrio_CONTROLLER_IDL
+#define DISTRDistrio_CONTROLLER_IDL
+
+#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 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