ImagingTools Core SDK
CModelPublisherComp.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 <imtservergql/CGqlQueryBasedPublisherCompBase.h>
10
11
12namespace imtservergql
13{
14
15
22 public imod::TSingleModelObserverBase<istd::IChangeable>
23{
24public:
26
27 I_BEGIN_COMPONENT(CModelPublisherComp);
28 I_ASSIGN(m_modelCompPtr, "Model", "Observed data model. On changes of this data model the subscriber will be notified", true, "Model");
29 I_ASSIGN(m_useAwsStyle, "UseAwsStyleGraphQl", "Use AWS Stlye GraphQl subscriptions", true, true);
30 I_END_COMPONENT;
31
32protected:
33 // reimplemented (icomp::CComponentBase)
34 virtual void OnComponentCreated() override;
35 virtual void OnComponentDestroyed() override;
36
37 // reimplemented (imod::CSingleModelObserverBase)
38 virtual void OnUpdate(const istd::IChangeable::ChangeSet& changeSet) override;
39
40protected:
41 I_REF(imod::IModel, m_modelCompPtr);
42 I_ATTR(bool, m_useAwsStyle);
43};
44
45
46} // namespace imtservergql
47
48