ImagingTools Core SDK
CSerializableObjectCollectionControllerComp.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// Qt includes
6#include <QtCore/QJsonObject>
7
8// ACF includes
9#include <iser/ISerializable.h>
10
11// ImtCore includes
12#include <imtservergql/CObjectCollectionControllerCompBase.h>
13
14
15namespace imtservergql
16{
17
18
19class CSerializableObjectCollectionControllerComp: public imtservergql::CObjectCollectionControllerCompBase
20{
21public:
22 typedef imtservergql::CObjectCollectionControllerCompBase BaseClass;
23
24 I_BEGIN_COMPONENT(CSerializableObjectCollectionControllerComp);
25 I_END_COMPONENT;
26
27protected:
28 virtual void CustomProcessObject(const imtgql::CGqlRequest& gqlRequest, iser::ISerializable& object) const;
29
30 bool SerializeObject(const istd::IPolymorphic* object, QByteArray& objectData) const;
31 bool DeSerializeObject(istd::IPolymorphic* object, const QByteArray& objectData) const;
32
33 // reimplemented (imtservergql::CObjectCollectionControllerCompBase)
34 virtual QJsonObject GetMetaInfo(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
35 virtual QJsonObject GetInfo(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
36 virtual QJsonObject GetDataMetaInfo(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
37 virtual QJsonObject GetObject(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
38 virtual istd::IChangeableUniquePtr CreateObjectFromRequest(const imtgql::CGqlRequest& gqlRequest, QByteArray &objectId, QString& errorMessage) const override;
39 virtual bool UpdateObjectFromRequest(const imtgql::CGqlRequest& gqlRequest, istd::IChangeable& object, QString& errorMessage) const override;
40 virtual QJsonObject ListObjects(const imtgql::CGqlRequest& gqlRequest, QString& errorMessage) const override;
41};
42
43
44} // namespace imtservergql
45
46
47
48
49