ImagingTools Core SDK
IUserBaseInfo.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 <iser/IObject.h>
7
8// ImtCore includes
9#include <imtauth/IRole.h>
10#include <imtauth/IRoleInfoProvider.h>
11
12
13namespace imtauth
14{
15
16
17class IUserGroupInfoProvider;
18
23class IUserBaseInfo: virtual public iser::IObject
24{
25public:
26 typedef QList<QByteArray> FeatureIds;
27 typedef QList<QByteArray> RoleIds;
28
30 {
34 MIT_ID = idoc::IDocumentMetaInfo::MIT_USER + 1,
35
40
45
50
55
60
65 };
66
67
72
76 virtual const imtauth::IRoleInfoProvider* GetRoleProvider() const = 0;
77
81 virtual QByteArray GetId() const = 0;
82
86 virtual void SetId(const QByteArray& id) = 0;
87
91 virtual QString GetName() const = 0;
92
96 virtual void SetName(const QString& name) = 0;
97
101 virtual QString GetDescription() const = 0;
102
106 virtual void SetDescription(const QString& description) = 0;
107
111 virtual FeatureIds GetPermissions(const QByteArray& productId = QByteArray()) const = 0;
112
116 virtual FeatureIds GetLocalPermissions(const QByteArray& productId) const = 0;
117
121 virtual void SetLocalPermissions(const QByteArray& productId, const FeatureIds& permissions) = 0;
122
126 virtual FeatureIds GetProhibitions() const = 0;
127
131 virtual void SetProhibitions(const FeatureIds& prohibitions) = 0;
132
136 virtual QByteArrayList GetProducts() const = 0;
137
141 virtual bool RemoveProduct(const QByteArray& productId) = 0;
142
146 virtual RoleIds GetRoles(const QByteArray& productId) const = 0;
147
151 virtual void SetRoles(const QByteArray& productId, const RoleIds& roles) = 0;
152
156 virtual void AddRole(const QByteArray& productId, const QByteArray& roleId) = 0;
157
161 virtual bool RemoveRole(const QByteArray& productId, const QByteArray& roleId) = 0;
162
166 virtual const imtauth::IUserGroupInfoProvider* GetUserGroupProvider() const = 0;
167};
168
169
170} // namespace imtauth
171
172
virtual FeatureIds GetPermissions(const QByteArray &productId=QByteArray()) const =0
virtual QString GetDescription() const =0
virtual bool RemoveProduct(const QByteArray &productId)=0
virtual QString GetName() const =0
virtual void SetLocalPermissions(const QByteArray &productId, const FeatureIds &permissions)=0
virtual FeatureIds GetProhibitions() const =0
virtual void SetId(const QByteArray &id)=0
virtual void AddRole(const QByteArray &productId, const QByteArray &roleId)=0
virtual RoleIds GetRoles(const QByteArray &productId) const =0
virtual QByteArray GetId() const =0
virtual void SetName(const QString &name)=0
virtual QByteArrayList GetProducts() const =0
virtual void SetDescription(const QString &description)=0
virtual FeatureIds GetLocalPermissions(const QByteArray &productId) const =0
virtual const imtauth::IUserGroupInfoProvider * GetUserGroupProvider() const =0
virtual bool RemoveRole(const QByteArray &productId, const QByteArray &roleId)=0
virtual void SetRoles(const QByteArray &productId, const RoleIds &roles)=0
virtual const imtauth::IRoleInfoProvider * GetRoleProvider() const =0
virtual void SetProhibitions(const FeatureIds &prohibitions)=0
virtual const imtlic::IFeatureInfoProvider * GetPermissionProvider() const =0