ImagingTools Core SDK
IConversation.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// ACF includes
5#include <iser/ISerializable.h>
6
7
8namespace imtchat
9{
10
11
20class IConversation: virtual public iser::ISerializable
21{
22public:
27 {
28 CT_DIRECT,
29 CT_GROUP,
30 CT_CHANNEL,
31 CT_SUPPORT
32 };
33 I_DECLARE_ENUM(ConversationType,
34 CT_DIRECT,
35 CT_GROUP,
36 CT_CHANNEL,
37 CT_SUPPORT);
38
42 virtual QByteArray GetId() const = 0;
43
47 virtual void SetId(const QByteArray& id) = 0;
48
52 virtual QString GetName() const = 0;
53
57 virtual void SetName(const QString& name) = 0;
58
63
67 virtual void SetConversationType(ConversationType conversationType) = 0;
68
72 virtual QByteArrayList GetParticipantIds() const = 0;
73
77 virtual void SetParticipantIds(const QByteArrayList& participantIds) = 0;
78
82 virtual QString GetCreatedAt() const = 0;
83
87 virtual void SetCreatedAt(const QString& createdAt) = 0;
88
92 virtual QString GetUpdatedAt() const = 0;
93
97 virtual void SetUpdatedAt(const QString& updatedAt) = 0;
98
102 virtual QString GetMetadata() const = 0;
103
107 virtual void SetMetadata(const QString& metadata) = 0;
108};
109
110typedef istd::TUniqueInterfacePtr<IConversation> IConversationUniquePtr;
111
112} // namespace imtchat
virtual QString GetMetadata() const =0
virtual QString GetUpdatedAt() const =0
virtual void SetParticipantIds(const QByteArrayList &participantIds)=0
virtual QString GetName() const =0
virtual QByteArray GetId() const =0
virtual void SetMetadata(const QString &metadata)=0
virtual void SetUpdatedAt(const QString &updatedAt)=0
virtual QByteArrayList GetParticipantIds() const =0
virtual void SetId(const QByteArray &id)=0
virtual void SetConversationType(ConversationType conversationType)=0
virtual void SetCreatedAt(const QString &createdAt)=0
virtual QString GetCreatedAt() const =0
virtual ConversationType GetConversationType() const =0
virtual void SetName(const QString &name)=0
Internal Service Desk Chat Domain Model Module.