ImagingTools Core SDK
CParamSetRepresentationController.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// ImtCore includes
6#include <imtserverapp/TJsonRepresentationControllerWrap.h>
7#include <GeneratedFiles/imtbasesdl/SDL/1.0/CPP/Settings.h>
8
9
10namespace imtserverapp
11{
12
13
14class CParamSetRepresentationController: public imtserverapp::TJsonRepresentationControllerWrap<sdl::imtbase::ImtBaseTypes::CParamsSet::V1_0>
15{
16public:
17 // reimplemented (imtserverapp::TJsonRepresentationControllerCompWrap<sdl::imtbase::ImtBaseTypes::CParamsSet>)
18 virtual QByteArray GetTypeId() const override;
19 virtual bool IsModelSupported(const istd::IChangeable& dataModel) const override;
20 virtual bool GetSdlRepresentationFromDataModel(
21 sdl::imtbase::ImtBaseTypes::CParamsSet::V1_0& sdlRepresentation,
22 const istd::IChangeable& dataModel,
23 const iprm::IParamsSet* paramsPtr = nullptr) const override;
24 virtual bool GetDataModelFromSdlRepresentation(
25 istd::IChangeable& dataModel,
26 const sdl::imtbase::ImtBaseTypes::CParamsSet::V1_0& sdlRepresentation) const override;
27
28 bool RegisterSubController(const imtserverapp::IJsonRepresentationController& controller) const;
29
30private:
31 mutable QMap<QByteArray, const imtserverapp::IJsonRepresentationController*> m_representationControllersMap;
32};
33
34
35} // namespace imtserverapp
36
37