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

58 lines
1.9 KiB
C++
Executable File

/**
* Handler for all Language HMI objects
* $Id$
* $HeadURL$
* $Author$
* Created by Hanna E. Rathje, SLSE, 2015-09-03
*/
#pragma once
#include <QMap>
#include "main_handler.h"
#include "logger.h"
namespace OperatorManagement
{
class ObjectGroup;
class HandlerGroup final
: protected Interface::Fts::GroupChangeMembershipsRequestHandler
, protected Interface::Fts::GroupChangeNameRequestHandler
, protected Interface::Fts::GroupCreateRequestHandler
, protected Interface::Fts::GroupRemoveRequestHandler
{
public:
explicit HandlerGroup(MainHandler *mainHandler);
~HandlerGroup();
bool init();
public:
Core::FunctionReplyObject changeMembership(const GroupChangeMembersRequest &request);
Core::FunctionReplyObject create(const GroupCreateRequest &request);
Core::FunctionReplyObject changeName(const GroupChangeNameRequest &request);
Core::FunctionReplyObject remove(const Core::RemoveElementRequest &request);
private:
void onGroupChangeMembershipsRequest(const rti::core::SampleIdentity &cookie,
const GroupChangeMembersRequest &request) override;
void onGroupCreateRequest(const rti::core::SampleIdentity &cookie,
const GroupCreateRequest &request) override;
void onGroupChangeNameRequest(const rti::core::SampleIdentity &cookie,
const GroupChangeNameRequest &request) override;
void onGroupRemoveRequest(const rti::core::SampleIdentity &cookie,
const Core::RemoveElementRequest &request) override;
void updateRolePresetId( const int operatorId, const int rolePresetId);
private:
QMap<int, ObjectGroup*> m_groupObjMap;
QMultiMap<int, int> m_groupGroupMap;
QMultiMap<int, int> m_aclAllowMap;
QMultiMap<int, int> m_aclDenyMap;
MainHandler *m_mainHandler;
NGL::INGLLogger &m_logger;
};
}