ImagingTools Core SDK
CSessionModelObserverComp.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#include <imod/TSingleModelObserverBase.h>
8
9// ImtCore includes
10#include <imtauth/ISessionChangeNotifier.h>
11
12
13namespace imtauthgql
14{
15
16
17class CSessionModelObserverComp:
18 public icomp::CComponentBase,
19 public imod::TSingleModelObserverBase<istd::IChangeable>
20{
21public:
22 typedef icomp::CComponentBase BaseClass;
23
24 I_BEGIN_COMPONENT(CSessionModelObserverComp);
25 I_ASSIGN(m_sessionChangeNotifierCompPtr, "SessionChangeNotifier", "Session change notifier", false, "SessionChangeNotifier");
26 I_ASSIGN(m_modelCompPtr, "Model", "Model", true, "Model");
27 I_END_COMPONENT;
28
29protected:
30 // reimplemented (icomp::CComponentBase)
31 virtual void OnComponentCreated() override;
32 virtual void OnComponentDestroyed() override;
33
34 // reimplemented (imod::CSingleModelObserverBase)
35 virtual void OnUpdate(const istd::IChangeable::ChangeSet& changeSet) override;
36
37private:
38 I_REF(imtauth::ISessionChangeNotifier, m_sessionChangeNotifierCompPtr);
39 I_REF(imod::IModel, m_modelCompPtr);
40};
41
42
43} // namespace imtauthgql
44
45
Authentication GraphQL API Layer Module.