ImagingTools Core SDK
CJobTicketDatabaseDelegateComp.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 <imthype/IJobTicket.h>
8
9
10namespace imthypedb
11{
12
13
14class CJobTicketDatabaseDelegateComp: public imtdb::CSqlDatabaseObjectDelegateCompBase
15{
16public:
17 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
18
19 I_BEGIN_COMPONENT(CJobTicketDatabaseDelegateComp)
20 I_ASSIGN_MULTI_0(m_jobTicketFactCompPtr, "JobTicket", "List of Factories used for creation of the new job ticket instance", true);
21 I_END_COMPONENT
22
23 // reimplemented (imtdb::ISqlDatabaseObjectDelegate)
24 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(
25 const QSqlRecord& record,
26 const iprm::IParamsSet* dataConfigurationPtr = nullptr) const override;
27 virtual NewObjectQuery CreateNewObjectQuery(
28 const QByteArray& typeId,
29 const QByteArray& proposedObjectId,
30 const QString& objectName,
31 const QString& objectDescription,
32 const istd::IChangeable* valuePtr,
33 const imtbase::IOperationContext* operationContextPtr) const override;
34 virtual QByteArray CreateDeleteObjectsQuery(
35 const imtbase::IObjectCollection& collection,
36 const imtbase::ICollectionInfo::Ids& objectIds,
37 const imtbase::IOperationContext* operationContextPtr) const override;
38 virtual QByteArray CreateDeleteObjectSetQuery(
39 const imtbase::IObjectCollection& collection,
40 const iprm::IParamsSet* paramsPtr = nullptr,
41 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
42 virtual QByteArray CreateUpdateObjectQuery(
43 const imtbase::IObjectCollection& collection,
44 const QByteArray& objectId,
45 const istd::IChangeable& object,
46 const imtbase::IOperationContext* operationContextPtr,
47 bool useExternDelegate = true) const override;
48 virtual QByteArray CreateRenameObjectQuery(
49 const imtbase::IObjectCollection& collection,
50 const QByteArray& objectId,
51 const QString& newObjectName,
52 const imtbase::IOperationContext* operationContextPtr) const override;
53 virtual QByteArray CreateDescriptionObjectQuery(
54 const imtbase::IObjectCollection& collection,
55 const QByteArray& objectId,
56 const QString& description,
57 const imtbase::IOperationContext* operationContextPtr) const override;
58
59private:
60 I_MULTIFACT(imthype::IJobTicket, m_jobTicketFactCompPtr);
61};
62
63
64} // namespace imthypedb
65
66