ImagingTools Core SDK
ICollectionImportController.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/IPolymorphic.h>
7#include <iprm/IParamsSet.h>
8
9
10namespace imtservergql
11{
12
13
14class ICollectionImportController: virtual public istd::IPolymorphic
15{
16public:
17 struct FileInfo
18 {
19 QByteArray id;
20 QString name;
21 QString path; // Filled by CollectionImportController
22 int size;
23 QByteArray objectTypeId;
24 iprm::IParamsSetSharedPtr additionalParams;
25 };
26
27 struct SessionInfo
28 {
29 QByteArray sessionId;
30 QByteArray collectionId;
31 QByteArray userId;
32 std::vector<FileInfo> files;
33 iprm::IParamsSetSharedPtr additionalParams;
34 };
35
36 virtual bool BeginCollectionImportSession(const SessionInfo& sessionInfo, QString& errorMessage) = 0;
37 virtual bool CancelCollectionImportSession(const QByteArray& sessionId, QString& errorMessage) = 0;
38};
39
40
41} // namespace imtservergql
42
43