ImagingTools Core SDK
CParamsRepresentationControllerComp.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#include <iprm/CParamsSet.h>
8#include <iqt/ITranslationManager.h>
9
10// ImtCore includes
11#include <imtserverapp/IJsonRepresentationController.h>
12#include <GeneratedFiles/imtbasesdl/SDL/1.0/CPP/ImtBaseTypes.h>
13
14
15namespace imtserverapp
16{
17
18
19class CParamsRepresentationControllerComp:
20 public ilog::CLoggerComponentBase,
21 virtual public IJsonRepresentationController
22{
23public:
24 typedef ilog::CLoggerComponentBase BaseClass;
25
26 I_BEGIN_COMPONENT(CParamsRepresentationControllerComp)
27 I_REGISTER_INTERFACE(IJsonRepresentationController);
28 I_ASSIGN_MULTI_0(m_slaveControllersCompPtr, "SlaveRepresentationControllers", "Slave param representation controllers", false);
29 I_ASSIGN(m_translationManagerCompPtr, "TranslationManager", "Translation manager", false, "TranslationManager");
30 I_END_COMPONENT;
31
32protected:
33 // reimplemented (imtserverapp::TJsonRepresentationControllerCompWrap<sdl::imtbase::ImtBaseTypes::CSchedulerParam::V1_0>)
34 virtual RepresentationInfo GetRepresentationInfo() const override;
35 virtual QByteArray GetTypeId() const override;
36 virtual bool IsModelSupported(const istd::IChangeable &dataModel) const override;
37 virtual bool GetRepresentationFromDataModel(
38 const istd::IChangeable& dataModel,
39 QJsonObject& representation,
40 const iprm::IParamsSet* paramsPtr = nullptr) const override;
41 virtual bool GetDataModelFromRepresentation(
42 const QJsonObject& representation,
43 istd::IChangeable& dataModel) const override;
44
45 // reimplemented (icomp::CComponentBase)
46 virtual void OnComponentCreated() override;
47
48private:
49 IJsonRepresentationController* GetRepresentationController(const istd::IChangeable& dataModel) const;
50 bool ParamsSetModelToSdl(
51 const iprm::IParamsSet& model,
52 sdl::imtbase::ImtBaseTypes::CParamsSet::V1_0& sdl,
53 const iprm::IParamsSet* paramsPtr) const;
54 bool ParamsSetSdlToModel(
55 const sdl::imtbase::ImtBaseTypes::CParamsSet::V1_0& sdl,
56 iprm::IParamsSet& model,
57 const iprm::IParamsSet* paramsPtr) const;
58
59private:
60 I_MULTIREF(IJsonRepresentationController, m_slaveControllersCompPtr);
61 I_REF(iqt::ITranslationManager, m_translationManagerCompPtr);
62
63 iprm::CParamsSet dummyParamsSet;
64 //CParamSetRepresentationController2 m_paramsSetController;
65};
66
67
68} // namespace imtserverapp
69
70