ImagingTools Core SDK
CTestDatabaseDelegateComp.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/CSqlDatabaseObjectDelegateCompBase.h>
7#include <imttest/ITestInfo.h>
8
9
10namespace imttest
11{
12
13
14class CTestDatabaseDelegateComp: public imtdb::CSqlDatabaseObjectDelegateCompBase
15{
16public:
17 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
18
19 I_BEGIN_COMPONENT(CTestDatabaseDelegateComp)
20 I_ASSIGN(m_testFactCompPtr, "TestInfo", "Factory used for creation of the new test", true, "TestInfo");
21 I_END_COMPONENT
22
23 // reimplemented (imtdb::ISqlDatabaseObjectDelegate)
24 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(const QSqlRecord& record, const iprm::IParamsSet* dataConfigurationPtr = nullptr) const override;
25 virtual NewObjectQuery CreateNewObjectQuery(
26 const QByteArray& typeId,
27 const QByteArray& proposedObjectId,
28 const QString& objectName,
29 const QString& objectDescription,
30 const istd::IChangeable* valuePtr,
31 const imtbase::IOperationContext* operationContextPtr) const override;
32 virtual QByteArray CreateDeleteObjectsQuery(
33 const imtbase::IObjectCollection& collection,
34 const QByteArrayList& objectIds,
35 const imtbase::IOperationContext* operationContextPtr) const override;
36 virtual QByteArray CreateDeleteObjectSetQuery(
37 const imtbase::IObjectCollection& collection,
38 const iprm::IParamsSet* paramsPtr = nullptr,
39 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
40 virtual QByteArray CreateUpdateObjectQuery(
41 const imtbase::IObjectCollection& collection,
42 const QByteArray& objectId,
43 const istd::IChangeable& object,
44 const imtbase::IOperationContext* operationContextPtr,
45 bool useExternDelegate = true) const override;
46 virtual QByteArray CreateRenameObjectQuery(
47 const imtbase::IObjectCollection& collection,
48 const QByteArray& objectId,
49 const QString& newObjectName,
50 const imtbase::IOperationContext* operationContextPtr) const override;
51 virtual QByteArray CreateDescriptionObjectQuery(
52 const imtbase::IObjectCollection& collection,
53 const QByteArray& objectId,
54 const QString& description,
55 const imtbase::IOperationContext* operationContextPtr) const override;
56 virtual QByteArray CreateDataMetaInfoQuery(
57 const imtbase::IObjectCollection& collection,
58 const QByteArray& objectId,
59 const idoc::IDocumentMetaInfo* dataMetaInfoPtr) const override;
60 virtual QByteArray CreateCollectionItemMetaInfoQuery(
61 const imtbase::IObjectCollection& collection,
62 const QByteArray& objectId,
63 const idoc::IDocumentMetaInfo* collectionItemMetaInfoPtr) const override;
64protected:
65
66 // reimplemented (imtdb::CSqlDatabaseObjectDelegateCompBase)
67 virtual idoc::MetaInfoPtr CreateObjectMetaInfo(const QByteArray& typeId) const override;
68 virtual bool SetObjectMetaInfoFromRecord(const QSqlRecord& record, idoc::IDocumentMetaInfo& metaInfo) const override;
69
70private:
71 I_FACT(imttest::ITestInfo, m_testFactCompPtr);
72};
73
74
75} // namespace imtlicdb
76
77
Testing Utilities and Test Management Module.