5#include <imtchat/IChatMessage.h>
6#include <imtdb/CSqlDatabaseObjectDelegateCompBase.h>
13class CMessageDbDelegateComp:
public imtdb::CSqlDatabaseObjectDelegateCompBase
16 typedef imtdb::CSqlDatabaseObjectDelegateCompBase BaseClass;
18 I_BEGIN_COMPONENT(CMessageDbDelegateComp)
19 I_ASSIGN(m_messageFactCompPtr,
"MessageFactory",
"Factory used for creation of new message instances",
true,
"MessageFactory");
23 virtual istd::IChangeableUniquePtr CreateObjectFromRecord(
24 const QSqlRecord& record,
25 const iprm::IParamsSet* dataConfigurationPtr =
nullptr)
const override;
26 virtual NewObjectQuery CreateNewObjectQuery(
27 const QByteArray& typeId,
28 const QByteArray& proposedObjectId,
29 const QString& objectName,
30 const QString& objectDescription,
31 const istd::IChangeable* valuePtr,
33 virtual QByteArray CreateUpdateObjectQuery(
35 const QByteArray& objectId,
36 const istd::IChangeable&
object,
38 bool useExternDelegate =
true)
const override;
41 const QByteArrayList& objectIds,
43 virtual QByteArray CreateDeleteObjectSetQuery(
45 const iprm::IParamsSet* paramsPtr =
nullptr,
47 virtual QByteArray CreateRenameObjectQuery(
49 const QByteArray& objectId,
50 const QString& newObjectName,
52 virtual QByteArray CreateDescriptionObjectQuery(
54 const QByteArray& objectId,
55 const QString& description,
59 virtual void OnComponentCreated()
override;
63 virtual idoc::MetaInfoPtr CreateObjectMetaInfo(
const QByteArray& typeId)
const override;
64 virtual bool SetObjectMetaInfoFromRecord(
const QSqlRecord& record, idoc::IDocumentMetaInfo& metaInfo)
const override;
virtual QByteArray CreateDeleteObjectsQuery(const imtbase::IObjectCollection &collection, const imtbase::ICollectionInfo::Ids &objectIds, const imtbase::IOperationContext *operationContextPtr) const =0
Creates SQL query for deleting objects.
Chat Database Persistence Layer Module.