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