ImagingTools Core SDK
CFileCollectionItem.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 <imtbase/CObjectCollectionMetaInfo.h>
7#include <imtrepo/IFileCollectionItem.h>
8
9
10namespace imtrepo
11{
12
13
18{
19public:
22 const QString& repositoryFolderPath,
23 int repositoryRevision,
24 const QByteArray& fileId = QByteArray(),
25 const QByteArray& typeId = QByteArray(),
26 const QString& filePath = QString(),
27 const QString& name = QString(),
28 idoc::MetaInfoPtr contentsMetaInfoPtr = idoc::MetaInfoPtr());
29
30 bool SetCollectionMetaInfo(int metaInfoType, const QVariant& value);
31 bool SetContentsMetaInfo(idoc::MetaInfoPtr metaInfoPtr);
32 void SetObjectName(const QString& name);
33 void SetPathInRepository(const QString& path);
34 void SetFileId(const QByteArray& fileId);
35 void SetRepositoryRevision(int revision);
36
37 // reimplemented (IFileCollectionItem)
38 virtual QByteArray GetFileId() const override;
39 virtual QString GetFilePath() const override;
40 virtual QString GetName() const override;
41 virtual QByteArray GetTypeId() const override;
42 virtual const idoc::IDocumentMetaInfo& GetCollectionMetaInfo() const override;
43 virtual idoc::MetaInfoPtr GetContentsMetaInfo() const override;
44 virtual int GetRepositoryRevision() const override;
45
46 // reimplement (iser::ISerializable)
47 virtual bool Serialize(iser::IArchive& archive) override;
48
49 // reimplement (istd::IChangeable)
50 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
51
52private:
56 QByteArray m_fileId;
57
61 QString m_filePathInRepository;
62
66 QString m_objectName;
67
71 QByteArray m_typeId;
72
76 int m_repositoryRevision;
77
81 imtbase::CObjectCollectionMetaInfo m_metaInfo;
82
86 idoc::MetaInfoPtr m_contentsMetaInfoPtr;
87
91 QString m_repositoryFolderPath;
92};
93
94
95} // namespace imtrepo
96
97