HyphenateChatSDK 4.1.0
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 "EMCombineMessageBody.h"
31#import "EMCursorResult.h"
32
33#import "EMGroupMessageAck.h"
34#import "EMTranslateLanguage.h"
35#import "EMFetchServerMessagesOption.h"
36
44typedef NS_ENUM(NSUInteger, EMMessageFetchHistoryDirection) {
45 EMMessageFetchHistoryDirectionUp = 0,
46 EMMessageFetchHistoryDirectionDown
48};
49
50
51@class EMError;
52
64@protocol IEMChatManager <NSObject>
65
66@required
67
68#pragma mark - Delegate
69
83- (void)addDelegate:(id<EMChatManagerDelegate> _Nullable)aDelegate
84 delegateQueue:(dispatch_queue_t _Nullable)aQueue;
85
97- (void)removeDelegate:(id<EMChatManagerDelegate> _Nonnull)aDelegate;
98
99#pragma mark - Conversation
100
116- (NSArray<EMConversation *> * _Nullable)getAllConversations;
117
139- (NSArray<EMConversation *> * _Nullable)getAllConversations:(BOOL)isSort;
140
152- (void)getConversationsFromServer:(void (^_Nullable)(NSArray<EMConversation *> * _Nullable aConversations, EMError * _Nullable aError))aCompletionBlock EM_DEPRECATED_IOS(4_0_0, "Use -IEMChatManager getConversationsFromServerWithCursor:pageSize:completion");
153
169- (void)getConversationsFromServerByPage:(NSUInteger)pageNumber
170 pageSize:(NSUInteger)pageSize
171 completion:(void (^_Nullable)(NSArray<EMConversation *> * _Nullable aConversations, EMError * _Nullable aError))aCompletionBlock EM_DEPRECATED_IOS(4_0_0, "Use -IEMChatManager getConversationsFromServerWithCursor:pageSize:completion");
195- (void)getConversationsFromServerWithCursor:(nullable NSString *)cursor pageSize:(UInt8)pageSize completion:(nonnull void (^)(EMCursorResult<EMConversation *> * _Nullable result, EMError * _Nullable error))completionBlock;
196
216- (void)getPinnedConversationsFromServerWithCursor:(nullable NSString *)cursor pageSize:(UInt8)limit completion:(nonnull void (^)(EMCursorResult<EMConversation *> * _Nullable result, EMError * _Nullable error))completionBlock;
217
237- (void)pinConversation:(nonnull NSString *)conversationId isPinned:(BOOL)isPinned completionBlock:(nullable void(^)(EMError * _Nullable error))completionBlock;
238
254- (EMConversation *_Nullable)getConversationWithConvId:(NSString * _Nullable)aConversationId;
255
279- (EMConversation *_Nullable)getConversation:(NSString *_Nonnull)aConversationId
280 type:(EMConversationType)aType
281 createIfNotExist:(BOOL)aIfCreate;
282
310- (EMConversation *_Nullable)getConversation:(NSString *_Nonnull)aConversationId
311 type:(EMConversationType)aType
312 createIfNotExist:(BOOL)aIfCreate isThread:(BOOL)isThread;
313
334- (void)deleteConversation:(NSString * _Nonnull)aConversationId
335 isDeleteMessages:(BOOL)aIsDeleteMessages
336 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, EMError *_Nullable aError))aCompletionBlock;
337
360 - (void)deleteServerConversation:(NSString * _Nonnull)aConversationId
361 conversationType:(EMConversationType)aConversationType
362 isDeleteServerMessages:(BOOL)aIsDeleteServerMessages
363 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, EMError * _Nullable aError))aCompletionBlock;
364
385- (void)deleteConversations:(NSArray<EMConversation *> * _Nullable)aConversations
386 isDeleteMessages:(BOOL)aIsDeleteMessages
387 completion:(void (^_Nullable)(EMError * _Nullable aError))aCompletionBlock;
388
404- (void)importConversations:(NSArray<EMConversation *> * _Nullable)aConversations
405 completion:(void (^ _Nullable)(EMError * _Nullable aError))aCompletionBlock;
406
407#pragma mark - Message
408
423- (EMChatMessage * _Nullable)getMessageWithMessageId:(NSString * _Nonnull)aMessageId;
424
444- (NSString * _Nullable)getMessageAttachmentPath:(NSString * _Nonnull)aConversationId;
445
460- (void)importMessages:(NSArray<EMChatMessage *> * _Nonnull)aMessages
461 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
462
483- (void)updateMessage:(EMChatMessage *_Nonnull)aMessage
484 completion:(void (^_Nullable)(EMChatMessage * _Nullable aMessage, EMError * _Nullable aError))aCompletionBlock;
504- (void)modifyMessage:(NSString *_Nonnull)messageId body:(EMMessageBody *_Nonnull)body completion:(void (^_Nonnull)(EMError * _Nullable error,EMChatMessage *_Nullable message))completionBlock;
505
526- (void)sendMessageReadAck:(NSString * _Nonnull)aMessageId
527 toUser:(NSString * _Nonnull)aUsername
528 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
529
530
553- (void)sendGroupMessageReadAck:(NSString * _Nonnull)aMessageId
554 toGroup:(NSString * _Nonnull)aGroupId
555 content:(NSString * _Nullable)aContent
556 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
557
591- (void)ackConversationRead:(NSString * _Nonnull)conversationId
592 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
593
612- (void)recallMessageWithMessageId:(NSString *_Nonnull)aMessageId
613 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
614
615
635- (void)sendMessage:(EMChatMessage *_Nonnull)aMessage
636 progress:(void (^_Nullable)(int progress))aProgressBlock
637 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
638
654- (void)resendMessage:(EMChatMessage *_Nonnull)aMessage
655 progress:(void (^_Nullable)(int progress))aProgressBlock
656 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
657
677- (void)downloadMessageThumbnail:(EMChatMessage *_Nonnull)aMessage
678 progress:(void (^_Nullable)(int progress))aProgressBlock
679 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
680
704- (void)downloadMessageAttachment:(EMChatMessage *_Nonnull)aMessage
705 progress:(void (^_Nullable)(int progress))aProgressBlock
706 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
707
725- (void)downloadAndParseCombineMessage:(EMChatMessage* _Nonnull)aMessage
726 completion:(void (^_Nullable)(NSArray<EMChatMessage *>*_Nullable messages, EMError *_Nullable error))aCompletionBlock;
727
754- (EMCursorResult<EMChatMessage*> *_Nullable)fetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
755 conversationType:(EMConversationType)aConversationType
756 startMessageId:(NSString *_Nullable)aStartMessageId
757 fetchDirection:(EMMessageFetchHistoryDirection)direction
758 pageSize:(int)aPageSize
759 error:(EMError **_Nullable)pError;
784- (EMCursorResult<EMChatMessage*> *_Nullable)fetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
785 conversationType:(EMConversationType)aConversationType
786 startMessageId:(NSString *_Nullable)aStartMessageId
787 pageSize:(int)aPageSize
788 error:(EMError **_Nullable)pError;
789
790
815- (void)asyncFetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
816 conversationType:(EMConversationType)aConversationType
817 startMessageId:(NSString *_Nullable)aStartMessageId
818 pageSize:(int)aPageSize
819 completion:(void (^_Nullable)(EMCursorResult<EMChatMessage*> *_Nullable aResult, EMError *_Nullable aError))aCompletionBlock;
846- (void)asyncFetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
847 conversationType:(EMConversationType)aConversationType
848 startMessageId:(NSString *_Nullable)aStartMessageId
849 fetchDirection:(EMMessageFetchHistoryDirection)direction
850 pageSize:(int)aPageSize
851 completion:(void (^_Nullable)(EMCursorResult<EMChatMessage*> *_Nullable aResult, EMError *_Nullable aError))aCompletionBlock;
852
853
854
855
884- (void)asyncFetchGroupMessageAcksFromServer:(NSString *_Nonnull)aMessageId
885 groupId:(NSString *_Nonnull)aGroupId
886 startGroupAckId:(NSString *_Nonnull)aGroupAckId
887 pageSize:(int)aPageSize
888 completion:(void (^_Nullable)(EMCursorResult<EMGroupMessageAck *> *_Nullable aResult, EMError *_Nullable error, int totalCount))aCompletionBlock;
889
913- (void)reportMessageWithId:(NSString *_Nonnull )aMessageId
914 tag:(NSString *_Nonnull)aTag
915 reason:(NSString *_Nonnull)aReason
916 completion:(void(^_Nullable)(EMError* _Nullable error))aCompletion;
917
934- (void)deleteMessagesBefore:(NSUInteger)aTimestamp
935 completion:(void(^)(EMError*error))aCompletion;
936
937
938
955- (void)removeMessagesFromServerWithConversation:(EMConversation *_Nonnull)conversation messageIds:(NSArray <__kindof NSString*>*_Nonnull)messageIds completion:(void (^ _Nullable)(EMError * _Nullable aError))aCompletionBlock;
972- (void)removeMessagesFromServerWithConversation:(EMConversation *_Nonnull)conversation timeStamp:(NSTimeInterval)beforeTimeStamp completion:(void (^ _Nullable)(EMError * _Nullable aError))aCompletionBlock;
973
974
990- (void)translateMessage:(EMChatMessage * _Nonnull)aMessage
991 targetLanguages:(NSArray<NSString*>* _Nonnull)aLanguages
992 completion:(void (^_Nullable)(EMChatMessage * _Nullable message, EMError * _Nullable error))aCompletionBlock;
993
1006- (void)fetchSupportedLanguages:(void(^_Nullable)(NSArray<EMTranslateLanguage*>* _Nullable languages,EMError* _Nullable error))aCompletionBlock;
1007
1044- (NSArray<EMChatMessage *> * _Nullable)loadMessagesWithType:(EMMessageBodyType)aType
1045 timestamp:(long long)aTimestamp
1046 count:(int)aCount
1047 fromUser:(NSString* _Nullable)aUsername
1048 searchDirection:(EMMessageSearchDirection)aDirection;
1049
1080- (void)loadMessagesWithType:(EMMessageBodyType)aType
1081 timestamp:(long long)aTimestamp
1082 count:(int)aCount
1083 fromUser:(NSString*)aUsername
1084 searchDirection:(EMMessageSearchDirection)aDirection
1085 completion:(void (^)(NSArray<EMChatMessage *> *aMessages, EMError *aError))aCompletionBlock;
1086
1123- (NSArray<EMChatMessage *> *)loadMessagesWithKeyword:(NSString*)aKeywords
1124 timestamp:(long long)aTimestamp
1125 count:(int)aCount
1126 fromUser:(NSString*)aSender
1127 searchDirection:(EMMessageSearchDirection)aDirection;
1128
1158- (void)loadMessagesWithKeyword:(NSString*)aKeywords
1159 timestamp:(long long)aTimestamp
1160 count:(int)aCount
1161 fromUser:(NSString*)aSender
1162 searchDirection:(EMMessageSearchDirection)aDirection
1163 completion:(void (^)(NSArray<EMChatMessage *> *aMessages, EMError *aError))aCompletionBlock;
1164
1165NS_ASSUME_NONNULL_BEGIN
1181- (void)addReaction:(NSString *)reaction toMessage:(NSString *)messageId completion:(nullable void(^)(EMError * _Nullable))completion;
1182
1198- (void)removeReaction:(NSString *)reaction fromMessage:(NSString *)messageId completion:(nullable void(^)(EMError * _Nullable))completion;
1199
1217- (void)getReactionList:(NSArray <NSString *>*)messageIds
1218 groupId:(nullable NSString *)groupId
1219 chatType:(EMChatType)chatType
1220 completion:(void (^)(NSDictionary <NSString *, NSArray<EMMessageReaction *> *> *, EMError * _Nullable))completion;
1221
1241- (void)getReactionDetail:(NSString *)messageId
1242 reaction:(NSString *)reaction
1243 cursor:(nullable NSString *)cursor
1244 pageSize:(uint64_t)pageSize
1245 completion:(void (^)(EMMessageReaction *, NSString * _Nullable cursor, EMError * _Nullable))completion;
1246
1268- (void)fetchMessagesFromServerBy:(NSString* )conversationId
1269 conversationType:(EMConversationType)type
1270 cursor:(NSString* _Nullable)cursor
1271 pageSize:(NSUInteger)pageSize
1272 option:(EMFetchServerMessagesOption* _Nullable)option
1273 completion:(void (^_Nullable)(EMCursorResult<EMChatMessage*>* _Nullable result, EMError* _Nullable aError))aCompletionBlock;
1274NS_ASSUME_NONNULL_END
1275
1276@end
Definition: EMChatMessage.h:82
Definition: EMConversation.h:67
Definition: EMCursorResult.h:27
Definition: EMError.h:27
Definition: EMFetchServerMessagesOption.h:23
Definition: EMGroupMessageAck.h:21
Definition: EMMessageBody.h:46
Definition: EMMessageReaction.h:21
Definition: EMTranslateLanguage.h:20
Definition: EMChatManagerDelegate.h:31
Definition: IEMChatManager.h:64
NSArray< EMConversation * > *_Nullable getAllConversations()