ImagingTools Core SDK
CSqliteDatabaseDocumentDelegateComp.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 <imtdb/CSqlDatabaseDocumentDelegateComp.h>
7
8
9namespace imtdb
10{
11
12
13class CSqliteDatabaseDocumentDelegateComp: public imtdb::CSqlDatabaseDocumentDelegateComp
14{
15public:
16 typedef imtdb::CSqlDatabaseDocumentDelegateComp BaseClass;
17
18 I_BEGIN_COMPONENT(CSqliteDatabaseDocumentDelegateComp)
19 I_END_COMPONENT
20
21 // reimplemented (imtdb::CSqlDatabaseDocumentDelegateComp)
22 virtual QByteArray GetSelectionQuery(
23 const QByteArray& objectId = QByteArray(),
24 int offset = 0,
25 int count = -1,
26 const iprm::IParamsSet* paramsPtr = nullptr) const override;
27 virtual QString GetBaseSelectionQuery() const override;
28 virtual QByteArray CreateJsonBuildObjectQuery(const QVariantMap& paramMap) const override;
29 virtual bool CreatePaginationQuery(int offset, int count, QByteArray& paginationQuery) const override;
30 virtual bool CreateTimeFilterQuery(const imtbase::ITimeFilterParam& timeFilter, QString& timeFilterQuery, const QString& fieldId = QString()) const override;
31 virtual bool CreateObjectFilterQuery(const imtbase::IComplexCollectionFilter& collectionFilter, QString& filterQuery) const override;
32 QByteArray GetObjectSelectionQuery(const QByteArray& objectId, const iprm::IParamsSet* paramsPtr) const override;
33};
34
35
36} // namespace imtdb
37
38
Database Abstraction Layer (ORM Framework) for ImtCore applications.