Adding JF 2.0 header mapping

This commit is contained in:
2018-03-15 10:06:44 +01:00
parent 047ce94899
commit 76ea5078d8
+22 -1
View File
@@ -124,6 +124,27 @@ shared_ptr<char> ZmqReceiver::get_value_from_json(const pt::ptree& json_header,
return shared_ptr<char>(buffer, default_delete<char[]>());
// TODO: This is so ugly I cannot even talk about it. Remove after production panic is over.
} else if (type == "JF2.0M_header") {
// 8 bytes (int64) * 4 values
char* buffer = new char[32];
size_t index = 0;
for (const auto& item : json_header.get_child(name)) {
auto value = item.second.get_value<int64_t>();
char* value_buffer = reinterpret_cast<char*>(&value);
// 8 bytes per value.
memcpy(buffer + (index * 8), value_buffer, 8);
++index;
}
return shared_ptr<char>(buffer, default_delete<char[]>());
} else {
// We cannot really convert this attribute.
stringstream error_message;
@@ -171,4 +192,4 @@ shared_ptr<FrameMetadata> ZmqReceiver::read_json_header(const string& header)
const shared_ptr<unordered_map<string, string>> ZmqReceiver::get_header_values_type() const{
return header_values_type;
}
}