ImagingTools Core SDK
CClientRequestRoleInfoProviderComp.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 <ibase/IApplicationInfo.h>
7
8// ImtCore includes
9#include <imtauth/IRoleInfoProvider.h>
10#include <imtclientgql/TClientRequestManagerCompWrap.h>
11
12
13namespace imtauthgql
14{
15
16
17class CClientRequestRoleInfoProviderComp:
18 virtual public imtauth::IRoleInfoProvider,
19 public imtclientgql::CClientRequestManagerCompBase
20{
21public:
22 typedef imtclientgql::CClientRequestManagerCompBase BaseClass;
23
24 I_BEGIN_COMPONENT(CClientRequestRoleInfoProviderComp);
25 I_REGISTER_INTERFACE(imtauth::IRoleInfoProvider);
26 I_ASSIGN(m_applicationInfoCompPtr, "ApplicationInfo", "Application info", true, "ApplicationInfo");
27 I_ASSIGN(m_roleFactoryCompPtr, "RoleFactory", "Role factory", true, "RoleFactory");
28 I_END_COMPONENT;
29
30protected:
31 // reimplemented (imtauth::IRoleInfoProvider)
32 virtual const imtbase::ICollectionInfo& GetRoleList() const override;
33 virtual imtauth::IRoleUniquePtr GetRole(const QByteArray& objectId, const iprm::IParamsSet* paramsPtr = nullptr) const override;
34
35protected:
36 I_REF(ibase::IApplicationInfo, m_applicationInfoCompPtr);
37 I_FACT(imtauth::IRole, m_roleFactoryCompPtr);
38};
39
40
41} // namespace imtauthgql
42
43
Authentication GraphQL API Layer Module.