ImagingTools Core SDK
IRepresentationController.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 <istd/IChangeable.h>
7#include <iprm/IParamsSet.h>
8
9// Qt includes
10#include <QtCore/QJsonObject>
11
12
13namespace imtserverapp
14{
15
16
17class IRepresentationController: virtual public istd::IPolymorphic
18{
19public:
20 virtual QByteArray GetModelId() const = 0;
21 virtual bool IsModelSupported(const istd::IChangeable& dataModel) const = 0;
22 virtual bool GetRepresentationFromDataModel(
23 const istd::IChangeable& dataModel,
24 QJsonObject& representation,
25 const iprm::IParamsSet* paramsPtr = nullptr) const = 0;
26 virtual bool GetDataModelFromRepresentation(
27 const QJsonObject& representation,
28 istd::IChangeable& dataModel) const = 0;
29};
30
31
32} // namespace imtserverapp
33