/** * The PartyHandler class manages all party related function topics and holds classes for * further party data. * $Id$ * $HeadURL$ * $Author$ * Created by Hannes Baeuerle, SLSE, 2016-05-12 */ #pragma once #include #include "PartyHandling/party_donator.h" #include #include "logger.h" #include "ppm_db.h" namespace ParticipantManagement { class MainHandler; namespace PartyHandling { class Party; class PartyHandler final : public PartyDonator , protected Interface::Fts::ModifyPartyDataRequestHandler , protected Interface::Fts::RemovePartyRequestHandler , protected Interface::Fts::SyncPartiesRequestHandler , protected Interface::Fts::ChangePartyUsedStateRequestHandler { public: explicit PartyHandler(MainHandler *mainHandler); ~PartyHandler(); Party *partyById(int32_t partyId) const override; bool init(); void resetAdlerProperties(QString &properties, const int partyId); Core::FunctionReplyObject changePartyUsedStateRequest(const ChangePartyUsedStateRequest &request); protected: void onChangePartyUsedStateRequest(const rti::core::SampleIdentity &cookie, const ChangePartyUsedStateRequest &request) override; void onModifyPartyDataRequest(const rti::core::SampleIdentity &cookie, const ParticipantManagement::Party &request) override; Core::FunctionReplyObject modifyPartyDataRequest(const ParticipantManagement::Party &request); void onRemovePartyRequest(const rti::core::SampleIdentity &cookie, const RemovePartyRequest &request) override; Core::FunctionReplyObject removePartyRequest(const RemovePartyRequest &request); Core::FunctionReplyObject removeParty(Party *partyToDelete); void onSyncPartiesRequest(const rti::core::SampleIdentity &cookie, const SyncPartiesRequest &request) override; private: QVector loadDefaultParties(bool withInsert) const; private: MainHandler *m_mainHandler; QHash m_parties; // LOGGER_T m_logger; }; } // namespace PartyHandling } // namespace ParticipantManagement