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,
44typedef NS_ENUM(NSInteger, EMMarkType) {
85typedef NS_ENUM(NSInteger, EMMessageSearchDirection) {
86 EMMessageSearchDirectionUp = 0,
87 EMMessageSearchDirectionDown
97typedef NS_ENUM(NSInteger, EMMessageSearchScope) {
98 EMMessageSearchScopeContent = 0,
99 EMMessageSearchScopeExt,
100 EMMessageSearchScopeAll
137@property (nonatomic, assign, readonly) EMConversationType
type;
168@property (nonatomic, copy) NSDictionary *
ext;
221@property (nonatomic, readonly) NSArray<NSNumber*>*
marks;
259 error:(
EMError ** _Nullable)pError;
284 error:(
EMError **_Nullable)pError;
300- (void)deleteMessageWithId:(NSString *_Nonnull)aMessageId
301 error:(
EMError ** _Nullable)pError;
314- (void)deleteAllMessages:(
EMError ** _Nullable)pError;
333- (void)removeMessagesFromServerMessageIds:(NSArray <__kindof NSString*>*_Nonnull)messageIds completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
350- (void)removeMessagesFromServerWithTimeStamp:(NSTimeInterval)beforeTimeStamp completion:(
void (^ _Nullable)(
EMError * _Nullable aError))aCompletionBlock;
373 error:(
EMError ** _Nullable)pError;
389- (void)markMessageAsReadWithId:(NSString *_Nonnull)aMessageId
390 error:(
EMError ** _Nullable)pError;
404- (void)markAllMessagesAsRead:(
EMError ** _Nullable)pError;
416#pragma mark - Load Messages Methods
432- (
EMChatMessage * _Nullable)loadMessageWithId:(NSString * _Nonnull)aMessageId
433 error:(
EMError ** _Nullable)pError;
465- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
467 searchDirection:(EMMessageSearchDirection)aDirection;
495- (void)loadMessagesStartFromId:(NSString * _Nullable)aMessageId
497 searchDirection:(EMMessageSearchDirection)aDirection
498 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
528- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithType:(EMMessageBodyType)aType
529 timestamp:(
long long)aTimestamp
531 fromUser:(NSString* _Nullable)aUsername
532 searchDirection:(EMMessageSearchDirection)aDirection;
556- (void)loadMessagesWithType:(EMMessageBodyType)aType
557 timestamp:(
long long)aTimestamp
559 fromUser:(NSString* _Nullable)aUsername
560 searchDirection:(EMMessageSearchDirection)aDirection
561 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
593- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesWithKeyword:(NSString* _Nullable)aKeyword
594 timestamp:(
long long)aTimestamp
596 fromUser:(NSString* _Nullable)aSender
597 searchDirection:(EMMessageSearchDirection)aDirection;
622- (void)loadMessagesWithKeyword:(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;
660- (void)loadMessagesWithKeyword:(NSString* _Nullable)aKeyword
661 timestamp:(
long long)aTimestamp
663 fromUser:(NSString* _Nullable)aSender
664 searchDirection:(EMMessageSearchDirection)aDirection
665 scope:(EMMessageSearchScope)aScope
666 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
697- (NSArray<
EMChatMessage *> * _Nullable)loadCustomMsgWithKeyword:(NSString*)aKeyword
698 timestamp:(
long long)aTimestamp
700 fromUser:(NSString* _Nullable)aSender
701 searchDirection:(EMMessageSearchDirection)aDirection;
726- (void)loadCustomMsgWithKeyword:(NSString* _Nullable)aKeyword
727 timestamp:(
long long)aTimestamp
729 fromUser:(NSString* _Nullable)aSender
730 searchDirection:(EMMessageSearchDirection)aDirection
731 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
762- (NSArray<
EMChatMessage *> * _Nullable)loadMessagesFrom:(
long long)aStartTimestamp
763 to:(
long long)aEndTimestamp
784- (void)loadMessagesFrom:(
long long)aStartTimestamp
785 to:(
long long)aEndTimestamp
787 completion:(
void (^ _Nullable)(NSArray<
EMChatMessage *> * _Nullable aMessages,
EMError * _Nullable aError))aCompletionBlock;
809- (
EMError* _Nullable)removeMessagesStart:(NSInteger)aStartTimestamp
810 to:(NSInteger)aEndTimestamp;
Definition: EMChatMessage.h:114
Definition: EMConversation.h:114
NSDictionary * ext
Definition: EMConversation.h:168
int64_t pinnedTime
Definition: EMConversation.h:203
int messagesCount
Definition: EMConversation.h:155
BOOL isChatThread
Definition: EMConversation.h:181
EMChatMessage * latestMessage
Definition: EMConversation.h:212
EMConversationType type
Definition: EMConversation.h:137
NSArray< NSNumber * > * marks
Definition: EMConversation.h:221
NSArray< EMChatMessage * > *_Nullable pinnedMessages()
BOOL isPinned
Definition: EMConversation.h:194
int unreadMessagesCount
Definition: EMConversation.h:146
NSString * conversationId
Definition: EMConversation.h:128
EMChatMessage *_Nullable lastReceivedMessage()