HyphenateSDK  3.3.0
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 
63 @property (nonatomic, copy, readonly) NSString *conversationId;
64 
72 @property (nonatomic, assign, readonly) EMConversationType type;
73 
81 @property (nonatomic, assign, readonly) int unreadMessagesCount;
82 
90 @property (nonatomic, copy) NSDictionary *ext;
91 
99 @property (nonatomic, strong, readonly) EMMessage *latestMessage;
100 
114 - (void)insertMessage:(EMMessage *)aMessage
115  error:(EMError **)pError;
116 
131 - (void)appendMessage:(EMMessage *)aMessage
132  error:(EMError **)pError;
133 
148 - (void)deleteMessageWithId:(NSString *)aMessageId
149  error:(EMError **)pError;
150 
160 - (void)deleteAllMessages:(EMError **)pError;
161 
176 - (void)updateMessageChange:(EMMessage *)aMessage
177  error:(EMError **)pError;
178 
193 - (void)markMessageAsReadWithId:(NSString *)aMessageId
194  error:(EMError **)pError;
195 
208 - (void)markAllMessagesAsRead:(EMError **)pError;
209 
224 - (EMMessage *)loadMessageWithId:(NSString *)aMessageId
225  error:(EMError **)pError;
226 
239 
240 #pragma mark - Async method
241 
260 - (void)loadMessagesStartFromId:(NSString *)aMessageId
261  count:(int)aCount
262  searchDirection:(EMMessageSearchDirection)aDirection
263  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
264 
287 - (void)loadMessagesWithType:(EMMessageBodyType)aType
288  timestamp:(long long)aTimestamp
289  count:(int)aCount
290  fromUser:(NSString*)aUsername
291  searchDirection:(EMMessageSearchDirection)aDirection
292  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
293 
316 - (void)loadMessagesWithKeyword:(NSString*)aKeyword
317  timestamp:(long long)aTimestamp
318  count:(int)aCount
319  fromUser:(NSString*)aSender
320  searchDirection:(EMMessageSearchDirection)aDirection
321  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
322 
341 - (void)loadMessagesFrom:(long long)aStartTimestamp
342  to:(long long)aEndTimestamp
343  count:(int)aCount
344  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
345 
346 #pragma mark - Deprecated methods
347 
363 - (BOOL)insertMessage:(EMMessage *)aMessage __deprecated_msg("Use -insertMessage:error:");
364 
380 - (BOOL)appendMessage:(EMMessage *)aMessage __deprecated_msg("Use -appendMessage:error:");
381 
397 - (BOOL)deleteMessageWithId:(NSString *)aMessageId __deprecated_msg("Use -deleteMessageWithId:error:");
398 
410 - (BOOL)deleteAllMessages __deprecated_msg("Use -deleteAllMessages:");
411 
427 - (BOOL)updateMessage:(EMMessage *)aMessage __deprecated_msg("Use -updateMessageChange:error:");
428 
444 - (BOOL)markMessageAsReadWithId:(NSString *)aMessageId __deprecated_msg("Use -markMessageAsReadWithId:error:");
445 
457 - (BOOL)markAllMessagesAsRead __deprecated_msg("Use -markAllMessagesAsRead:");
458 
470 - (BOOL)updateConversationExtToDB __deprecated_msg("setExt: will update extend properties to DB");
471 
487 - (EMMessage *)loadMessageWithId:(NSString *)aMessageId __deprecated_msg("Use -loadMessageWithId:error:");
488 
508 - (NSArray *)loadMoreMessagesFromId:(NSString *)aMessageId
509  limit:(int)aLimit
510  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesStartFromId:count:searchDirection:completion:");
511 
535 - (NSArray *)loadMoreMessagesWithType:(EMMessageBodyType)aType
536  before:(long long)aTimestamp
537  limit:(int)aLimit
538  from:(NSString*)aSender
539  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesWithType:timestamp:count:fromUser:searchDirection:completion:");
540 
564 - (NSArray *)loadMoreMessagesContain:(NSString*)aKeywords
565  before:(long long)aTimestamp
566  limit:(int)aLimit
567  from:(NSString*)aSender
568  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesContainKeywords:timestamp:count:fromUser:searchDirection:completion:");
569 
589 - (NSArray *)loadMoreMessagesFrom:(long long)aStartTimestamp
590  to:(long long)aEndTimestamp
591  maxCount:(int)aMaxCount __deprecated_msg("Use -loadMessagesFrom:to:count:completion:");
592 
604 - (EMMessage *)latestMessageFromOthers __deprecated_msg("Use -lastReceivedMessage");
605 
606 @end
NSString * conversationId
Definition: EMConversation.h:63
Definition: EMConversation.h:54
Definition: EMError.h:26
EMMessage * lastReceivedMessage()
int unreadMessagesCount
Definition: EMConversation.h:81
EMConversationType type
Definition: EMConversation.h:72
NSDictionary * ext
Definition: EMConversation.h:90
Definition: EMMessage.h:65
"Use -deleteAllMessages:" __deprecated_msg()
EMMessage * latestMessage
Definition: EMConversation.h:99