HyphenateChatSDK  3.8.4
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 type
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 
284 - (NSArray<EMMessage *> *)loadMessagesStartFromId:(NSString *)aMessageId
285  count:(int)aCount
286  searchDirection:(EMMessageSearchDirection)aDirection;
287 
308 - (void)loadMessagesStartFromId:(NSString *)aMessageId
309  count:(int)aCount
310  searchDirection:(EMMessageSearchDirection)aDirection
311  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
312 
343 - (NSArray<EMMessage *> *)loadMessagesWithType:(EMMessageBodyType)aType
344  timestamp:(long long)aTimestamp
345  count:(int)aCount
346  fromUser:(NSString*)aUsername
347  searchDirection:(EMMessageSearchDirection)aDirection;
348 
373 - (void)loadMessagesWithType:(EMMessageBodyType)aType
374  timestamp:(long long)aTimestamp
375  count:(int)aCount
376  fromUser:(NSString*)aUsername
377  searchDirection:(EMMessageSearchDirection)aDirection
378  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
379 
410 - (NSArray<EMMessage *> *)loadMessagesWithKeyword:(NSString*)aKeyword
411  timestamp:(long long)aTimestamp
412  count:(int)aCount
413  fromUser:(NSString*)aSender
414  searchDirection:(EMMessageSearchDirection)aDirection;
415 
440 - (void)loadMessagesWithKeyword:(NSString*)aKeyword
441  timestamp:(long long)aTimestamp
442  count:(int)aCount
443  fromUser:(NSString*)aSender
444  searchDirection:(EMMessageSearchDirection)aDirection
445  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
446 
478 - (NSArray<EMMessage *> *)loadCustomMsgWithKeyword:(NSString*)aKeyword
479  timestamp:(long long)aTimestamp
480  count:(int)aCount
481  fromUser:(NSString*)aSender
482  searchDirection:(EMMessageSearchDirection)aDirection;
483 
508 - (void)loadCustomMsgWithKeyword:(NSString*)aKeyword
509  timestamp:(long long)aTimestamp
510  count:(int)aCount
511  fromUser:(NSString*)aSender
512  searchDirection:(EMMessageSearchDirection)aDirection
513  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
514 
540 - (NSArray<EMMessage *> *)loadMessagesFrom:(long long)aStartTimestamp
541  to:(long long)aEndTimestamp
542  count:(int)aCount;
543 
562 - (void)loadMessagesFrom:(long long)aStartTimestamp
563  to:(long long)aEndTimestamp
564  count:(int)aCount
565  completion:(void (^)(NSArray *aMessages, EMError *aError))aCompletionBlock;
566 
567 #pragma mark - Deprecated methods
568 
584 - (BOOL)insertMessage:(EMMessage *)aMessage __deprecated_msg("Use -insertMessage:error: instead");
585 
601 - (BOOL)appendMessage:(EMMessage *)aMessage __deprecated_msg("Use -appendMessage:error: instead");
602 
618 - (BOOL)deleteMessageWithId:(NSString *)aMessageId __deprecated_msg("Use -deleteMessageWithId:error: instead");
619 
631 - (BOOL)deleteAllMessages __deprecated_msg("Use -deleteAllMessages: instead");
632 
648 - (BOOL)updateMessage:(EMMessage *)aMessage __deprecated_msg("Use -updateMessageChange:error: instead");
649 
665 - (BOOL)markMessageAsReadWithId:(NSString *)aMessageId __deprecated_msg("Use -markMessageAsReadWithId:error: instead");
666 
678 - (BOOL)markAllMessagesAsRead __deprecated_msg("Use -markAllMessagesAsRead: instead");
679 
692 - (BOOL)updateConversationExtToDB __deprecated_msg("setExt: will update extend properties to DB");
693 
709 - (EMMessage *)loadMessageWithId:(NSString *)aMessageId __deprecated_msg("Use -loadMessageWithId:error: instead");
710 
730 - (NSArray *)loadMoreMessagesFromId:(NSString *)aMessageId
731  limit:(int)aLimit
732  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesStartFromId:count:searchDirection:completion: instead");
733 
757 - (NSArray *)loadMoreMessagesWithType:(EMMessageBodyType)aType
758  before:(long long)aTimestamp
759  limit:(int)aLimit
760  from:(NSString*)aSender
761  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesWithType:timestamp:count:fromUser:searchDirection:completion: instead");
762 
786 - (NSArray *)loadMoreMessagesContain:(NSString*)aKeywords
787  before:(long long)aTimestamp
788  limit:(int)aLimit
789  from:(NSString*)aSender
790  direction:(EMMessageSearchDirection)aDirection __deprecated_msg("Use -loadMessagesContainKeywords:timestamp:count:fromUser:searchDirection:completion: instead");
791 
811 - (NSArray *)loadMoreMessagesFrom:(long long)aStartTimestamp
812  to:(long long)aEndTimestamp
813  maxCount:(int)aMaxCount __deprecated_msg("Use -loadMessagesFrom:to:count:completion: instead");
814 
826 - (EMMessage *)latestMessageFromOthers __deprecated_msg("Use -lastReceivedMessage instead");
827 
828 @end
Definition: EMConversation.h:55
NSDictionary * ext
Definition: EMConversation.h:98
"Use -deleteAllMessages: instead" __deprecated_msg()
EMMessage * latestMessage
Definition: EMConversation.h:107
EMMessage * lastReceivedMessage()
EMConversationType type
Definition: EMConversation.h:80
int unreadMessagesCount
Definition: EMConversation.h:89
NSString * conversationId
Definition: EMConversation.h:71
Definition: EMError.h:27
Definition: EMMessage.h:66