ImagingTools Core SDK
CSingleCommandPermissionsProviderComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <ilog/TLoggerCompWrap.h>
7
8// ImtCore includes
9#include <imtserverapp/ICommandPermissionsProvider.h>
10
11
12namespace imtserverapp
13{
14
15
16class CSingleCommandPermissionsProviderComp :
17 public ilog::CLoggerComponentBase,
18 virtual public ICommandPermissionsProvider
19{
20public:
21 typedef ilog::CLoggerComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CSingleCommandPermissionsProviderComp);
24 I_REGISTER_INTERFACE(ICommandPermissionsProvider);
25 I_ASSIGN(m_commandIdAttrPtr, "CommandId", "ID of the command permission are requested for", true, "");
26 I_ASSIGN_MULTI_0(m_commandPermissionsAttrPtr, "CommandPermissions", "List of command permissons", true);
27 I_END_COMPONENT;
28
29 // reimplemented (imtgql::ICommandPermissionsProvider)
30 virtual LogicalCheckMode GetCommandPermissionCheckMode() const override;
31 virtual QByteArrayList GetCommandIds() const override;
32 virtual QByteArrayList GetCommandPermissions(const QByteArray& commandId) const override;
33
34protected:
35 I_ATTR(QByteArray, m_commandIdAttrPtr);
36 I_MULTIATTR(QByteArray, m_commandPermissionsAttrPtr);
37};
38
39
40} // namespace imtserverapp
41
42