15#import <Foundation/Foundation.h>
17#import "EMMessageBody.h"
18#import "EMCursorResult.h"
19#import "EMSilentModeParam.h"
28typedef NS_ENUM(NSInteger, EMConversationType) {
29 EMConversationTypeChat = 0,
30 EMConversationTypeGroupChat,
31 EMConversationTypeChatRoom,
45typedef NS_ENUM(NSInteger, EMMarkType) {
86typedef NS_ENUM(NSInteger, EMMessageSearchDirection) {
87 EMMessageSearchDirectionUp = 0,
88 EMMessageSearchDirectionDown
98typedef 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;
286 error:(
EMError ** _Nullable)pError;
311 error:(
EMError **_Nullable)pError;
327- (void)deleteMessageWithId:(NSString *_Nonnull)aMessageId
328 error:(
EMError ** _Nullable)pError;
341- (void)deleteAllMessages:(
EMError ** _Nullable)pError;
360- (void)removeMessagesFromServerMessageIds:(NSArray <__kindof NSString*>*_Nonnull)messageIds completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
377- (void)removeMessagesFromServerWithTimeStamp:(NSTimeInterval)beforeTimeStamp completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
400 error:(
EMError ** _Nullable)pError;
411#pragma mark - Load Messages Methods
427- (
EMChatMessage * _Nullable)loadMessageWithId:(NSString * _Nonnull)aMessageId
428 error:(
EMError ** _Nullable)pError;
460- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
462 searchDirection:(EMMessageSearchDirection)aDirection;
490- (void)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
492 searchDirection:(EMMessageSearchDirection)aDirection
493 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
523- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithType:(EMMessageBodyType)aType
524 timestamp:(
long long)aTimestamp
526 fromUser:(NSString* _Nullable)aUsername
527 searchDirection:(EMMessageSearchDirection)aDirection;
551- (void)loadMessagesWithType:(EMMessageBodyType)aType
552 timestamp:(
long long)aTimestamp
554 fromUser:(NSString* _Nullable)aUsername
555 searchDirection:(EMMessageSearchDirection)aDirection
556 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
579- (void)searchMessagesWithTypes:(NSArray <NSNumber*> *_Nonnull)aTypes
580 timestamp:(
long long)aTimestamp
582 fromUser:(NSString* _Nullable)aUsername
583 searchDirection:(EMMessageSearchDirection)aDirection
584 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
615- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
616 timestamp:(
long long)aTimestamp
618 fromUser:(NSString* _Nullable)aSender
619 searchDirection:(EMMessageSearchDirection)aDirection;
644- (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
645 timestamp:(
long long)aTimestamp
647 fromUser:(NSString* _Nullable)aSender
648 searchDirection:(EMMessageSearchDirection)aDirection
649 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
682- (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
683 timestamp:(
long long)aTimestamp
685 fromUser:(NSString* _Nullable)aSender
686 searchDirection:(EMMessageSearchDirection)aDirection
687 scope:(EMMessageSearchScope)aScope
688 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock __deprecated_msg("Use -loadMessagesWithKeyword:timestamp:count:fromUsers:searchDirection:scope:completion: instead");
723- (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeywords
724 timestamp:(
long long)aTimestamp
726 fromUsers:(NSArray<NSString*>* _Nullable)senders
727 searchDirection:(EMMessageSearchDirection)aDirection
728 scope:(EMMessageSearchScope)aScope
729 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
760- (NSArray<
EMChatMessage *> * _Nullable)loadCustomMsgWithKeyword:(NSString*)aKeywords
761 timestamp:(
long long)aTimestamp
763 fromUser:(NSString* _Nullable)aSender
764 searchDirection:(EMMessageSearchDirection)aDirection;
789- (void)loadCustomMsgWithKeyword:(NSString* _Nullable)aKeywords
790 timestamp:(
long long)aTimestamp
792 fromUser:(NSString* _Nullable)aSender
793 searchDirection:(EMMessageSearchDirection)aDirection
794 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
825- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesFrom:(
long long)aStartTimestamp
826 to:(
long long)aEndTimestamp
847- (void)loadMessagesFrom:(
long long)aStartTimestamp
848 to:(
long long)aEndTimestamp
850 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
872- (
EMError* _Nullable)removeMessagesStart:(NSInteger)aStartTimestamp
873 to:(NSInteger)aEndTimestamp;
890- (NSInteger)getMessageCountStart:(NSInteger)aStartTimestamp
891 to:(NSInteger)aEndTimestamp;
Definition: EMChatMessage.h:155
Definition: EMConversation.h:115
NSDictionary * ext
Definition: EMConversation.h:169
int64_t pinnedTime
Definition: EMConversation.h:204
int messagesCount
Definition: EMConversation.h:156
NSString *_Nullable conversationName()
BOOL isChatThread
Definition: EMConversation.h:182
EMChatMessage * latestMessage
Definition: EMConversation.h:213
EMConversationType type
Definition: EMConversation.h:138
NSArray< NSNumber * > * marks
Definition: EMConversation.h:222
NSArray< EMChatMessage * > *_Nullable pinnedMessages()
BOOL isPinned
Definition: EMConversation.h:195
EMPushRemindType disturbType
Definition: EMConversation.h:231
int unreadMessagesCount
Definition: EMConversation.h:147
NSString * conversationId
Definition: EMConversation.h:129
NSString *_Nullable conversationAvatar()
EMChatMessage *_Nullable lastReceivedMessage()