HyphenateChatSDK 5.0.0
IEMGroupManager.h
15#import <Foundation/Foundation.h>
16
17#import "EMCommonDefs.h"
18#import "EMGroupManagerDelegate.h"
19#import "EMGroup.h"
20#import "EMGroupConfigs.h"
21#import "EMCursorResult.h"
22#import "EMGroupSharedFile.h"
23
31@protocol IEMGroupManager <NSObject>
32
33@required
34
35#pragma mark - Delegate
36
50- (void)addDelegate:(id<EMGroupManagerDelegate> _Nonnull)aDelegate
51 delegateQueue:(dispatch_queue_t _Nullable )aQueue;
52
64- (void)removeDelegate:(id _Nonnull)aDelegate;
65
66
67#pragma mark - Get Group
68
81- (NSArray<EMGroup *> *_Nullable )getJoinedGroups;
82
93
94
95#pragma mark - Get group from server
96
114- (void)getJoinedGroupsCountFromServerWithCompletion:(void (^_Nullable)(NSInteger groupCount, EMError *_Nullable aError))aCompletionBlock;
115
116#pragma mark - Create
117
147- (void)createGroupWithSubject:(NSString *_Nullable)subject
148 avatar:(NSString *_Nullable)avatar
149 description:(NSString *_Nullable)description
150 invitees:(NSArray<NSString *> * _Nullable)invitees
151 message:(NSString *_Nullable)message
152 setting:(EMGroupConfigs *_Nullable)setting
153 completion:(void (^_Nullable)(EMGroup *_Nullable group, EMError *_Nullable error))completionBlock;
154
155#pragma mark - Fetch Info
156
176- (void)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
177 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
178
198- (void)getGroupSpecificationFromServerWithId:(NSString *_Nonnull)aGroupId
199 fetchMembers:(BOOL)fetchMembers
200 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
201
225- (void)getGroupMemberListFromServerWithId:(NSString *_Nonnull)aGroupId
226 cursor:(NSString *_Nullable)aCursor
227 pageSize:(NSInteger)aPageSize
228 completion:(void (^_Nullable)(EMCursorResult<NSString*> * _Nullable aResult, EMError *_Nullable aError))aCompletionBlock;
229
253- (void)fetchGroupMemberInfoListFromServerWithGroupId:(NSString *_Nonnull)groupId
254 cursor:(NSString *_Nonnull)cursor
255 limit:(NSInteger)limit
256 completion:(void (^_Nullable)(EMCursorResult<EMGroupMemberInfo*>* _Nullable cursorResult, EMError *_Nullable error))completionBlock;
257
281- (void)getGroupBlacklistFromServerWithId:(NSString *_Nonnull)aGroupId
282 pageNumber:(NSInteger)aPageNum
283 pageSize:(NSInteger)aPageSize
284 completion:(void (^_Nullable)(NSArray<NSString *> * _Nullable aList, EMError *_Nullable aError))aCompletionBlock;
285
309- (void)getGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
310 pageNumber:(NSInteger)aPageNum
311 pageSize:(NSInteger)aPageSize
312 completion:(void (^_Nullable)(NSArray<NSString *> * _Nullable aList, EMError *_Nullable aError))aCompletionBlock;
313
337- (void)fetchGroupMuteListFromServerWithId:(NSString *_Nonnull)aGroupId
338 pageNumber:(NSInteger)aPageNum
339 pageSize:(NSInteger)aPageSize
340 completion:(void (^_Nullable)(NSDictionary<NSString *, NSNumber *> *_Nullable aDict, EMError *_Nullable aError))aCompletionBlock;
341
363- (void)getGroupFileListWithId:(NSString *_Nonnull)aGroupId
364 pageNumber:(NSInteger)aPageNum
365 pageSize:(NSInteger)aPageSize
366 completion:(void (^_Nullable)(NSArray<EMGroupSharedFile *> *_Nullable aList, EMError *_Nullable aError))aCompletionBlock;
367
368
384- (void)getGroupWhiteListFromServerWithId:(NSString *_Nonnull)aGroupId
385 completion:(void (^_Nullable)(NSArray<NSString *> * _Nullable aList, EMError *_Nullable aError))aCompletionBlock;
401- (void)isMemberInWhiteListFromServerWithGroupId:(NSString *_Nonnull)aGroupId
402 completion:(void (^_Nullable)(BOOL inWhiteList, EMError *_Nullable aError))aCompletionBlock;
403
419- (void)isMemberInMuteListFromServerWithGroupId:(NSString * _Nonnull)aGroupId
420 completion:(void (^ _Nonnull)(BOOL inMuteList, EMError * _Nullable aError))aCompletionBlock;
421
437- (void)getGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
438 completion:(void (^_Nullable)(NSString * _Nullable aAnnouncement, EMError *_Nullable aError))aCompletionBlock;
439
440#pragma mark - Public Group
441
456- (void)joinPublicGroup:(NSString *_Nonnull)aGroupId
457 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
458
475- (void)requestToJoinPublicGroup:(NSString *_Nonnull)aGroupId
476 message:(NSString *_Nullable)aMessage
477 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
478#pragma mark - Edit Group
479
499- (void)addMembers:(NSArray<NSString *> * _Nonnull)aUsers
500 toGroup:(NSString *_Nonnull)aGroupId
501 message:(NSString *_Nullable)aMessage
502 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
503
525- (void)removeMembers:(NSArray<NSString *> * _Nonnull)aUsers
526 fromGroup:(NSString *_Nonnull)aGroupId
527 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
528
550- (void)blockMembers:(NSArray<NSString *> * _Nonnull)aMembers
551 fromGroup:(NSString *_Nonnull)aGroupId
552 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
553
575- (void)unblockMembers:(NSArray<NSString *> * _Nonnull)aMembers
576 fromGroup:(NSString *_Nonnull)aGroupId
577 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
578
600- (void)updateGroupSubject:(NSString *_Nullable)aSubject
601 forGroup:(NSString *_Nonnull)aGroupId
602 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
624- (void)updateGroupAvatar:(NSString *_Nullable)avatar
625 groupId:(NSString *_Nonnull)groupId
626 completion:(void (^_Nullable)(EMGroup *_Nullable group, EMError *_Nullable error))completionBlock;
627
649- (void)updateGroupWithId:(NSString *_Nonnull)groupId
650 types:(EMGroupConfigsType)type
651 configs:(EMGroupConfigs *_Nonnull)configs
652 completion:(void (^_Nullable)(EMGroup *_Nullable
653 group, EMError *_Nullable error))aCompletionBlock;
675- (void)updateDescription:(NSString *_Nullable)aDescription
676 forGroup:(NSString *_Nonnull)aGroupId
677 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
678
694- (void)leaveGroup:(NSString *_Nonnull)aGroupId
695 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
696
715- (void)destroyGroup:(NSString *_Nonnull)aGroupId
716 finishCompletion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
717
734- (void)blockGroup:(NSString *_Nonnull)aGroupId
735 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
736
751- (void)unblockGroup:(NSString *_Nonnull)aGroupId
752 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
753
775- (void)updateGroupOwner:(NSString *_Nonnull)aGroupId
776 newOwner:(NSString *_Nonnull)aNewOwner
777 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
778
804- (void)addAdmin:(NSString *_Nonnull)aAdmin
805 toGroup:(NSString *_Nonnull)aGroupId
806 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
807
833- (void)removeAdmin:(NSString *_Nonnull)aAdmin
834 fromGroup:(NSString *_Nonnull)aGroupId
835 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
836
863- (void)muteMembers:(NSArray<NSString *> * _Nonnull)aMuteMembers
864 muteMilliseconds:(NSInteger)aMuteMilliseconds
865 fromGroup:(NSString *_Nonnull)aGroupId
866 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
867
892- (void)unmuteMembers:(NSArray<NSString *> * _Nonnull)aMembers
893 fromGroup:(NSString *_Nonnull)aGroupId
894 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
917- (void)muteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
918 completion:(void(^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
919
920
943- (void)unmuteAllMembersFromGroup:(NSString *_Nonnull)aGroupId
944 completion:(void(^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
945
968- (void)addWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
969 fromGroup:(NSString *_Nonnull)aGroupId
970 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
971
996- (void)removeWhiteListMembers:(NSArray<NSString *> * _Nonnull)aMembers
997 fromGroup:(NSString *_Nonnull)aGroupId
998 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
999
1019- (void)uploadGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1020 filePath:(NSString* _Nonnull)aFilePath
1021 progress:(void (^_Nullable)(int progress))aProgressBlock
1022 completion:(void (^_Nullable)(EMGroupSharedFile *_Nullable aSharedFile, EMError *_Nullable aError))aCompletionBlock;
1023
1043- (void)downloadGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1044 filePath:(NSString *_Nonnull)aFilePath
1045 sharedFileId:(NSString *_Nonnull)aSharedFileId
1046 progress:(void (^_Nullable)(int progress))aProgressBlock
1047 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
1048
1064- (void)removeGroupSharedFileWithId:(NSString *_Nonnull)aGroupId
1065 sharedFileId:(NSString *_Nonnull)aSharedFileId
1066 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
1067
1092- (void)updateGroupAnnouncementWithId:(NSString *_Nonnull)aGroupId
1093 announcement:(NSString *_Nullable)aAnnouncement
1094 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
1095
1116- (void)updateGroupExtWithId:(NSString *_Nonnull)aGroupId
1117 ext:(NSString *_Nullable)aExt
1118 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
1119
1120
1121
1122
1123#pragma mark - Application
1124
1150- (void)approveJoinGroupRequest:(NSString *_Nonnull)aGroupId
1151 sender:(NSString *_Nonnull)aUsername
1152 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
1180- (void)declineJoinGroupRequest:(NSString *_Nonnull)aGroupId
1181 sender:(NSString *_Nonnull)aUsername
1182 reason:(NSString *_Nullable)aReason
1183 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
1184
1207- (void)acceptInvitationFromGroup:(NSString *_Nonnull)aGroupId
1208 inviter:(NSString *_Nonnull)aUsername
1209 completion:(void (^_Nullable)(EMGroup *_Nullable aGroup, EMError *_Nullable aError))aCompletionBlock;
1210
1234- (void)declineGroupInvitation:(NSString *_Nonnull)aGroupId
1235 inviter:(NSString *_Nonnull)aInviter
1236 reason:(NSString *_Nullable)aReason
1237 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
1238
1239
1240#pragma mark - Group member attributes
1258- (void)setMemberAttribute:(NSString *_Nonnull)groupId userId:(NSString *_Nonnull)userId attributes:(NSDictionary<NSString*,NSString*> *_Nonnull)attributes completion:(void (^_Nullable)(EMError *_Nullable error))completionBlock;
1259
1281- (void)fetchMemberAttribute:(NSString *_Nonnull)groupId userId:(NSString *_Nonnull)userId completion:(void (^ _Nullable)(NSDictionary<NSString *,NSString *> * _Nullable, EMError * _Nullable))completionBlock;
1306- (void)fetchMembersAttributes:(NSString *_Nonnull)groupId userIds:(NSArray<__kindof NSString *> *_Nonnull)userIds keys:(NSArray<__kindof NSString *> *_Nonnull)keys completion:(void (^_Nullable)(NSDictionary<NSString*,NSDictionary<NSString*,NSString*>*> *_Nullable attributes, EMError *_Nullable error))completionBlock;
1307
1321- (void)updateGroupNamecard:(NSString* _Nonnull)groupId
1322 namecard:(NSString*_Nullable)namecard
1323 completion:(void (^_Nullable)(EMError *_Nullable error))completionBlock;
1324
1338- (NSString* _Nullable)getGroupNamecardWithGroupId:(NSString* _Nonnull)groupId
1339 userId:(NSString*_Nonnull)userId;
1340@end
Definition: EMCursorResult.h:27
Definition: EMError.h:27
Definition: EMGroupConfigs.h:44
Definition: EMGroup.h:32
Definition: EMGroupMemberInfo.h:28
Definition: EMGroupSharedFile.h:24
Definition: EMGroupManagerDelegate.h:40
Definition: IEMGroupManager.h:31
NSArray< EMGroup * > *_Nullable getJoinedGroups()