6 #include "TrackingManager.h" 11 inline std::string
buffer_to_string(
const uint8_t(&buff)[SIZE],
char separator =
',',
bool as_hex =
false)
13 std::ostringstream oss;
17 for (
size_t i = 0; i < SIZE; i++)
29 #define CASE_RETURN_STR(X) case perc::Status::##X: {\ 30 static std::string s##X##_str = make_less_screamy(#X);\ 58 #undef CASE_RETURN_STR 61 inline std::ostream&
operator<<(std::ostream& os,
const perc::TrackingData::Version& v)
63 return os << v.major <<
"." << v.minor <<
"." << v.patch <<
"." << v.build;
80 <<
"\"ID\" : " << (int)
frame.controllerId;
87 "\"sensorIndex\": " << (int)
frame.sensorIndex <<
"," 88 "\"frameId\": " << (
int)
frame.frameId <<
"," 89 "\"eventId\": " << (int)
frame.eventId <<
"," 90 "\"instanceId\": " << (
int)
frame.instanceId <<
"," 99 "\"controllerId\": " << (int)
frame.controllerId <<
"," 100 "\"manufacturerId\": " << (
int)
frame.manufacturerId <<
"," 101 "\"protocol\": \"" <<
frame.protocol <<
"\"," 102 "\"app\": \"" <<
frame.app <<
"\"," 103 "\"softDevice\": \"" <<
frame.softDevice <<
"\"," 104 "\"bootLoader\": \"" <<
frame.bootLoader <<
"\"";
108 static std::string
serialized_data(
const perc::TrackingData::ControllerDeviceConnect& c, uint8_t controller_id)
112 "\"ID\" : " << (int)controller_id;
116 static constexpr
const char* prefix() {
return R
"JSON({"Event Type":"Controller Event", "Data" : {)JSON"; } 117 static constexpr
const char* suffix() {
return "}}"; }
118 static constexpr
const char* event_type_frame() {
return "Frame"; }
119 static constexpr
const char* event_type_connection() {
return "Connection"; }
120 static constexpr
const char* event_type_disconnection() {
return "Disconnection"; }
121 static constexpr
const char* event_type_discovery() {
return "Discovery"; }
123 static std::string to_json(
const char* sub_type,
const std::string& data)
127 <<
"\"Sub Type\" : " <<
"\"" << sub_type <<
"\"," 128 <<
"\"Data\" : {" << data <<
"}" std::ostream & operator<<(std::ostream &os, const perc::TrackingData::Version &v)
Definition: controller_event_serializer.h:61
static std::string serialized_data(const perc::TrackingData::ControllerFrame &frame)
Definition: controller_event_serializer.h:84
Definition: controller_event_serializer.h:67
Definition: serialization.h:48
#define CASE_RETURN_STR(X)
static std::string serialized_data(const perc::TrackingData::ControllerDiscoveryEventFrame &frame)
Definition: controller_event_serializer.h:70
static std::string serialized_data(const perc::TrackingData::ControllerConnectedEventFrame &frame)
Definition: controller_event_serializer.h:95
static std::string serialized_data(const perc::TrackingData::ControllerDisconnectedEventFrame &frame)
Definition: controller_event_serializer.h:77
std::string get_string(perc::Status value)
Definition: controller_event_serializer.h:26
std::string buffer_to_string(const uint8_t(&buff)[SIZE], char separator=',', bool as_hex=false)
Definition: controller_event_serializer.h:11
static std::string serialized_data(const perc::TrackingData::ControllerDeviceConnect &c, uint8_t controller_id)
Definition: controller_event_serializer.h:108