diff options
Diffstat (limited to 'interfaces/distrio_common.idl')
| -rw-r--r-- | interfaces/distrio_common.idl | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/interfaces/distrio_common.idl b/interfaces/distrio_common.idl new file mode 100644 index 0000000..8756732 --- /dev/null +++ b/interfaces/distrio_common.idl @@ -0,0 +1,59 @@ +#ifndef DISTRIO_COMMON_IDL +#define DISTRIO_COMMON_IDL + +/** + * @brief shared between different modules + * + * - definitions for error handling + * + * @author Manuel Traut <manut@mecka.net> + * @copyright GPLv2 + * + */ +module Distrio { + +/** + * @brief kind of error + */ + enum Error_code { + SUCCESS, + E_INVAL, + E_NOTSUPPORTED + }; + +/** + * @brief used for filtering and classification + */ + enum Error_level { + L_DEBUG, + L_INFO, + L_WARNING, + L_NORMAL, + L_CRITICAL + }; + +/** + * @brief describes when the error was detected + * (it's helpful to sync all boards with ntp) + */ + struct Error_timestamp { + long seconds; + long nanoseconds; + }; + +/** + * @brief description of an error + */ + struct Error { + Error_code code; + Error_level level; + Error_timestamp time; + /** id of the digital/analog IO or the IO device */ + long module_id; + /** a human readable description which can be displayed in GUIs */ + string description; + }; + +}; + +#endif |
