-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmessage.h
107 lines (98 loc) · 3.65 KB
/
message.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#ifndef MESSAGE_H
#define MESSAGE_H
#include <QtGlobal>
#include <QList>
#include "msgdef.h"
#include <QVariantMap>
class Message
{
public:
enum GroupChangedType
{
GroupChangedType_None = 0x00,
GroupChangedType_Create,
GroupChangedType_Updated,
GroupChangedType_Removed
};
struct GroupChange{
qint64 gid;
QList<qint64> uids;
int type;
qint64 stamp;
};
enum MessageDirection {
MessageIn,
MessageOut
};
Message();
Message(const Message& msg){
m_from = msg.m_from;
m_to = msg.m_to;
m_ccs = msg.m_ccs;
m_author = msg.m_author;
m_terminalType = msg.m_terminalType;
m_stamp = msg.m_stamp;
m_items = msg.m_items;
m_messageId = msg.m_messageId;
m_direction = msg.m_direction;
m_isOffLineFile = msg.m_isOffLineFile;
m_isGroupChange = msg.m_isGroupChange;
m_isVoice = msg.m_isVoice;
m_isTimeSeparator = msg.m_isTimeSeparator;
m_plainTextCount = msg.m_plainTextCount;
}
~Message(){}
BasicDef::MessageContact from() const {return m_from;}
void setFrom(const BasicDef::MessageContact &from) {m_from = from;}
QList<BasicDef::MessageContact> ccs() const {return m_ccs;}
void setCcs(const QList<BasicDef::MessageContact> &ccs) {m_ccs = ccs;}
void setTo(const BasicDef::MessageContact& to);
BasicDef::MessageContact to() const;
BasicDef::MessageContact author() const {return m_author;}
void setAuthor(const BasicDef::MessageContact& author){m_author = author;}
quint8 terminalType() const {return m_terminalType; }
void setTerminalType(const quint8 type) {m_terminalType = type; }
qint64 stamp() const {return m_stamp;}
void setStamp(qint64 stamp) {m_stamp = stamp;}
QList<BasicDef::MsgItem> items() const {return m_items;}
void setItems(const QList<BasicDef::MsgItem>& items) {m_items = items;}
void appendItem(const BasicDef::MsgItem &item) {m_items.append(item);}
qint64 messageId() const {return m_messageId;}
void setMessageId(const qint64 id){m_messageId = id;}
MessageDirection direction() const {return m_direction;}
void setDirection(const MessageDirection dir) {m_direction = dir;}
bool initWithJsonMap(const QVariantMap &map);
QVariantMap toJsonMap() const;
QVariantMap bodyToJsonMap() const;
bool initItemsWithBodyJasonMap(const QVariantMap &map);
int imageCount();
QString description() const;
bool isOffLineFile() const {return m_isOffLineFile;}
void setIsOffLineFile(bool isOffLineFile) {m_isOffLineFile = isOffLineFile;}
bool isGroupChange() const {return m_isGroupChange;}
void setIsGroupChange(bool isGroupChange) {m_isGroupChange = isGroupChange;}
GroupChange groupChange();
void setGroupChangeMsgItem(const QString &text);
bool isTimeSeparator() const {return m_isTimeSeparator;}
void setIsTimeSeparator(bool isTimeSeparator) {m_isTimeSeparator = isTimeSeparator;}
void setPlainTextCount(int count) {m_plainTextCount = count;}
int plainTextCount() const {return m_plainTextCount;}
bool isVoice() const {return m_isVoice;}
void setIsVoice(bool isVoice) {m_isVoice = isVoice;}
private:
BasicDef::MessageContact m_from;
BasicDef::MessageContact m_to;
QList<BasicDef::MessageContact> m_ccs;
BasicDef::MessageContact m_author;
quint8 m_terminalType;
qint64 m_stamp;
QList<BasicDef::MsgItem> m_items;
qint64 m_messageId;
MessageDirection m_direction;
bool m_isOffLineFile;
bool m_isGroupChange;
bool m_isVoice;
bool m_isTimeSeparator;
int m_plainTextCount;
};
#endif // MESSAGE_H