ImagingTools Core SDK
CLoginStatusSubscriberControllerComp.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 <imod/TSingleModelObserverBase.h>
7
8// ImtCore includes
9#include <imtauth/ILoginStatusProvider.h>
10#include <imtservergql/CGqlPublisherCompBase.h>
11
12
13namespace imtauthgql
14{
15
16
17class CLoginStatusSubscriberControllerComp:
18 public imtservergql::CGqlPublisherCompBase,
19 public imod::TSingleModelObserverBase<istd::IChangeable>
20{
21public:
22 typedef imtservergql::CGqlPublisherCompBase BaseClass;
23 typedef imod::TSingleModelObserverBase<istd::IChangeable> BaseClass2;
24
25 I_BEGIN_COMPONENT(CLoginStatusSubscriberControllerComp);
26 I_ASSIGN(m_loginStatusProviderCompPtr, "LoginStatusProvider", "Login status provider", true, "LoginStatusProvider");
27 I_ASSIGN_TO(m_loginStatusModelCompPtr, m_loginStatusProviderCompPtr, true);
28 I_END_COMPONENT;
29
30protected:
31 // reimplemented (imtservergql::CGqlPublisherCompBase)
32 virtual bool RegisterSubscription(
33 const QByteArray& subscriptionId,
34 const imtgql::CGqlRequest& gqlRequest,
35 const imtrest::IRequest& networkRequest,
36 QString& errorMessage) override;
37
38 // reimplemented (imod::CSingleModelObserverBase)
39 virtual void OnUpdate(const istd::IChangeable::ChangeSet& changeSet) override;
40
41 // reimplemented (icomp::CComponentBase)
42 virtual void OnComponentCreated() override;
43 virtual void OnComponentDestroyed() override;
44
45protected:
46 I_REF(imtauth::ILoginStatusProvider, m_loginStatusProviderCompPtr);
47 I_REF(imod::IModel, m_loginStatusModelCompPtr);
48};
49
50
51} // namespace imtauthgql
52
53
Authentication GraphQL API Layer Module.