58 lines
1.9 KiB
C++
Executable File
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;
|
|
|
|
};
|
|
}
|