1 #ifndef CscRealEntityMessageHandler_h
2 #define CscRealEntityMessageHandler_h
12 using std::unordered_map, std::mutex, std::unique_lock;
41 optional<CscMessageHandlerResult> handleMessage(
const string &messageSubject,
const vector<string> &args, optional<int> knowledgeId,
ptr<CscMessagingRequestContext> context)
override;
45 static bool handleFullStatus(
const vector<string> *commandArguments);
46 static bool handleCurrentLidar(
const vector<string> &commandArguments);
47 static void sendPositionToEntity(
const CscPoint3dOriented *position,
const string &serialNumber);
49 static void sendLiveTargetForSlaveUpdate(
const CscPoint3dOriented *position,
const string serialNumber,
float distance,
float altitudeToFollow);
50 static void sendSequenceStop(
const string &serialNumber);
63 inline static unordered_map<string, mutex> fullStatusHandlingMutexesBySerialNumber;
65 static void performStateFromFullstatus(
const vector<string> *commandArguments);
66 static void performAdditionalParamsFromFullstatus(
const vector<string> *commandArguments);
67 static CscPoint3dOriented *getXYZPositionFromFullstatus(
const vector<string> *commandArguments);
68 static CscPoint3dOriented *getGnssPositionFromFullstatus(
const vector<string> *commandArguments);