/* * SubscribeInterface.h */ #ifndef INCLUDE_ZEROMQ_SUBSCRIBEINTERFACE_H_ #define INCLUDE_ZEROMQ_SUBSCRIBEINTERFACE_H_ #include #include #include #include #include #include #include class LogInterface; class SubscribeInterface { public: /** * constructor for subsribe * @param cfg config for the subscribe socket * @param deviceFacade pointer to device facade */ explicit SubscribeInterface(const std::shared_ptr &cfg, const std::shared_ptr &l, const std::shared_ptr &deviceFacade); ~SubscribeInterface(); void join(void); private: std::shared_ptr __deviceFacade; std::shared_ptr __zmqContext; std::shared_ptr __zmqSocket; std::shared_ptr __logSocket; std::shared_ptr __proxyThread; Di::Rpc::Reader __reader; void __run(void); void __processMessage(const std::shared_ptr &msg); }; #endif // INCLUDE_ZEROMQ_SUBSCRIBEINTERFACE_H_