ImagingTools Core SDK
CClientRequestUserInfoProviderComp.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/IUserInfoProvider.h>
10#include <imtclientgql/TClientRequestManagerCompWrap.h>
11#include <imtauthgql/CUserRepresentationController.h>
12
13
14namespace imtauthgql
15{
16
17
18class CClientRequestUserInfoProviderComp:
19 virtual public imtauth::IUserInfoProvider,
20 public imtclientgql::CClientRequestManagerCompBase
21{
22public:
23 typedef imtclientgql::CClientRequestManagerCompBase BaseClass;
24
25 I_BEGIN_COMPONENT(CClientRequestUserInfoProviderComp);
26 I_REGISTER_INTERFACE(imtauth::IUserInfoProvider);
27 I_ASSIGN(m_applicationInfoCompPtr, "ApplicationInfo", "Application info", true, "ApplicationInfo");
28 I_ASSIGN(m_userFactoryCompPtr, "UserFactory", "User factory", true, "UserFactory");
29 I_END_COMPONENT;
30
31protected:
32 // reimplemented (imtauth::IUserInfoProvider)
33 virtual const imtbase::ICollectionInfo& GetUserList() const override;
34 virtual imtauth::IUserInfoUniquePtr GetUser(const QByteArray& userId, const iprm::IParamsSet* paramsPtr) const override;
35
36protected:
37 I_REF(ibase::IApplicationInfo, m_applicationInfoCompPtr);
38 I_FACT(imtauth::IUserInfo, m_userFactoryCompPtr);
39
40private:
41 imtauthgql::CUserRepresentationController m_userRepresentationController;
42};
43
44
45} // namespace imtauthgql
46
47
Authentication GraphQL API Layer Module.