6#include <imtbase/TIdentifiableWrap.h>
7#include <imtauth/IUserGroupInfo.h>
8#include <imtauth/CUserBaseInfo.h>
15class CUserGroupInfo:
virtual public IUserGroupInfo,
public CUserBaseInfo
17 typedef CUserBaseInfo BaseClass;
23 virtual UserIds GetUsers()
const override;
24 virtual void SetUsers(
const UserIds& users)
override;
25 virtual void AddUser(
const QByteArray& userId)
override;
26 virtual bool RemoveUser(
const QByteArray& userId)
override;
27 virtual GroupIds GetParentGroups()
const override;
28 virtual bool AddParentGroup(
const QByteArray& parentGroupId)
override;
29 virtual bool RemoveParentGroup(
const QByteArray& parentGroupId)
override;
33 virtual RoleIds GetRoles(
const QByteArray& productId)
const override;
34 virtual FeatureIds GetPermissions(
const QByteArray& productId = QByteArray())
const override;
37 virtual bool Serialize(iser::IArchive &archive)
override;
40 virtual bool CopyFrom(
const IChangeable &
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
41 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
42 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
45 QByteArrayList GetParentGroups(
const QByteArray& groupId)
const;
46 void GetParentGroupList(
const IUserGroupInfo& userGroupInfo, QByteArrayList& groupList)
const;
49 IUserGroupInfo::UserIds m_userIds;
50 IUserGroupInfo::GroupIds m_parentGroupIds;
55typedef imtbase::TIdentifiableWrap<CUserGroupInfo> CIdentifiableUserGroupInfo;