ImagingTools Core SDK
CSqlDatabaseCollectionStructureIterator.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 <QtSql/QtSql>
7
8// ImtCore includes
9#include <imtbase/IHierarchicalStructureIterator.h>
10#include <imtdb/ISqlDatabaseObjectDelegate.h>
11
12
13namespace imtdb
14{
15
16
22{
23 typedef imtbase::IObjectCollection::DataPtr DataPtr;
24public:
25 CSqlDatabaseCollectionStructureIterator(QSqlQuery& sqlQuery);
26
27 // reimplemented (imtbase::IObjectCollectionIterator)
28 virtual bool Next() override;
29 virtual bool Previous() override;
30 virtual imtbase::IHierarchicalStructureInfo::Id GetNodeId() const override;
31 virtual imtbase::IHierarchicalStructureInfo::ItemInfo GetItemInfo() const override;
32 virtual int GetItemCount() const override;
33private:
34 QList<QSqlRecord> m_records;
35
36 int m_currentIndex;
37};
38
39
40} // namespace imtdb
41
42
Database Abstraction Layer (ORM Framework) for ImtCore applications.