15#import <Foundation/Foundation.h>
17#import "EMMessageBody.h"
18#import "EMCursorResult.h"
27typedef NS_ENUM(NSInteger, EMConversationType) {
28 EMConversationTypeChat = 0,
29 EMConversationTypeGroupChat,
30 EMConversationTypeChatRoom,
51typedef NS_ENUM(NSInteger, EMMessageSearchDirection) {
52 EMMessageSearchDirectionUp = 0,
53 EMMessageSearchDirectionDown
90@property (nonatomic, assign, readonly) EMConversationType
type;
121@property (nonatomic, copy) NSDictionary *
ext;
203 error:(
EMError ** _Nullable)pError;
228 error:(
EMError **_Nullable)pError;
244- (void)deleteMessageWithId:(NSString *_Nonnull)aMessageId
245 error:(
EMError ** _Nullable)pError;
258- (void)deleteAllMessages:(
EMError ** _Nullable)pError;
277- (void)removeMessagesFromServerMessageIds:(NSArray <__kindof NSString*>*_Nonnull)messageIds completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
294- (void)removeMessagesFromServerWithTimeStamp:(NSTimeInterval)beforeTimeStamp completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
317 error:(
EMError ** _Nullable)pError;
333- (void)markMessageAsReadWithId:(NSString *_Nonnull)aMessageId
334 error:(
EMError ** _Nullable)pError;
348- (void)markAllMessagesAsRead:(
EMError ** _Nullable)pError;
351#pragma mark - Load Messages Methods
367- (
EMChatMessage * _Nullable)loadMessageWithId:(NSString * _Nonnull)aMessageId
368 error:(
EMError ** _Nullable)pError;
400- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
402 searchDirection:(EMMessageSearchDirection)aDirection;
430- (void)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
432 searchDirection:(EMMessageSearchDirection)aDirection
433 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
463- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithType:(EMMessageBodyType)aType
464 timestamp:(
long long)aTimestamp
466 fromUser:(NSString* _Nullable)aUsername
467 searchDirection:(EMMessageSearchDirection)aDirection;
491- (void)loadMessagesWithType:(EMMessageBodyType)aType
492 timestamp:(
long long)aTimestamp
494 fromUser:(NSString* _Nullable)aUsername
495 searchDirection:(EMMessageSearchDirection)aDirection
496 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
528- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithKeyword:(NSString* _Nullable)aKeyword
529 timestamp:(
long long)aTimestamp
531 fromUser:(NSString* _Nullable)aSender
532 searchDirection:(EMMessageSearchDirection)aDirection;
557- (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeyword
558 timestamp:(
long long)aTimestamp
560 fromUser:(NSString* _Nullable)aSender
561 searchDirection:(EMMessageSearchDirection)aDirection
562 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
593- (NSArray<
EMChatMessage *> * _Nullable)loadCustomMsgWithKeyword:(NSString*)aKeyword
594 timestamp:(
long long)aTimestamp
596 fromUser:(NSString* _Nullable)aSender
597 searchDirection:(EMMessageSearchDirection)aDirection;
622- (void)loadCustomMsgWithKeyword:(NSString* _Nullable)aKeyword
623 timestamp:(
long long)aTimestamp
625 fromUser:(NSString* _Nullable)aSender
626 searchDirection:(EMMessageSearchDirection)aDirection
627 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
658- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesFrom:(
long long)aStartTimestamp
659 to:(
long long)aEndTimestamp
680- (void)loadMessagesFrom:(
long long)aStartTimestamp
681 to:(
long long)aEndTimestamp
683 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
705- (
EMError* _Nullable)removeMessagesStart:(NSInteger)aStartTimestamp
706 to:(NSInteger)aEndTimestamp;
Definition: EMChatMessage.h:82
Definition: EMConversation.h:67
NSDictionary * ext
Definition: EMConversation.h:121
int64_t pinnedTime
Definition: EMConversation.h:156
int messagesCount
Definition: EMConversation.h:108
BOOL isChatThread
Definition: EMConversation.h:134
EMChatMessage * latestMessage
Definition: EMConversation.h:165
EMConversationType type
Definition: EMConversation.h:90
BOOL isPinned
Definition: EMConversation.h:147
int unreadMessagesCount
Definition: EMConversation.h:99
NSString * conversationId
Definition: EMConversation.h:81
EMChatMessage *_Nullable lastReceivedMessage()