/* * Copyright (c) 2024 Markus Lehr. * * * SPDX-License-Identifier: Owend property of Markus Lehr * */ #ifndef RTS_INCLUDE_ICHANNELDESC_H_ #define RTS_INCLUDE_ICHANNELDESC_H_ #include #include enum VALUEFORMAT { UINT32 = 0, INT32, FLOAT, DOUBLE, }; union rtsSensorValue { uint32_t vUINT32; int32_t vINT32; float vFLOAT; double vDOUBLE; }; static const std::string RTSMONCHANNELNAME("name"); static const std::string RTSMONCHANNELVALUE("value"); static const std::string RTSMONCHANNELVALUETYPE("valuetype"); class IChannelDesc { public: virtual u_int32_t GetId() = 0; virtual const std::string& GetName() = 0; virtual VALUEFORMAT GetValueFormat() = 0; /** * return the length of the data that is neeeded for one value of the channel in UINT32 * */ virtual u_int32_t GetValueByteSpace() = 0; }; #endif /* RTS_INCLUDE_ICHANNELDESC_H_ */