HyphenateChatSDK  4.14.0
EMChatMessage.h
1 
15 #import <Foundation/Foundation.h>
16 
17 #import "EMMessageBody.h"
18 #import "EMMessageReaction.h"
19 
27 typedef NS_ENUM(NSInteger, EMChatType) {
28  EMChatTypeChat = 0,
29  EMChatTypeGroupChat,
30  EMChatTypeChatRoom,
31 };
32 
40 typedef NS_ENUM(NSInteger, EMMessageStatus) {
41  EMMessageStatusPending = 0,
42  EMMessageStatusDelivering,
43  EMMessageStatusSucceed,
44  EMMessageStatusFailed,
45 };
46 
54 typedef NS_ENUM(NSInteger, EMMessageDirection) {
55  EMMessageDirectionSend = 0,
56  EMMessageDirectionReceive,
57 };
58 
66 typedef NS_ENUM(NSInteger, EMChatRoomMessagePriority) {
68  EMChatRoomMessagePriorityHigh = 0,
70  EMChatRoomMessagePriorityNormal,
72  EMChatRoomMessagePriorityLow,
73 };
74 
82 @interface EMMessagePinInfo: NSObject
84 @property (strong,nonatomic) NSString* _Nonnull operatorId;
86 @property (nonatomic) NSInteger pinTime;
87 
88 @end
89 
97 typedef NS_ENUM(NSInteger, EMMessagePinOperation) {
99  EMMessagePin = 0,
100 
102  EMMessageUnpin
103 };
104 
105 @class EMChatThread;
113 @interface EMChatMessage : NSObject
114 
115 -(instancetype _Nonnull ) init __attribute__((unavailable("call initWithConversationID instead")));
116 
124 @property (nonatomic, copy) NSString * _Nonnull messageId;
125 
133 @property (nonatomic, copy) NSString * _Nonnull conversationId;
134 
142 @property (nonatomic) EMMessageDirection direction;
143 
151 @property (nonatomic, copy) NSString * _Nonnull from;
152 
160 @property (nonatomic, copy) NSString * _Nonnull to;
161 
171 @property (nonatomic) long long timestamp;
172 
184 @property (nonatomic) long long localTime;
185 
193 @property (nonatomic) EMChatType chatType;
194 
202 @property (nonatomic) EMMessageStatus status;
203 
227 @property (nonatomic, readonly) BOOL onlineState;
228 
242 @property (nonatomic) BOOL isReadAcked;
243 
257 @property (nonatomic) BOOL isChatThreadMessage;
258 
272 @property (nonatomic) BOOL isNeedGroupAck;
273 
281 @property (nonatomic, readonly) int groupAckCount;
282 
308 @property (nonatomic) BOOL isDeliverAcked;
309 
323 @property (nonatomic) BOOL isRead;
324 
338 @property (nonatomic) BOOL isListened;
339 
347 @property (nonatomic, strong) EMMessageBody * _Nonnull body;
348 
356 @property (nonatomic, readonly) NSArray <EMMessageReaction *>* _Nullable reactionList;
357 
373 - (EMMessageReaction *_Nullable)getReaction:(NSString * _Nonnull)reaction;
374 
386 @property (nonatomic, copy) NSDictionary * _Nullable ext;
399 @property (readonly) EMChatThread * _Nullable chatThread;
414 @property (nonatomic) EMChatRoomMessagePriority priority;
415 
426 @property (nonatomic,readonly) BOOL broadcast;
427 
442 @property (nonatomic) BOOL deliverOnlineOnly;
443 
457 @property (nonatomic,strong) NSArray<NSString*>* _Nullable receiverList;
458 
469 @property (nonatomic,readonly) BOOL isContentReplaced;
470 
485 @property (nonatomic,readonly) EMMessagePinInfo* _Nullable pinnedInfo;
486 
512 - (instancetype _Nonnull)initWithConversationID:(NSString *_Nonnull)aConversationId
513  from:(NSString *_Nonnull)aFrom
514  to:(NSString *_Nonnull)aTo
515  body:(EMMessageBody *_Nonnull)aBody
516  ext:(NSDictionary *_Nullable)aExt;
517 
539 - (instancetype _Nonnull)initWithConversationID:(NSString *_Nonnull)aConversationId
540  body:(EMMessageBody *_Nonnull)aBody
541  ext:(NSDictionary *_Nullable)aExt;
542 
543 @end
BOOL isRead
Definition: EMChatMessage.h:323
NSInteger pinTime
Definition: EMChatMessage.h:86
BOOL isReadAcked
Definition: EMChatMessage.h:242
NSArray< EMMessageReaction * > *_Nullable reactionList
Definition: EMChatMessage.h:356
NSArray< NSString * > *_Nullable receiverList
Definition: EMChatMessage.h:457
BOOL isNeedGroupAck
Definition: EMChatMessage.h:272
BOOL isDeliverAcked
Definition: EMChatMessage.h:308
Definition: EMMessageReaction.h:20
EMMessageStatus status
Definition: EMChatMessage.h:202
EMMessageBody *_Nonnull body
Definition: EMChatMessage.h:347
Definition: EMMessageBody.h:45
Definition: EMChatMessage.h:113
NSString *_Nonnull from
Definition: EMChatMessage.h:151
EMMessageDirection direction
Definition: EMChatMessage.h:142
EMMessagePinInfo *_Nullable pinnedInfo
Definition: EMChatMessage.h:485
NSString *_Nonnull to
Definition: EMChatMessage.h:160
BOOL isContentReplaced
Definition: EMChatMessage.h:469
EMChatThread *_Nullable chatThread
Definition: EMChatMessage.h:399
NSString *_Nonnull messageId
Definition: EMChatMessage.h:124
BOOL isListened
Definition: EMChatMessage.h:338
int groupAckCount
Definition: EMChatMessage.h:281
NSDictionary *_Nullable ext
Definition: EMChatMessage.h:386
Definition: EMChatThread.h:21
BOOL isChatThreadMessage
Definition: EMChatMessage.h:257
BOOL deliverOnlineOnly
Definition: EMChatMessage.h:442
EMChatRoomMessagePriority priority
Definition: EMChatMessage.h:414
EMChatType chatType
Definition: EMChatMessage.h:193
BOOL onlineState
Definition: EMChatMessage.h:227
NSString *_Nonnull operatorId
Definition: EMChatMessage.h:84
long long localTime
Definition: EMChatMessage.h:184
BOOL broadcast
Definition: EMChatMessage.h:426
long long timestamp
Definition: EMChatMessage.h:171
NSString *_Nonnull conversationId
Definition: EMChatMessage.h:133
Definition: EMChatMessage.h:82