15 #import <Foundation/Foundation.h>
17 #import "EMMessageBody.h"
18 #import "EMCursorResult.h"
19 #import "EMSilentModeParam.h"
28 typedef NS_ENUM(NSInteger, EMConversationType) {
29 EMConversationTypeChat = 0,
30 EMConversationTypeGroupChat,
31 EMConversationTypeChatRoom,
45 typedef NS_ENUM(NSInteger, EMMarkType) {
86 typedef NS_ENUM(NSInteger, EMMessageSearchDirection) {
87 EMMessageSearchDirectionUp = 0,
88 EMMessageSearchDirectionDown
98 typedef NS_ENUM(NSInteger, EMMessageSearchScope) {
99 EMMessageSearchScopeContent = 0,
100 EMMessageSearchScopeExt,
101 EMMessageSearchScopeAll
115 -(instancetype _Nonnull ) init NS_UNAVAILABLE;
138 @property (nonatomic, assign, readonly) EMConversationType
type;
169 @property (nonatomic, copy) NSDictionary *
ext;
222 @property (nonatomic, readonly) NSArray<NSNumber*>*
marks;
269 error:(
EMError ** _Nullable)pError;
294 error:(
EMError **_Nullable)pError;
310 - (void)deleteMessageWithId:(NSString *_Nonnull)aMessageId
311 error:(
EMError ** _Nullable)pError;
324 - (void)deleteAllMessages:(
EMError ** _Nullable)pError;
343 - (void)removeMessagesFromServerMessageIds:(NSArray <__kindof NSString*>*_Nonnull)messageIds completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
360 - (void)removeMessagesFromServerWithTimeStamp:(NSTimeInterval)beforeTimeStamp completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
382 - (void)updateMessageChange:(
EMChatMessage *_Nonnull)aMessage
383 error:(
EMError ** _Nullable)pError;
399 - (void)markMessageAsReadWithId:(NSString *_Nonnull)aMessageId
400 error:(
EMError ** _Nullable)pError;
414 - (void)markAllMessagesAsRead:(
EMError ** _Nullable)pError;
426 #pragma mark - Load Messages Methods
442 - (
EMChatMessage * _Nullable)loadMessageWithId:(NSString * _Nonnull)aMessageId
443 error:(
EMError ** _Nullable)pError;
475 - (NSArray<
EMChatMessage *> * _Nullable)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
477 searchDirection:(EMMessageSearchDirection)aDirection;
505 - (void)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
507 searchDirection:(EMMessageSearchDirection)aDirection
508 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
538 - (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithType:(EMMessageBodyType)aType
539 timestamp:(
long long)aTimestamp
541 fromUser:(NSString* _Nullable)aUsername
542 searchDirection:(EMMessageSearchDirection)aDirection;
566 - (void)loadMessagesWithType:(EMMessageBodyType)aType
567 timestamp:(
long long)aTimestamp
569 fromUser:(NSString* _Nullable)aUsername
570 searchDirection:(EMMessageSearchDirection)aDirection
571 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
594 - (void)searchMessagesWithTypes:(NSArray <NSNumber*> *_Nonnull)aTypes
595 timestamp:(
long long)aTimestamp
597 fromUser:(NSString* _Nullable)aUsername
598 searchDirection:(EMMessageSearchDirection)aDirection
599 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
630 - (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
631 timestamp:(
long long)aTimestamp
633 fromUser:(NSString* _Nullable)aSender
634 searchDirection:(EMMessageSearchDirection)aDirection;
659 - (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
660 timestamp:(
long long)aTimestamp
662 fromUser:(NSString* _Nullable)aSender
663 searchDirection:(EMMessageSearchDirection)aDirection
664 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
697 - (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
698 timestamp:(
long long)aTimestamp
700 fromUser:(NSString* _Nullable)aSender
701 searchDirection:(EMMessageSearchDirection)aDirection
702 scope:(EMMessageSearchScope)aScope
703 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock __deprecated_msg("Use -loadMessagesWithKeyword:timestamp:count:fromUsers:searchDirection:scope:completion: instead");
738 - (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
739 timestamp:(
long long)aTimestamp
741 fromUsers:(NSArray<NSString*>* _Nullable)senders
742 searchDirection:(EMMessageSearchDirection)aDirection
743 scope:(EMMessageSearchScope)aScope
744 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
775 - (NSArray<
EMChatMessage *> * _Nullable)loadCustomMsgWithKeyword:(NSString*)aKeywords
776 timestamp:(
long long)aTimestamp
778 fromUser:(NSString* _Nullable)aSender
779 searchDirection:(EMMessageSearchDirection)aDirection;
804 - (void)loadCustomMsgWithKeyword:(NSString* _Nullable)aKeywords
805 timestamp:(
long long)aTimestamp
807 fromUser:(NSString* _Nullable)aSender
808 searchDirection:(EMMessageSearchDirection)aDirection
809 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
840 - (NSArray<
EMChatMessage *> * _Nullable)loadMessagesFrom:(
long long)aStartTimestamp
841 to:(
long long)aEndTimestamp
862 - (void)loadMessagesFrom:(
long long)aStartTimestamp
863 to:(
long long)aEndTimestamp
865 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
887 - (
EMError* _Nullable)removeMessagesStart:(NSInteger)aStartTimestamp
888 to:(NSInteger)aEndTimestamp;
905 - (NSInteger)getMessageCountStart:(NSInteger)aStartTimestamp
906 to:(NSInteger)aEndTimestamp;
NSArray< EMChatMessage * > *_Nullable pinnedMessages()
EMPushRemindType disturbType
Definition: EMConversation.h:231
NSString * conversationId
Definition: EMConversation.h:129
Definition: EMConversation.h:114
Definition: EMChatMessage.h:113
int unreadMessagesCount
Definition: EMConversation.h:147
EMChatMessage * latestMessage
Definition: EMConversation.h:213
EMConversationType type
Definition: EMConversation.h:138
NSArray< NSNumber * > * marks
Definition: EMConversation.h:222
NSDictionary * ext
Definition: EMConversation.h:169
int64_t pinnedTime
Definition: EMConversation.h:204
BOOL isPinned
Definition: EMConversation.h:195
BOOL isChatThread
Definition: EMConversation.h:182
int messagesCount
Definition: EMConversation.h:156
EMChatMessage *_Nullable lastReceivedMessage()