ImagingTools Core SDK
IUserGroupInfo.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// ImtCore includes
6#include <imtauth/IUserBaseInfo.h>
7
8
9
10namespace imtauth
11{
12
13
14
15class IUserInfoProvider;
16
17
22class IUserGroupInfo: virtual public IUserBaseInfo
23{
24public:
25 typedef QByteArrayList UserIds;
26 typedef QByteArrayList GroupIds;
27
31 virtual UserIds GetUsers() const = 0;
32
36 virtual void SetUsers(const UserIds& users) = 0;
37
41 virtual void AddUser(const QByteArray& userId) = 0;
42
46 virtual bool RemoveUser(const QByteArray& userId) = 0;
47
51 virtual GroupIds GetParentGroups() const = 0;
52
56 virtual bool AddParentGroup(const QByteArray& parentGroupId) = 0;
57
61 virtual bool RemoveParentGroup(const QByteArray& parentGroupId) = 0;
62
66 virtual const imtauth::IUserInfoProvider* GetUserProvider() const = 0;
67};
68
69
70typedef istd::TUniqueInterfacePtr<IUserGroupInfo> IUserGroupInfoUniquePtr;
71typedef istd::TSharedInterfacePtr<IUserGroupInfo> IUserGroupInfoSharedPtr;
72
73
74} // namespace imtauth
75
76
virtual bool RemoveUser(const QByteArray &userId)=0
virtual UserIds GetUsers() const =0
virtual bool AddParentGroup(const QByteArray &parentGroupId)=0
virtual bool RemoveParentGroup(const QByteArray &parentGroupId)=0
virtual const imtauth::IUserInfoProvider * GetUserProvider() const =0
virtual void AddUser(const QByteArray &userId)=0
virtual void SetUsers(const UserIds &users)=0
virtual GroupIds GetParentGroups() const =0