ImagingTools Core SDK
CFileObjectCollectionIterator.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// ImtCore includes
5#include <imtbase/IObjectCollectionIterator.h>
6#include <imtrepo/IFileObjectCollection.h>
7
8
9namespace imtrepo
10{
11
12
18{
19 typedef imtbase::IObjectCollection::DataPtr DataPtr;
20public:
22
23 // reimplemented (imtbase::IObjectCollectionIterator)
24 virtual bool Next() const override;
25 virtual bool Previous() const override;
26 virtual QByteArray GetObjectId() const override;
27 virtual QByteArray GetObjectTypeId() const override;
28 virtual bool GetObjectData(imtbase::IObjectCollection::DataPtr& dataPtr) const override;
29 virtual idoc::MetaInfoPtr GetDataMetaInfo() const override;
30 virtual int GetElementsCount() const override;
31 virtual idoc::MetaInfoPtr GetCollectionMetaInfo() const override;
32 virtual QVariant GetElementInfo(int infoType) const override;
33 virtual QVariant GetElementInfo(QByteArray infoId) const override;
34private:
35
36 IFileObjectCollection* m_fileObjectCollectionPtr;
37
38 mutable int m_currentIndex;
39};
40
41
42} // namespace imtrepo
43