HyphenateChatSDK 4.0.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 "EMCursorResult.h"
31
32#import "EMGroupMessageAck.h"
33#import "EMTranslateLanguage.h"
34
42typedef NS_ENUM(NSUInteger, EMMessageFetchHistoryDirection) {
43 EMMessageFetchHistoryDirectionUp = 0,
44 EMMessageFetchHistoryDirectionDown
46};
47
48
49@class EMError;
50
62@protocol IEMChatManager <NSObject>
63
64@required
65
66#pragma mark - Delegate
67
81- (void)addDelegate:(id<EMChatManagerDelegate> _Nullable)aDelegate
82 delegateQueue:(dispatch_queue_t _Nullable)aQueue;
83
95- (void)removeDelegate:(id<EMChatManagerDelegate> _Nonnull)aDelegate;
96
97#pragma mark - Conversation
98
110- (NSArray<EMConversation *> * _Nullable)getAllConversations;
111
123- (void)getConversationsFromServer:(void (^_Nullable)(NSArray<EMConversation *> * _Nullable aConversations, EMError * _Nullable aError))aCompletionBlock;
124
140- (void)getConversationsFromServerByPage:(NSUInteger)pageNumber
141 pageSize:(NSUInteger)pageSize
142 completion:(void (^_Nullable)(NSArray<EMConversation *> * _Nullable aConversations, EMError * _Nullable aError))aCompletionBlock;
143
159- (EMConversation *_Nullable)getConversationWithConvId:(NSString * _Nullable)aConversationId;
160
180- (EMConversation *_Nullable)getConversation:(NSString *_Nonnull)aConversationId
181 type:(EMConversationType)aType
182 createIfNotExist:(BOOL)aIfCreate;
183
207- (EMConversation *_Nullable)getConversation:(NSString *_Nonnull)aConversationId
208 type:(EMConversationType)aType
209 createIfNotExist:(BOOL)aIfCreate isThread:(BOOL)isThread;
210
231- (void)deleteConversation:(NSString * _Nonnull)aConversationId
232 isDeleteMessages:(BOOL)aIsDeleteMessages
233 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, EMError *_Nullable aError))aCompletionBlock;
234
257 - (void)deleteServerConversation:(NSString * _Nonnull)aConversationId
258 conversationType:(EMConversationType)aConversationType
259 isDeleteServerMessages:(BOOL)aIsDeleteServerMessages
260 completion:(void (^_Nullable)(NSString * _Nullable aConversationId, EMError * _Nullable aError))aCompletionBlock;
261
282- (void)deleteConversations:(NSArray<EMConversation *> * _Nullable)aConversations
283 isDeleteMessages:(BOOL)aIsDeleteMessages
284 completion:(void (^_Nullable)(EMError * _Nullable aError))aCompletionBlock;
285
301- (void)importConversations:(NSArray<EMConversation *> * _Nullable)aConversations
302 completion:(void (^ _Nullable)(EMError * _Nullable aError))aCompletionBlock;
303
304#pragma mark - Message
305
320- (EMChatMessage * _Nullable)getMessageWithMessageId:(NSString * _Nonnull)aMessageId;
321
341- (NSString * _Nullable)getMessageAttachmentPath:(NSString * _Nonnull)aConversationId;
342
357- (void)importMessages:(NSArray<EMChatMessage *> * _Nonnull)aMessages
358 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
359
380- (void)updateMessage:(EMChatMessage *_Nonnull)aMessage
381 completion:(void (^_Nullable)(EMChatMessage * _Nullable aMessage, EMError * _Nullable aError))aCompletionBlock;
382
403- (void)sendMessageReadAck:(NSString * _Nonnull)aMessageId
404 toUser:(NSString * _Nonnull)aUsername
405 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
406
407
430- (void)sendGroupMessageReadAck:(NSString * _Nonnull)aMessageId
431 toGroup:(NSString * _Nonnull)aGroupId
432 content:(NSString * _Nullable)aContent
433 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
434
468- (void)ackConversationRead:(NSString * _Nonnull)conversationId
469 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
470
489- (void)recallMessageWithMessageId:(NSString *_Nonnull)aMessageId
490 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
491
492
512- (void)sendMessage:(EMChatMessage *_Nonnull)aMessage
513 progress:(void (^_Nullable)(int progress))aProgressBlock
514 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
515
531- (void)resendMessage:(EMChatMessage *_Nonnull)aMessage
532 progress:(void (^_Nullable)(int progress))aProgressBlock
533 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
534
554- (void)downloadMessageThumbnail:(EMChatMessage *_Nonnull)aMessage
555 progress:(void (^_Nullable)(int progress))aProgressBlock
556 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
557
581- (void)downloadMessageAttachment:(EMChatMessage *_Nonnull)aMessage
582 progress:(void (^_Nullable)(int progress))aProgressBlock
583 completion:(void (^_Nullable)(EMChatMessage *_Nullable message, EMError *_Nullable error))aCompletionBlock;
584
585
586
613- (EMCursorResult<EMChatMessage*> *_Nullable)fetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
614 conversationType:(EMConversationType)aConversationType
615 startMessageId:(NSString *_Nullable)aStartMessageId
616 fetchDirection:(EMMessageFetchHistoryDirection)direction
617 pageSize:(int)aPageSize
618 error:(EMError **_Nullable)pError;
643- (EMCursorResult<EMChatMessage*> *_Nullable)fetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
644 conversationType:(EMConversationType)aConversationType
645 startMessageId:(NSString *_Nullable)aStartMessageId
646 pageSize:(int)aPageSize
647 error:(EMError **_Nullable)pError;
648
649
674- (void)asyncFetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
675 conversationType:(EMConversationType)aConversationType
676 startMessageId:(NSString *_Nullable)aStartMessageId
677 pageSize:(int)aPageSize
678 completion:(void (^_Nullable)(EMCursorResult<EMChatMessage*> *_Nullable aResult, EMError *_Nullable aError))aCompletionBlock;
705- (void)asyncFetchHistoryMessagesFromServer:(NSString *_Nonnull)aConversationId
706 conversationType:(EMConversationType)aConversationType
707 startMessageId:(NSString *_Nullable)aStartMessageId
708 fetchDirection:(EMMessageFetchHistoryDirection)direction
709 pageSize:(int)aPageSize
710 completion:(void (^_Nullable)(EMCursorResult<EMChatMessage*> *_Nullable aResult, EMError *_Nullable aError))aCompletionBlock;
711
712
713
714
743- (void)asyncFetchGroupMessageAcksFromServer:(NSString *_Nonnull)aMessageId
744 groupId:(NSString *_Nonnull)aGroupId
745 startGroupAckId:(NSString *_Nonnull)aGroupAckId
746 pageSize:(int)aPageSize
747 completion:(void (^_Nullable)(EMCursorResult<EMGroupMessageAck *> *_Nullable aResult, EMError *_Nullable error, int totalCount))aCompletionBlock;
748
771- (void)reportMessageWithId:(NSString *_Nonnull )aMessageId
772 tag:(NSString *_Nonnull)aTag
773 reason:(NSString *_Nonnull)aReason
774 completion:(void(^_Nullable)(EMError* _Nullable error))aCompletion;
775
792- (void)deleteMessagesBefore:(NSUInteger)aTimestamp
793 completion:(void(^)(EMError*error))aCompletion;
794
795
796
813- (void)removeMessagesFromServerWithConversation:(EMConversation *_Nonnull)conversation messageIds:(NSArray <__kindof NSString*>*_Nonnull)messageIds completion:(void (^ _Nullable)(EMError * _Nullable aError))aCompletionBlock;
830- (void)removeMessagesFromServerWithConversation:(EMConversation *_Nonnull)conversation timeStamp:(NSTimeInterval)beforeTimeStamp completion:(void (^ _Nullable)(EMError * _Nullable aError))aCompletionBlock;
831
832
848- (void)translateMessage:(EMChatMessage * _Nonnull)aMessage
849 targetLanguages:(NSArray<NSString*>* _Nonnull)aLanguages
850 completion:(void (^_Nullable)(EMChatMessage * _Nullable message, EMError * _Nullable error))aCompletionBlock;
851
864- (void)fetchSupportedLanguages:(void(^_Nullable)(NSArray<EMTranslateLanguage*>* _Nullable languages,EMError* _Nullable error))aCompletionBlock;
865
902- (NSArray<EMChatMessage *> * _Nullable)loadMessagesWithType:(EMMessageBodyType)aType
903 timestamp:(long long)aTimestamp
904 count:(int)aCount
905 fromUser:(NSString* _Nullable)aUsername
906 searchDirection:(EMMessageSearchDirection)aDirection;
907
938- (void)loadMessagesWithType:(EMMessageBodyType)aType
939 timestamp:(long long)aTimestamp
940 count:(int)aCount
941 fromUser:(NSString*)aUsername
942 searchDirection:(EMMessageSearchDirection)aDirection
943 completion:(void (^)(NSArray<EMChatMessage *> *aMessages, EMError *aError))aCompletionBlock;
944
981- (NSArray<EMChatMessage *> *)loadMessagesWithKeyword:(NSString*)aKeywords
982 timestamp:(long long)aTimestamp
983 count:(int)aCount
984 fromUser:(NSString*)aSender
985 searchDirection:(EMMessageSearchDirection)aDirection;
986
1016- (void)loadMessagesWithKeyword:(NSString*)aKeywords
1017 timestamp:(long long)aTimestamp
1018 count:(int)aCount
1019 fromUser:(NSString*)aSender
1020 searchDirection:(EMMessageSearchDirection)aDirection
1021 completion:(void (^)(NSArray<EMChatMessage *> *aMessages, EMError *aError))aCompletionBlock;
1022
1023NS_ASSUME_NONNULL_BEGIN
1039- (void)addReaction:(NSString *)reaction toMessage:(NSString *)messageId completion:(nullable void(^)(EMError * _Nullable))completion;
1040
1056- (void)removeReaction:(NSString *)reaction fromMessage:(NSString *)messageId completion:(nullable void(^)(EMError * _Nullable))completion;
1057
1075- (void)getReactionList:(NSArray <NSString *>*)messageIds
1076 groupId:(nullable NSString *)groupId
1077 chatType:(EMChatType)chatType
1078 completion:(void (^)(NSDictionary <NSString *, NSArray<EMMessageReaction *> *> *, EMError * _Nullable))completion;
1079
1099- (void)getReactionDetail:(NSString *)messageId
1100 reaction:(NSString *)reaction
1101 cursor:(nullable NSString *)cursor
1102 pageSize:(uint64_t)pageSize
1103 completion:(void (^)(EMMessageReaction *, NSString * _Nullable cursor, EMError * _Nullable))completion;
1104
1105NS_ASSUME_NONNULL_END
1106
1107@end
Definition: EMChatMessage.h:82
Definition: EMConversation.h:55
Definition: EMCursorResult.h:27
Definition: EMError.h:27
Definition: EMGroupMessageAck.h:21
Definition: EMMessageReaction.h:21
Definition: EMTranslateLanguage.h:20
Definition: EMChatManagerDelegate.h:31
Definition: IEMChatManager.h:62
NSArray< EMConversation * > *_Nullable getAllConversations()