ImagingTools Core SDK
COperationContextControllerComp.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 <ilog/TLoggerCompWrap.h>
7
8// ImtCore includes
9#include <imtbase/IDocumentChangeGenerator.h>
10#include <imtbase/IOperationContextController.h>
11
12
13namespace imtservergql
14{
15
16
17class COperationContextControllerComp:
18 public ilog::CLoggerComponentBase,
19 virtual public imtbase::IOperationContextController
20{
21public:
22 typedef ilog::CLoggerComponentBase BaseClass;
23
24 I_BEGIN_COMPONENT(COperationContextControllerComp)
25 I_REGISTER_INTERFACE(imtbase::IOperationContextController);
26 I_ASSIGN(m_documentChangeGeneratorCompPtr, "DocumentChangeGenerator", "Change generator for the collection object", true, "DocumentChangeGenerator");
27 I_END_COMPONENT;
28
29protected:
30 // reimplemented (imtbase::IOperationContextController)
31 virtual imtbase::IOperationContext* CreateOperationContext(
32 const QByteArray& operationTypeId,
33 const QByteArray& objectId,
34 const istd::IChangeable* objectPtr = nullptr,
35 const iprm::IParamsSet* paramsPtr = nullptr) override;
36protected:
37 I_REF(imtbase::IDocumentChangeGenerator, m_documentChangeGeneratorCompPtr);
38};
39
40
41} // namespace imtservergql
42
43