6#include <iqt/ITranslationManager.h>
9#include <imtserverapp/IJsonRepresentationController.h>
16template<
class SdlClass>
17class TJsonRepresentationControllerWrap:
virtual public IJsonRepresentationController
20 virtual RepresentationInfo GetRepresentationInfo()
const override;
21 virtual bool GetRepresentationFromDataModel(
22 const istd::IChangeable& dataModel,
23 QJsonObject& representation,
24 const iprm::IParamsSet* paramsPtr =
nullptr)
const override;
25 virtual bool GetDataModelFromRepresentation(
26 const QJsonObject& representation,
27 istd::IChangeable& dataModel)
const override;
30 virtual bool GetSdlRepresentationFromDataModel(SdlClass& sdlRepresentation,
const istd::IChangeable& dataModel,
const iprm::IParamsSet* paramsPtr =
nullptr)
const = 0;
31 virtual bool GetDataModelFromSdlRepresentation(istd::IChangeable& dataModel,
const SdlClass& sdlRepresentation)
const = 0;
36 QString m_description;
37 iqt::ITranslationManager* m_translationManagerPtr =
nullptr;
41template<
class SdlClass>
42IJsonRepresentationController::RepresentationInfo TJsonRepresentationControllerWrap<SdlClass>::GetRepresentationInfo()
const
44 RepresentationInfo representationInfo;
45 representationInfo.modelId = m_modelId;
46 representationInfo.name = m_name;
47 representationInfo.description = m_description;
49 return representationInfo;
53template<
class SdlClass>
54bool TJsonRepresentationControllerWrap<SdlClass>::GetRepresentationFromDataModel(
55 const istd::IChangeable& dataModel,
56 QJsonObject& representation,
57 const iprm::IParamsSet* paramsPtr)
const
59 if (!IsModelSupported(dataModel)){
64 if (!GetSdlRepresentationFromDataModel(sdlClass, dataModel, paramsPtr)){
68 return sdlClass.WriteToJsonObject(representation);
72template<
class SdlClass>
73bool TJsonRepresentationControllerWrap<SdlClass>::GetDataModelFromRepresentation(
74 const QJsonObject& representation,
75 istd::IChangeable& dataModel)
const
77 if (!IsModelSupported(dataModel)){
82 if (!sdlClass.ReadFromJsonObject(representation)){
86 return GetDataModelFromSdlRepresentation(dataModel, sdlClass);