/** * @RDE_HEADER@ * PRE Handler Presentations * $Id$ * $HeadURL$ * $Author$ * Created by Iuliana Ojog, SLSE, 2016-11-26 */ #pragma once #include #include #include #include "logger.h" //------------------------------------------------------------------------------------------------------------- namespace PresentationManagement { class ObjectPresentation; class Initialization; class HandlerPresentation final : protected Interface::Fts::PresentationModifyRequestHandler , protected Interface::Fts::PresentationRemoveRequestHandler , protected Interface::Fts::GetPresentationContentRequestHandler , protected Interface::Fts::PresentationChangeStatusRequestHandler { public: explicit HandlerPresentation(Initialization *mainHandler); ~HandlerPresentation(); bool init(); QMap getPresenstationsMap() const { return m_objectPresentationMap; } ObjectPresentation *getPresentation(int presentationId) { return m_objectPresentationMap.value(presentationId); } private: void onPresentationModifyRequest(const rti::core::SampleIdentity &cookie, const PresentationModifyRequest &request) override; Core::FunctionReplyObject presentationCreateRequest(const PresentationModifyRequest &request); Core::FunctionReplyObject presentationModifyRequest(const PresentationModifyRequest &request); void onPresentationRemoveRequest(const rti::core::SampleIdentity &cookie, const Core::RemoveElementRequest &request) override; void onGetPresentationContentRequest(const rti::core::SampleIdentity &cookie, const GetPresentationContentRequest &request) override; void onPresentationChangeStatusRequest(const rti::core::SampleIdentity &cookie, const PresentationChangeStatusRequest &request) override; private: Initialization *m_mainHandler; QMap m_objectPresentationMap; NGL::INGLLogger &m_logger; }; }