#pragma once #include "SimCore/Identifier.hpp" #include "SimCore/Messages/SimTrack.hpp" #include "SimCore/SimCore.hpp" #include #include #include #include #include #include namespace TrackList { struct SensorData { SimCore::Identifier sensorID; // SimCore::Identifier SensorTrackID; std::string Sensorname; }; inline bool operator==(const SensorData& lhs, const SensorData& rhs) { return lhs.sensorID == rhs.sensorID; } class TracklistItem: public SimCore::SimTrack { public: TracklistItem(std::shared_ptr track,SensorData sensorData); TracklistItem(std::shared_ptr track); std::chrono::time_point getLastUpdateTimestamp(); void updateTrack(std::shared_ptr track,SensorData sensorData); void updateTrack(std::shared_ptr track); bool checkIfSensorIDIsIn(SimCore::Identifier SensorTrackID); bool isSensorIDKnown(SimCore::Identifier); void addSensorDataToSensorList(SensorData sensorData); size_t getSensorCount(); private: std::chrono::time_point lastUpdateTimestamp_; std::vector SensorList; bool isSensorinSensorlist(SensorData sensorData); }; }