Files
qt5-legatus-legacy/Lts/Services/PresentationManagement/handler_presentation.h
T
2026-08-13 18:33:10 +02:00

64 lines
2.1 KiB
C++
Executable File

/**
* @RDE_HEADER@
* PRE Handler Presentations
* $Id$
* $HeadURL$
* $Author$
* Created by Iuliana Ojog, SLSE, 2016-11-26
*/
#pragma once
#include <QMap>
#include <QSet>
#include <PresentationManagement/pre_fts.h>
#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<int, ObjectPresentation *> 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<int, ObjectPresentation *> m_objectPresentationMap;
NGL::INGLLogger &m_logger;
};
}