#pragma once #include "ros_bridge/include/ComPrivateInclude.h" #include "ros_bridge/include/RosBridgeClient.h" #include "ros_bridge/include/TypeFactory.h" #include "ros_bridge/include/CasePacker.h" namespace ROSBridge { namespace ComPrivate { class Receiver { public: Receiver() = delete; Receiver(CasePacker *casePacker, RosbridgeWsClient *rbc, TypeFactory *typeFactory); template void receive(T &){ } bool messagesAvailable(); bool showMessageTag(Tag &tag); private: static const char *_topicAdvertiserKey; JsonQueue _queue; std::mutex _queueMutex; std::atomic _stopFlag; JsonFactory *_jsonFactory; CasePacker *_casePacker; //ThreadPtr _pThread; RosbridgeWsClient *_rbc; }; } }