ImagingTools Core SDK
ICollectionDataController.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/QString>
7
8// ACF includes
9#include <ifile/IFilePersistence.h>
10
11// ImtCore includes
12#include <imtbase/ICollectionInfo.h>
13
14
15namespace imtbase
16{
17
18
19class IObjectCollection;
20
21
26class ICollectionDataController: virtual public istd::IPolymorphic
27{
28public:
32 virtual const ifile::IFilePersistence* GetPersistenceForObjectType(const QByteArray& typeId) const = 0;
33
41 virtual bool ExportFile(
42 const imtbase::IObjectCollection& collection,
43 const ICollectionInfo::Id& objectId,
44 const QString& targetFilePath = QString()) const = 0;
45
54 virtual ICollectionInfo::Id ImportFile(
56 const QByteArray& typeId,
57 const QString& sourceFilePath = QString(),
58 const QString& objectName = QString()) const = 0;
59};
60
61
62} // namespace imtbase
63
64
virtual const ifile::IFilePersistence * GetPersistenceForObjectType(const QByteArray &typeId) const =0
virtual ICollectionInfo::Id ImportFile(imtbase::IObjectCollection &collection, const QByteArray &typeId, const QString &sourceFilePath=QString(), const QString &objectName=QString()) const =0
virtual bool ExportFile(const imtbase::IObjectCollection &collection, const ICollectionInfo::Id &objectId, const QString &targetFilePath=QString()) const =0