ImagingTools Core SDK
CParticipantDbDelegateComp.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 CParticipantDbDelegateComp: public imtdb::CSqlDatabaseObjectDelegateCompBase
19{
20public:
21 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
22
23 I_BEGIN_COMPONENT(CParticipantDbDelegateComp)
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
72 const QByteArray& conversationId,
73 const QByteArray& userId) const;
74
82 const QByteArray& conversationId,
83 const QByteArray& userId) const;
84
85protected:
86 // reimplemented (imtdb::CSqlDatabaseObjectDelegateCompBase)
87 virtual idoc::MetaInfoPtr CreateObjectMetaInfo(const QByteArray& typeId) const override;
88 virtual bool SetObjectMetaInfoFromRecord(const QSqlRecord& record, idoc::IDocumentMetaInfo& metaInfo) const override;
89};
90
91
92} // namespace imtchatdb
QByteArray CreateAddParticipantQuery(const QByteArray &conversationId, const QByteArray &userId) const
QByteArray CreateRemoveParticipantQuery(const QByteArray &conversationId, const QByteArray &userId) const
Chat Database Persistence Layer Module.
Result of CreateNewObjectQuery containing SQL and metadata for object insertion.