ImagingTools Core SDK
CRoleComp.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 <icomp/CComponentBase.h>
7
8// ImtCore includes
9#include <imtauth/CRole.h>
10
11
12namespace imtauth
13{
14
15
16class CRoleComp:
17 public icomp::CComponentBase,
18 public CIdentifiableRoleInfo
19{
20public:
21 typedef icomp::CComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CRoleComp);
24 I_REGISTER_INTERFACE(IRole);
25 I_REGISTER_INTERFACE(iser::ISerializable);
26 I_REGISTER_INTERFACE(imtauth::IRoleInfoProvider);
27 I_ASSIGN(m_parentRoleProviderCompPtr, "ParentRoleProvider", "Parent role provider", false, "ParentRoleProvider");
28 I_END_COMPONENT;
29
30protected:
31 // reimplemented (icomp::CComponentBase)
32 virtual void OnComponentCreated() override;
33 virtual void OnComponentDestroyed() override;
34
35private:
36 I_REF(imtauth::IRoleInfoProvider, m_parentRoleProviderCompPtr);
37};
38
39
40} // namespace imtauth
41
42