#pragma once

#include "SimCore/Identifier.hpp"
#include "SimCore/Messages/Protos/SensorTrack.pb.h"
#include "SimCore/SimCore.hpp"
#include "WHISPER/Messages/Message.hpp"
#include <SimCore/Messages/ESMTrack.hpp>

#include <memory>


namespace SimCore 
{

    class SensorTrack : public WHISPER::Message
    {
        private:

            /// ID of the object
            SimCore::Identifier ID_;



        protected:


            void setID(SimCore::Identifier id);


            /// message object from google protobuf
            messages::track::SensorTrack sensorTrackMessage_;
        
        public:
            SensorTrack();
            SensorTrack(WHISPER::Message receivedMessageObj);

            SensorTrack(WHISPER::SourceType src,SimCore::Identifier id,SimCore::TrackKind trackkind);

            SimCore::TrackKind trackKind_ = UNKNOWN_TRACK;

            SimCore::Identifier getID();


    };


}