diff --git a/PlatoonProtocol/include/PlatoonMessage.h b/PlatoonProtocol/include/PlatoonMessage.h index b82cc4e309d1d1fcd08e2379b5a356eaf14aeea5..b6824dcb359025fddb2109d84b6859c10b4540bb 100644 --- a/PlatoonProtocol/include/PlatoonMessage.h +++ b/PlatoonProtocol/include/PlatoonMessage.h @@ -36,6 +36,16 @@ inline bool isStandardMessageType(MessageType messageType) } +namespace jsonNames +{ + +constexpr char VEHICLE_ID[] = "vehicle_id"; +constexpr char PLATOON_ID[] = "platoon_id"; +constexpr char PLATOON_SPEED[] = "ps"; +constexpr char INNER_PLATOON_DISTANCE[] = "ips"; + +} + struct PlatoonMessage { static constexpr std::size_t MAX_SIZE = 256; @@ -116,13 +126,14 @@ struct Encoder<platoonProtocol::PlatoonMessage> data[i] = numDataBytes[i]; using json = nlohmann::json; - auto j = json{{"vehicleId", message.vehicleId}, - {"platoonId", message.platoonId}}; + using namespace jsonNames; + auto j = json{{VEHICLE_ID, message.vehicleId}, + {PLATOON_ID, message.platoonId}}; if (messageType == messageTypes::LV_BROADCAST) { - j["ps"] = message.platoonSpeed; - j["ipd"] = message.innerPlatoonDistance; + j[PLATOON_SPEED] = message.platoonSpeed; + j[INNER_PLATOON_DISTANCE] = message.innerPlatoonDistance; } data.append(j.dump()); @@ -150,13 +161,15 @@ struct Decoder<platoonProtocol::PlatoonMessage> throw 0; message.messageType = messageType; - message.vehicleId = j.at("vehicleId").get<VehicleId>(); - message.platoonId = j.at("platoonId").get<PlatoonId>(); + + using namespace jsonNames; + message.vehicleId = j.at(VEHICLE_ID).get<VehicleId>(); + message.platoonId = j.at(PLATOON_ID).get<PlatoonId>(); if (messageType == messageTypes::LV_BROADCAST) { - message.platoonSpeed = j.at("ps").get<PlatoonSpeed>(); - message.innerPlatoonDistance = j.at("ipd").get<InnerPlatoonDistance>(); + message.platoonSpeed = j.at(PLATOON_SPEED).get<PlatoonSpeed>(); + message.innerPlatoonDistance = j.at(INNER_PLATOON_DISTANCE).get<InnerPlatoonDistance>(); } }; };