ImagingTools Core SDK
CCollectionImportParam.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// ImtCore includes
6#include <imtcol/ICollectionImportParam.h>
7
8// Qt includes
9#include <QtCore/QVector>
10
11
12namespace imtcol
13{
14
15
16class CCollectionImportParam: virtual public ICollectionImportParam
17{
18public:
19 // reimplemented (imtcol::ICollectionImportParam)
20 virtual QByteArray GetCollectionId() const override;
21 virtual bool SetCollectionId(const QByteArray& collectionId) override;
22
23 virtual int GetFileCount() const override;
24 virtual FileImportInfo* GetFileImportInfo(int index) const override;
25 virtual bool InsertFileImportInfo(const FileImportInfo& info, int index = -1) override;
26 virtual bool RemoveFileImportInfo(int index) override;
27
28 // reimplemented (iser::ISerializable)
29 virtual bool Serialize(iser::IArchive& archive) override;
30
31 // reimplemented (istd::IChangeable)
32 virtual int GetSupportedOperations() const override;
33 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
34 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
35 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
36
37private:
38 QByteArray m_collectionId;
39 mutable QVector<FileImportInfo> m_fileImportInfos;
40};
41
42
43} // namespace imtcol
44
45