#ifndef FACT_MessageDim #define FACT_MessageDim #include // std::function #include "MessageImp.h" #include "DimDescriptionService.h" //#include // DimService #include "../externals/Queue.h" class MessageDimTX : public DimDescribedService, public MessageImp { private: bool fDebug; Queue> fMsgQueue; bool UpdateService(const std::tuple &data); public: MessageDimTX(const std::string &name, std::ostream &out=std::cout); ~MessageDimTX(); int Write(const Time &t, const std::string &txt, int qos=kInfo); void SetDebug(bool b=true) { fDebug=b; } bool MessageQueueEmpty() const { return fMsgQueue.empty(); } }; #include // DimStampedInfo class MessageDimRX : public DimInfoHandler { private: int fMinLogLevel; bool fConnected; protected: MessageImp &fMsg; private: DimStampedInfo fDimMessage; protected: void infoHandler(); public: MessageDimRX(const std::string &name, MessageImp &imp); void SetMinLogLevel(int min=0) { fMinLogLevel=min; } bool IsConnected() const { return fConnected; } }; #endif