HyphenateChatSDK 4.2.3
IEMChatManager.h
1
15#import <Foundation/Foundation.h>
16
17#import "EMCommonDefs.h"
18#import "EMChatManagerDelegate.h"
19#import "EMConversation.h"
20
21#import "EMChatMessage.h"
22#import "EMTextMessageBody.h"
23#import "EMLocationMessageBody.h"
24#import "EMCmdMessageBody.h"
25#import "EMFileMessageBody.h"
26#import "EMImageMessageBody.h"
27#import "EMVoiceMessageBody.h"
28#import "EMVideoMessageBody.h"
29#import "EMCustomMessageBody.h"
30#import "EMCursorResult.h"
31
32#import "EMFetchServerMessagesOption.h"
33
41typedef NS_ENUM(NSUInteger, EMMessageFetchHistoryDirection) {
42 EMMessageFetchHistoryDirectionUp = 0,
43 EMMessageFetchHistoryDirectionDown
45};
46
47
48@class EMError;
49
61@protocol IEMChatManager <NSObject>
62
63@required
64
65#pragma mark - Delegate
66
80- (void)addDelegate:(id<EMChatManagerDelegate> _Nullable)aDelegate
81 delegateQueue:(dispatch_queue_t _Nullable)aQueue;
82
94- (void)removeDelegate:(id<EMChatManagerDelegate> _Nonnull)aDelegate;
95
96#pragma mark - Conversation
97
113- (NSArray<EMConversation *> * _Nullable)getAllConversations;
114
138- (void)getConversationsFromServerWithCursor:(nullable NSString *)cursor pageSize:(UInt8)pageSize completion:(nonnull void (^)(EMCursorResult<EMConversation *> * _Nullable result, EMError * _Nullable error))completionBlock;
139
159- (void)getPinnedConversationsFromServerWithCursor:(nullable NSString *)cursor pageSize:(UInt8)limit completion:(nonnull void (^)(EMCursorResult<EMConversation *> * _Nullable result, EMError * _Nullable error))completionBlock;
160
180- (void)pinConversation:(nonnull NSString *)conversationId isPinned:(BOOL)isPinned completionBlock:(nullable void(^)(EMError * _Nullable error))completionBlock;
181
197- (EMConversation *_Nullable)getConversationWithConvId:(NSString * _Nullable)aConversationId;
198
222- (EMConversation *_Nullable)getConversation:(NSString *_Nonnull)aConversationId
223 type:(EMConversationType)aType
224 createIfNotExist:(BOOL)aIfCreate;
225
246- (void)deleteConversation:(NSString * _Nonnull)aConversationId
247 isDeleteMessages:(BOOL)aIsDeleteMessages
248 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, EMError *_Nullable aError))aCompletionBlock;
249
272 - (void)deleteServerConversation:(NSString * _Nonnull)aConversationId
273 conversationType:(EMConversationType)aConversationType
274 isDeleteServerMessages:(BOOL)aIsDeleteServerMessages
275 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, EMError * _Nullable aError))aCompletionBlock;
276
277#pragma mark - Message
278
293- (EMChatMessage * _Nullable)getMessageWithMessageId:(NSString * _Nonnull)aMessageId;
294
315- (void)sendMessageReadAck:(NSString * _Nonnull)aMessageId
316 toUser:(NSString * _Nonnull)aUsername
317 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
318
352- (void)ackConversationRead:(NSString * _Nonnull)conversationId
353 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
354
373- (void)recallMessageWithMessageId:(NSString *_Nonnull)aMessageId
374 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
375
376
396- (void)sendMessage:(EMChatMessage *_Nonnull)aMessage
397 progress:(void (^_Nullable)(int progress))aProgressBlock
398 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
399
400
420- (void)downloadMessageThumbnail:(EMChatMessage *_Nonnull)aMessage
421 progress:(void (^_Nullable)(int progress))aProgressBlock
422 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
423
447- (void)downloadMessageAttachment:(EMChatMessage *_Nonnull)aMessage
448 progress:(void (^_Nullable)(int progress))aProgressBlock
449 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
450
451
468- (void)removeMessagesFromServerWithConversation:(EMConversation *_Nonnull)conversation timeStamp:(NSTimeInterval)beforeTimeStamp completion:(void (^ _Nullable)(EMError * _Nullable aError))aCompletionBlock;
469
470
471NS_ASSUME_NONNULL_BEGIN
472
494- (void)fetchMessagesFromServerBy:(NSString* )conversationId
495 conversationType:(EMConversationType)type
496 cursor:(NSString* _Nullable)cursor
497 pageSize:(NSUInteger)pageSize
498 option:(EMFetchServerMessagesOption* _Nullable)option
499 completion:(void (^_Nullable)(EMCursorResult<EMChatMessage*>* _Nullable result, EMError* _Nullable aError))aCompletionBlock;
500
501NS_ASSUME_NONNULL_END
502@end
Definition: EMChatMessage.h:79
Definition: EMConversation.h:67
Definition: EMCursorResult.h:27
Definition: EMError.h:27
Definition: EMFetchServerMessagesOption.h:23
Definition: EMChatManagerDelegate.h:31
Definition: IEMChatManager.h:61
NSArray< EMConversation * > *_Nullable getAllConversations()