#pragma once #include "ros_bridge/include/MessageTag.h" #include "ros_bridge/rapidjson/include/rapidjson/document.h" #include #include #include namespace ros_bridge { namespace com_private { typedef MessageTag Tag; typedef rapidjson::Document JsonDoc; typedef std::unique_ptr JsonDocUPtr; typedef std::deque JsonQueue; typedef std::size_t HashType; using ClientMap = std::unordered_map; static const char* _topicAdvertiserKey = "topic_advertiser"; static const char* _topicPublisherKey = "topic_publisher"; static const char* _serviceAdvertiserKey = "service_advertiser"; static const char* _topicSubscriberKey = "topic_subscriber"; std::size_t getHash(const std::string &str); std::size_t getHash(const char *str); bool getTopic(const JsonDoc &doc, std::string &topic); bool getType(const JsonDoc &doc, std::string &type); bool removeTopic(JsonDoc &doc); bool removeType(JsonDoc &doc); } }