#ifndef DISTRIO_COMMON_IDL #define DISTRIO_COMMON_IDL /** * @brief shared between different modules * * - definitions for error handling * * @author Manuel Traut * @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 Timestamp { long seconds; long nanoseconds; }; /** * @brief description of an error */ struct Error { Error_code code; Error_level level; 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