HyphenateChatSDK  3.8.3.1
EMConversation.h
1 
15 #import <Foundation/Foundation.h>
16 
17 #import "EMMessageBody.h"
18 
19 /*
20  * \~chinese
21  * 会话类型
22  *
23  * \~english
24  * Conversation type
25  */
26 typedef enum {
27  EMConversationTypeChat = 0,
28  EMConversationTypeGroupChat,
29  EMConversationTypeChatRoom
30 } EMConversationType;
31 
32 /*
33  * \~chinese
34  * 消息搜索方向
35  *
36  * \~english
37  * Message search direction
38  */
39 typedef enum {
40  EMMessageSearchDirectionUp = 0,
41  EMMessageSearchDirectionDown
42 } EMMessageSearchDirection;
43 
44 @class EMMessage;
45 @class EMError;
46 
54 @interface EMConversation : NSObject
55 
71 @property (nonatomic, copy, readonly) NSString *conversationId;
72 
80 @property (nonatomic, assign, readonly) EMConversationType type;
81 
89 @property (nonatomic, assign, readonly) int unreadMessagesCount;
90 
98 @property (nonatomic, copy) NSDictionary *ext;
99 
107 @property (nonatomic, strong, readonly) EMMessage *latestMessage;
108 
121 
139 - (void)insertMessage:(EMMessage *)aMessage
140  error:(EMError **)pError;
141 
156 - (void)appendMessage:(EMMessage *)aMessage
157  error:(EMError **)pError;
158 
173 - (void)deleteMessageWithId:(NSString *)aMessageId
174  error:(EMError **)pError;
175 
187 - (void)deleteAllMessages:(EMError **)pError;
188 
204 - (void)updateMessageChange:(EMMessage *)aMessage
205  error:(EMError **)pError;
206 
221 - (void)markMessageAsReadWithId:(NSString *)aMessageId
222  error:(EMError **)pError;
223 
236 - (void)markAllMessagesAsRead:(EMError **)pError;
237 
238 
239 #pragma mark - Load Messages Methods
240 
255 - (EMMessage *)loadMessageWithId:(NSString *)aMessageId
256  error:(EMError **)pError;
257 
278 - (void)loadMessagesStartFromId:(NSString *)aMessageId
279  count:(int)aCount
280  searchDirection:(EMMessageSearchDirection)aDirection
281  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
282 
307 - (void)loadMessagesWithType:(EMMessageBodyType)aType
308  timestamp:(long long)aTimestamp
309  count:(int)aCount
310  fromUser:(NSString*)aUsername
311  searchDirection:(EMMessageSearchDirection)aDirection
312  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
313 
338 - (void)loadMessagesWithKeyword:(NSString*)aKeyword
339  timestamp:(long long)aTimestamp
340  count:(int)aCount
341  fromUser:(NSString*)aSender
342  searchDirection:(EMMessageSearchDirection)aDirection
343  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
344 
369 - (void)loadCustomMsgWithKeyword:(NSString*)aKeyword
370  timestamp:(long long)aTimestamp
371  count:(int)aCount
372  fromUser:(NSString*)aSender
373  searchDirection:(EMMessageSearchDirection)aDirection
374  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
375 
394 - (void)loadMessagesFrom:(long long)aStartTimestamp
395  to:(long long)aEndTimestamp
396  count:(int)aCount
397  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
398 
399 #pragma mark - Deprecated methods
400 
416 - (BOOL)insertMessage:(EMMessage *)aMessage __deprecated_msg("Use -insertMessage:error:");
417 
433 - (BOOL)appendMessage:(EMMessage *)aMessage __deprecated_msg("Use -appendMessage:error:");
434 
450 - (BOOL)deleteMessageWithId:(NSString *)aMessageId __deprecated_msg("Use -deleteMessageWithId:error:");
451 
463 - (BOOL)deleteAllMessages __deprecated_msg("Use -deleteAllMessages:");
464 
480 - (BOOL)updateMessage:(EMMessage *)aMessage __deprecated_msg("Use -updateMessageChange:error:");
481 
497 - (BOOL)markMessageAsReadWithId:(NSString *)aMessageId __deprecated_msg("Use -markMessageAsReadWithId:error:");
498 
510 - (BOOL)markAllMessagesAsRead __deprecated_msg("Use -markAllMessagesAsRead:");
511 
523 - (BOOL)updateConversationExtToDB __deprecated_msg("setExt: will update extend properties to DB");
524 
540 - (EMMessage *)loadMessageWithId:(NSString *)aMessageId __deprecated_msg("Use -loadMessageWithId:error:");
541 
561 - (NSArray *)loadMoreMessagesFromId:(NSString *)aMessageId
562  limit:(int)aLimit
563  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesStartFromId:count:searchDirection:completion:");
564 
588 - (NSArray *)loadMoreMessagesWithType:(EMMessageBodyType)aType
589  before:(long long)aTimestamp
590  limit:(int)aLimit
591  from:(NSString*)aSender
592  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesWithType:timestamp:count:fromUser:searchDirection:completion:");
593 
617 - (NSArray *)loadMoreMessagesContain:(NSString*)aKeywords
618  before:(long long)aTimestamp
619  limit:(int)aLimit
620  from:(NSString*)aSender
621  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesContainKeywords:timestamp:count:fromUser:searchDirection:completion:");
622 
642 - (NSArray *)loadMoreMessagesFrom:(long long)aStartTimestamp
643  to:(long long)aEndTimestamp
644  maxCount:(int)aMaxCount __deprecated_msg("Use -loadMessagesFrom:to:count:completion:");
645 
657 - (EMMessage *)latestMessageFromOthers __deprecated_msg("Use -lastReceivedMessage");
658 
659 @end
Definition: EMConversation.h:55
NSDictionary * ext
Definition: EMConversation.h:98
EMMessage * latestMessage
Definition: EMConversation.h:107
EMMessage * lastReceivedMessage()
EMConversationType type
Definition: EMConversation.h:80
int unreadMessagesCount
Definition: EMConversation.h:89
"Use -deleteAllMessages:" __deprecated_msg()
NSString * conversationId
Definition: EMConversation.h:71
Definition: EMError.h:27
Definition: EMMessage.h:66