/** * MainHandler for ParticipantManagement * $Id$ * $HeadURL$ * $Author$ * Created by Hannes Baeuerle, SLSE, 19.05.2016 */ #pragma once #include #include #include "BiteHandling/bite_handler.h" #include "EquipmentEventHandling/equipment_event_handler.h" #include "ParticipantHandling/get_participants.h" #include "ParticipantHandling/participant_handler.h" #include "ParticipantHandling/participant_handler_for_exercise.h" #include "PartyHandling/party_handler.h" #include "TargetHandling/handler_target_information.h" #include "TemplateHandling/template_handler.h" #include "TypeHandling/type_handler.h" #include "dds_handler.h" #include "logger.h" #include "ppm_db.h" #include #include #include #include #include namespace NGLDB { template class DbServiceHandler; } namespace ParticipantManagement { namespace UasHandling { class UasHandler; class MissionPlanHandler; } // namespace UasHandling namespace WebSocketInterface { class WebSocketInterfaceHandler; } using DbHandler = NGLDB::DbServiceHandler; class MainHandler final : public ParticipantHandling::BaseDataProvider { public: explicit MainHandler(); ~MainHandler(); bool init(int domainId, int exerciseId); std::shared_ptr dts() const override { return m_ddsHandler->dts(); } std::shared_ptr fts() const { return m_ddsHandler->fts(); } std::shared_ptr exAnyDts() const { return m_ddsHandler->exAnyDts(); } std::shared_ptr exAnyFts() const { return m_ddsHandler->exAnyFts(); } std::shared_ptr pdmDtc() const override { return m_ddsHandler->pdmDtc(); } std::shared_ptr dds() const { return m_ddsHandler->dds(); } std::shared_ptr ddsHandler() const { return m_ddsHandler; } std::shared_ptr db() const; std::shared_ptr dbEx0() const; std::shared_ptr typeHandler() const { return m_typeHandler; } std::shared_ptr tabFtc() const { return m_tabFtc; } std::shared_ptr tabDtc() const { return m_tabDtc; } std::shared_ptr aesFtc() const { return m_aesFtc; } std::shared_ptr participantHandler() const { return m_participantHandler; } std::shared_ptr targetInformationHandler() const { return m_targetInformationHandler; } std::shared_ptr biteHandler() const { return m_biteHandler; } std::shared_ptr templateHandler() const { return m_templateHandler; } std::shared_ptr partyHandler() const { return m_partyHandler; } std::shared_ptr equipmentEventHandler() const { return m_equipmentEventHandler; } std::shared_ptr missionPlanHandler() const { return m_missionPlanHandler; } int exerciseId() const { return dds()->getPartitionId(); } qint64 currentTimeMSec() const override; private: // attributes std::shared_ptr m_ddsHandler; std::shared_ptr m_dbHandler; std::shared_ptr m_dbHandlerEx0; std::shared_ptr m_typeHandler; std::shared_ptr m_tabFtc; std::shared_ptr m_tabDtc; std::shared_ptr m_aesFtc; std::shared_ptr m_participantHandler; std::shared_ptr m_targetInformationHandler; std::shared_ptr m_biteHandler; std::shared_ptr m_templateHandler; std::shared_ptr m_partyHandler; std::shared_ptr m_getParticipants; std::shared_ptr m_equipmentEventHandler; std::shared_ptr m_websocketHandler; std::shared_ptr m_uasHandler; std::shared_ptr m_missionPlanHandler; LOGGER_T m_logger; }; } // namespace ParticipantManagement