1 #ifndef CscRealEntityMessageHandler_h
2 #define CscRealEntityMessageHandler_h
13 using std::unordered_map, std::mutex, std::unique_lock;
47 optional<CscMessageHandlerResult> handleMessage(
const string &messageSubject,
const vector<string> &args, optional<int> knowledgeId,
ptr<CscMessagingRequestContext> context)
override;
51 static bool handleFullStatus(
const vector<string> *commandArguments);
52 static bool handleCurrentLidar(
const vector<string> &commandArguments);
53 static void sendPositionToEntity(
const CscPoint3dOriented *position,
const string &serialNumber,
const string &timeStampParams =
"");
55 static void sendLiveTargetForSlaveUpdate(
const CscPoint3d *position,
const string serialNumber,
float distance,
float altitudeToFollow);
56 static void sendSequenceStop(
const string &serialNumber);
70 inline static unordered_map<string, mutex> fullStatusHandlingMutexesBySerialNumber;
72 static void performStateFromFullstatus(
const vector<string> *commandArguments);
73 static void performAdditionalParamsFromFullstatus(
const vector<string> *commandArguments);
74 static CscPoint3dOriented *getXYZPositionFromFullstatus(
const vector<string> *commandArguments);
75 static CscPoint3dOriented *getGnssPositionFromFullstatus(
const vector<string> *commandArguments);