ComPrivateInclude.h 805 Bytes
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
1 2 3 4 5 6 7
#pragma once

#include "ros_bridge/include/MessageTag.h"
#include "ros_bridge/rapidjson/include/rapidjson/document.h"

#include <memory>
#include <deque>
8
#include <unordered_map>
Valentin Platzgummer's avatar
Valentin Platzgummer committed
9 10 11 12 13 14 15 16

namespace ROSBridge {
namespace ComPrivate {

typedef MessageTag Tag;
typedef rapidjson::Document JsonDoc;
typedef std::unique_ptr<JsonDoc> JsonDocUPtr;
typedef std::deque<JsonDocUPtr> JsonQueue;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
17
typedef std::size_t HashType;
18 19

using ClientMap = std::unordered_map<HashType, std::string>;
Valentin Platzgummer's avatar
Valentin Platzgummer committed
20 21 22

static const char* _topicAdvertiserKey = "topic_advertiser";
static const char* _topicPublisherKey =  "topic_publisher";
23
static const char* _serviceAdvertiserKey = "service_advertiser";
Valentin Platzgummer's avatar
Valentin Platzgummer committed
24 25
static const char* _topicSubscriberKey = "topic_subscriber";

Valentin Platzgummer's avatar
Valentin Platzgummer committed
26 27 28
std::size_t getHash(const std::string &str);
std::size_t getHash(const char *str);

Valentin Platzgummer's avatar
Valentin Platzgummer committed
29 30
}
}