15 #import <Foundation/Foundation.h>
17 #import "EMMessageBody.h"
18 #import "EMCursorResult.h"
27 typedef NS_ENUM(NSInteger, EMConversationType) {
28 EMConversationTypeChat = 0,
29 EMConversationTypeGroupChat,
30 EMConversationTypeChatRoom,
44 typedef NS_ENUM(NSInteger, EMMarkType) {
85 typedef NS_ENUM(NSInteger, EMMessageSearchDirection) {
86 EMMessageSearchDirectionUp = 0,
87 EMMessageSearchDirectionDown
97 typedef 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;
372 - (void)updateMessageChange:(
EMChatMessage *_Nonnull)aMessage
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;
NSArray< EMChatMessage * > *_Nullable pinnedMessages()
NSString * conversationId
Definition: EMConversation.h:128
Definition: EMConversation.h:113
Definition: EMChatMessage.h:113
int unreadMessagesCount
Definition: EMConversation.h:146
EMChatMessage * latestMessage
Definition: EMConversation.h:212
EMConversationType type
Definition: EMConversation.h:137
NSArray< NSNumber * > * marks
Definition: EMConversation.h:221
NSDictionary * ext
Definition: EMConversation.h:168
int64_t pinnedTime
Definition: EMConversation.h:203
BOOL isPinned
Definition: EMConversation.h:194
BOOL isChatThread
Definition: EMConversation.h:181
int messagesCount
Definition: EMConversation.h:155
EMChatMessage *_Nullable lastReceivedMessage()