diff options
Diffstat (limited to 'interfaces/controller.idl')
| -rw-r--r-- | interfaces/controller.idl | 27 |
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); }; |
