ImagingTools Core SDK
CMessageStatusDbDelegateComp.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 <imtdb/CSqlDatabaseObjectDelegateCompBase.h>
6
7
8namespace imtchatdb
9{
10
11
18class CMessageStatusDbDelegateComp: public imtdb::CSqlDatabaseObjectDelegateCompBase
19{
20public:
21 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
22
23 I_BEGIN_COMPONENT(CMessageStatusDbDelegateComp)
24 I_END_COMPONENT
25
26 // reimplemented (imtdb::ISqlDatabaseObjectDelegate)
27 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(
28 const QSqlRecord& record,
29 const iprm::IParamsSet* dataConfigurationPtr = nullptr) const override;
30 virtual NewObjectQuery CreateNewObjectQuery(
31 const QByteArray& typeId,
32 const QByteArray& proposedObjectId,
33 const QString& objectName,
34 const QString& objectDescription,
35 const istd::IChangeable* valuePtr,
36 const imtbase::IOperationContext* operationContextPtr) const override;
37 virtual QByteArray CreateUpdateObjectQuery(
38 const imtbase::IObjectCollection& collection,
39 const QByteArray& objectId,
40 const istd::IChangeable& object,
41 const imtbase::IOperationContext* operationContextPtr,
42 bool useExternDelegate = true) const override;
43 virtual QByteArray CreateDeleteObjectsQuery(
44 const imtbase::IObjectCollection& collection,
45 const QByteArrayList& objectIds,
46 const imtbase::IOperationContext* operationContextPtr) const override;
47 virtual QByteArray CreateDeleteObjectSetQuery(
48 const imtbase::IObjectCollection& collection,
49 const iprm::IParamsSet* paramsPtr = nullptr,
50 const imtbase::IOperationContext* operationContextPtr = nullptr) const override;
51 virtual QByteArray CreateRenameObjectQuery(
52 const imtbase::IObjectCollection& collection,
53 const QByteArray& objectId,
54 const QString& newObjectName,
55 const imtbase::IOperationContext* operationContextPtr) const override;
56 virtual QByteArray CreateDescriptionObjectQuery(
57 const imtbase::IObjectCollection& collection,
58 const QByteArray& objectId,
59 const QString& description,
60 const imtbase::IOperationContext* operationContextPtr) const override;
61
62 // reimplemented (icomp::CComponentBase)
63 virtual void OnComponentCreated() override;
64
73 const QByteArray& messageId,
74 const QByteArray& userId,
75 int status) const;
76
77protected:
78 // reimplemented (imtdb::CSqlDatabaseObjectDelegateCompBase)
79 virtual idoc::MetaInfoPtr CreateObjectMetaInfo(const QByteArray& typeId) const override;
80 virtual bool SetObjectMetaInfoFromRecord(const QSqlRecord& record, idoc::IDocumentMetaInfo& metaInfo) const override;
81};
82
83
84} // namespace imtchatdb
QByteArray CreateUpsertStatusQuery(const QByteArray &messageId, const QByteArray &userId, int status) const
Chat Database Persistence Layer Module.
Result of CreateNewObjectQuery containing SQL and metadata for object insertion.