6#include <imtbase/TIdentifiableWrap.h>
7#include <imtauth/IRole.h>
14class CRole:
virtual public IRole
23 virtual const IRoleInfoProvider* GetParentRolesProvider()
const override;
25 virtual QByteArray GetRoleId()
const override;
26 virtual void SetRoleId(
const QByteArray&
id)
override;
27 virtual QString GetRoleName()
const override;
28 virtual void SetRoleName(
const QString& name)
override;
29 virtual QString GetRoleDescription()
const override;
30 virtual void SetRoleDescription(
const QString& description)
override;
31 virtual IRole::FeatureIds GetPermissions()
const override;
32 virtual IRole::FeatureIds GetLocalPermissions()
const override;
33 virtual void SetLocalPermissions(
const IRole::FeatureIds& permissions)
override;
34 virtual IRole::FeatureIds GetProhibitions()
const override;
35 virtual void SetProhibitions(
const IRole::FeatureIds& prohibitions)
override;
36 virtual QByteArrayList GetIncludedRoles()
const override;
37 virtual QByteArray GetProductId()
const override;
38 virtual void SetProductId(
const QByteArray& productId)
override;
39 virtual bool IncludeRole(
const QByteArray& roleId)
override;
40 virtual void ExcludeRole(
const QByteArray& roleId)
override;
41 virtual bool IsDefault()
const override;
42 virtual void SetDefault(
bool isDefault)
override;
43 virtual bool IsGuest()
const override;
44 virtual void SetGuest(
bool isGuest)
override;
47 virtual bool Serialize(iser::IArchive& archive)
override;
50 virtual int GetSupportedOperations()
const override;
51 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
52 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
53 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
56 QByteArrayList GetParentRoles(
const QByteArray& roleId)
const;
57 void GetParentRoleList(
const IRole& role, QByteArrayList& roleList)
const;
64 QByteArray m_productId;
66 QString m_roleDescription;
67 IRole::FeatureIds m_rolePermissions;
68 IRole::FeatureIds m_roleRestrictions;
69 QByteArrayList m_parents;
77typedef imtbase::TIdentifiableWrap<CRole> CIdentifiableRoleInfo;