HyphenateSDK  3.3.0
IEMGroupManager.h
1 
15 #import <Foundation/Foundation.h>
16 
17 #import "EMCommonDefs.h"
18 #import "EMGroupManagerDelegate.h"
19 #import "EMGroup.h"
20 #import "EMGroupOptions.h"
21 #import "EMCursorResult.h"
22 
30 @protocol IEMGroupManager <NSObject>
31 
32 @required
33 
34 #pragma mark - Delegate
35 
49 - (void)addDelegate:(id<EMGroupManagerDelegate>)aDelegate
50  delegateQueue:(dispatch_queue_t)aQueue;
51 
63 - (void)removeDelegate:(id)aDelegate;
64 
65 #pragma mark - Get Group
66 
79 - (NSArray *)getJoinedGroups;
80 
92 - (NSArray *)getGroupsWithoutPushNotification:(EMError **)pError;
93 
94 #pragma mark - Get group from server
95 
119 - (NSArray *)getJoinedGroupsFromServerWithPage:(NSInteger)aPageNum
120  pageSize:(NSInteger)aPageSize
121  error:(EMError **)pError;
122 
140 - (void)getJoinedGroupsFromServerWithPage:(NSInteger)aPageNum
141  pageSize:(NSInteger)aPageSize
142  completion:(void (^)(NSArray *aList, EMError *aError))aCompletionBlock;
143 
167 - (EMCursorResult *)getPublicGroupsFromServerWithCursor:(NSString *)aCursor
168  pageSize:(NSInteger)aPageSize
169  error:(EMError **)pError;
170 
188 - (void)getPublicGroupsFromServerWithCursor:(NSString *)aCursor
189  pageSize:(NSInteger)aPageSize
190  completion:(void (^)(EMCursorResult *aResult, EMError *aError))aCompletionBlock;
191 
213 - (EMGroup *)searchPublicGroupWithId:(NSString *)aGroundId
214  error:(EMError **)pError;
215 
231 - (void)searchPublicGroupWithId:(NSString *)aGroundId
232  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
233 
234 #pragma mark - Create
235 
265 - (EMGroup *)createGroupWithSubject:(NSString *)aSubject
266  description:(NSString *)aDescription
267  invitees:(NSArray *)aInvitees
268  message:(NSString *)aMessage
269  setting:(EMGroupOptions *)aSetting
270  error:(EMError **)pError;
271 
295 - (void)createGroupWithSubject:(NSString *)aSubject
296  description:(NSString *)aDescription
297  invitees:(NSArray *)aInvitees
298  message:(NSString *)aMessage
299  setting:(EMGroupOptions *)aSetting
300  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
301 
302 #pragma mark - Fetch Info
303 
325 - (EMGroup *)getGroupSpecificationFromServerWithId:(NSString *)aGroupId
326  error:(EMError **)pError;
327 
343 - (void)getGroupSpecificationFromServerWithId:(NSString *)aGroupID
344  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
345 
368 - (EMCursorResult *)getGroupMemberListFromServerWithId:(NSString *)aGroupId
369  cursor:(NSString *)aCursor
370  pageSize:(NSInteger)aPageSize
371  error:(EMError **)pError;
372 
392 - (void)getGroupMemberListFromServerWithId:(NSString *)aGroupId
393  cursor:(NSString *)aCursor
394  pageSize:(NSInteger)aPageSize
395  completion:(void (^)(EMCursorResult *aResult, EMError *aError))aCompletionBlock;
396 
416 - (NSArray *)getGroupBlacklistFromServerWithId:(NSString *)aGroupId
417  pageNumber:(NSInteger)aPageNum
418  pageSize:(NSInteger)aPageSize
419  error:(EMError **)pError;
420 
440 - (void)getGroupBlacklistFromServerWithId:(NSString *)aGroupId
441  pageNumber:(NSInteger)aPageNum
442  pageSize:(NSInteger)aPageSize
443  completion:(void (^)(NSArray *aList, EMError *aError))aCompletionBlock;
444 
464 - (NSArray *)getGroupMuteListFromServerWithId:(NSString *)aGroupId
465  pageNumber:(NSInteger)aPageNum
466  pageSize:(NSInteger)aPageSize
467  error:(EMError **)pError;
468 
488 - (void)getGroupMuteListFromServerWithId:(NSString *)aGroupId
489  pageNumber:(NSInteger)aPageNum
490  pageSize:(NSInteger)aPageSize
491  completion:(void (^)(NSArray *aList, EMError *aError))aCompletionBlock;
492 
493 #pragma mark - Edit Group
494 
520 - (EMGroup *)addOccupants:(NSArray *)aOccupants
521  toGroup:(NSString *)aGroupId
522  welcomeMessage:(NSString *)aWelcomeMessage
523  error:(EMError **)pError;
524 
544 - (void)addMembers:(NSArray *)aUsers
545  toGroup:(NSString *)aGroupId
546  message:(NSString *)aMessage
547  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
548 
572 - (EMGroup *)removeOccupants:(NSArray *)aOccupants
573  fromGroup:(NSString *)aGroupId
574  error:(EMError **)pError;
575 
593 - (void)removeMembers:(NSArray *)aUsers
594  fromGroup:(NSString *)aGroupId
595  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
596 
620 - (EMGroup *)blockOccupants:(NSArray *)aOccupants
621  fromGroup:(NSString *)aGroupId
622  error:(EMError **)pError;
623 
641 - (void)blockMembers:(NSArray *)aMembers
642  fromGroup:(NSString *)aGroupId
643  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
644 
645 
669 - (EMGroup *)unblockOccupants:(NSArray *)aOccupants
670  forGroup:(NSString *)aGroupId
671  error:(EMError **)pError;
672 
690 - (void)unblockMembers:(NSArray *)aMembers
691  fromGroup:(NSString *)aGroupId
692  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
693 
717 - (EMGroup *)changeGroupSubject:(NSString *)aSubject
718  forGroup:(NSString *)aGroupId
719  error:(EMError **)pError;
720 
738 - (void)updateGroupSubject:(NSString *)aSubject
739  forGroup:(NSString *)aGroupId
740  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
741 
765 - (EMGroup *)changeDescription:(NSString *)aDescription
766  forGroup:(NSString *)aGroupId
767  error:(EMError **)pError;
768 
786 - (void)updateDescription:(NSString *)aDescription
787  forGroup:(NSString *)aGroupId
788  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
789 
809 - (void)leaveGroup:(NSString *)aGroupId
810  error:(EMError **)pError;
811 
827 - (void)leaveGroup:(NSString *)aGroupId
828  completion:(void (^)(EMError *aError))aCompletionBlock;
829 
849 - (EMError *)destroyGroup:(NSString *)aGroupId;
850 
865 - (void)destroyGroup:(NSString *)aGroupId
866  finishCompletion:(void (^)(EMError *aError))aCompletionBlock;
867 
868 
890 - (EMGroup *)blockGroup:(NSString *)aGroupId
891  error:(EMError **)pError;
892 
907 - (void)blockGroup:(NSString *)aGroupId
908  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
909 
931 - (EMGroup *)unblockGroup:(NSString *)aGroupId
932  error:(EMError **)pError;
933 
948 - (void)unblockGroup:(NSString *)aGroupId
949  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
950 
951 
975 - (EMGroup *)updateGroupOwner:(NSString *)aGroupId
976  newOwner:(NSString *)aNewOwner
977  error:(EMError **)pError;
978 
996 - (void)updateGroupOwner:(NSString *)aGroupId
997  newOwner:(NSString *)aNewOwner
998  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
999 
1023 - (EMGroup *)addAdmin:(NSString *)aAdmin
1024  toGroup:(NSString *)aGroupId
1025  error:(EMError **)pError;
1026 
1044 - (void)addAdmin:(NSString *)aAdmin
1045  toGroup:(NSString *)aGroupId
1046  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1047 
1071 - (EMGroup *)removeAdmin:(NSString *)aAdmin
1072  fromGroup:(NSString *)aGroupId
1073  error:(EMError **)pError;
1074 
1092 - (void)removeAdmin:(NSString *)aAdmin
1093  fromGroup:(NSString *)aGroupId
1094  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1095 
1096 
1122 - (EMGroup *)muteMembers:(NSArray *)aMuteMembers
1123  muteMilliseconds:(NSInteger)aMuteMilliseconds
1124  fromGroup:(NSString *)aGroupId
1125  error:(EMError **)pError;
1126 
1147 - (void)muteMembers:(NSArray *)aMuteMembers
1148  muteMilliseconds:(NSInteger)aMuteMilliseconds
1149  fromGroup:(NSString *)aGroupId
1150  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1151 
1175 - (EMGroup *)unmuteMembers:(NSArray *)aMembers
1176  fromGroup:(NSString *)aGroupId
1177  error:(EMError **)pError;
1178 
1197 - (void)unmuteMembers:(NSArray *)aMembers
1198  fromGroup:(NSString *)aGroupId
1199  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1200 
1201 #pragma mark - Edit Public Group
1202 
1224 - (EMGroup *)joinPublicGroup:(NSString *)aGroupId
1225  error:(EMError **)pError;
1226 
1241 - (void)joinPublicGroup:(NSString *)aGroupId
1242  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1243 
1267 - (EMGroup *)applyJoinPublicGroup:(NSString *)aGroupId
1268  message:(NSString *)aMessage
1269  error:(EMError **)pError;
1270 
1288 - (void)requestToJoinPublicGroup:(NSString *)aGroupId
1289  message:(NSString *)aMessage
1290  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1291 
1292 #pragma mark - Application
1293 
1315 - (EMError *)acceptJoinApplication:(NSString *)aGroupId
1316  applicant:(NSString *)aUsername;
1317 
1335 - (void)approveJoinGroupRequest:(NSString *)aGroupId
1336  sender:(NSString *)aUsername
1337  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1338 
1362 - (EMError *)declineJoinApplication:(NSString *)aGroupId
1363  applicant:(NSString *)aUsername
1364  reason:(NSString *)aReason;
1365 
1385 - (void)declineJoinGroupRequest:(NSString *)aGroupId
1386  sender:(NSString *)aUsername
1387  reason:(NSString *)aReason
1388  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1389 
1413 - (EMGroup *)acceptInvitationFromGroup:(NSString *)aGroupId
1414  inviter:(NSString *)aUsername
1415  error:(EMError **)pError;
1416 
1435 - (void)acceptInvitationFromGroup:(NSString *)aGroupId
1436  inviter:(NSString *)aUsername
1437  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1438 
1462 - (EMError *)declineInvitationFromGroup:(NSString *)aGroupId
1463  inviter:(NSString *)aUsername
1464  reason:(NSString *)aReason;
1465 
1485 - (void)declineGroupInvitation:(NSString *)aGroupId
1486  inviter:(NSString *)aInviter
1487  reason:(NSString *)aReason
1488  completion:(void (^)(EMError *aError))aCompletionBlock;
1489 
1490 #pragma mark - Apns
1491 
1513 - (EMError *)ignoreGroupPush:(NSString *)aGroupId
1514  ignore:(BOOL)aIsIgnore;
1515 
1533 - (void)updatePushServiceForGroup:(NSString *)aGroupID
1534  isPushEnabled:(BOOL)aIsEnable
1535  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock;
1536 
1537 #pragma mark - EM_DEPRECATED_IOS 3.3.0
1538 
1558 - (NSArray *)getMyGroupsFromServerWithError:(EMError **)pError EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager getJoinedGroupsFromServerWithPage:pageSize:error:]");
1559 
1573 - (void)getJoinedGroupsFromServerWithCompletion:(void (^)(NSArray *aList, EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager getJoinedGroupsFromServerWithPage:pageSize:completion:]");
1574 
1598 - (EMGroup *)fetchGroupInfo:(NSString *)aGroupId
1599  includeMembersList:(BOOL)aIncludeMembersList
1600  error:(EMError **)pError EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager getGroupSpecificationFromServerWithId:error:]");
1601 
1619 - (void)getGroupSpecificationFromServerByID:(NSString *)aGroupID
1620  includeMembersList:(BOOL)aIncludeMembersList
1621  completion:(void (^)(EMGroup *aGroup, EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager getGroupSpecificationFromServerWithId:completion:]");
1622 
1644 - (NSArray *)fetchGroupBansList:(NSString *)aGroupId
1645  error:(EMError **)pError EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager getGroupBlacklistFromServerWithId:pageNumber:pageSize:error:]");
1646 
1662 - (void)getGroupBlackListFromServerByID:(NSString *)aGroupId
1663  completion:(void (^)(NSArray *aList, EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager getGroupBlacklistFromServerWithId:pageNumber:pageSize:completion:]");
1664 
1686 - (EMGroup *)destroyGroup:(NSString *)aGroupId
1687  error:(EMError **)pError EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager destroyGroup:]");
1688 
1703 - (void)destroyGroup:(NSString *)aGroupId
1704  completion:(void (^)(EMGroup* aGroup, EMError *aError))aCompletionBlock EM_DEPRECATED_IOS(3_1_0, 3_3_0, "Use -[IEMGroupManager destroyGroup:finishCompletion:]");
1705 
1706 #pragma mark - EM_DEPRECATED_IOS 3.2.3
1707 
1719 - (void)addDelegate:(id<EMGroupManagerDelegate>)aDelegate EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -[IEMGroupManager addDelegate:delegateQueue:]");
1720 
1721 #pragma mark - EM_DEPRECATED_IOS < 3.2.3
1722 
1734 - (NSArray *)getAllGroups __deprecated_msg("Use -getJoinedGroups");
1735 
1747 - (NSArray *)loadAllMyGroupsFromDB __deprecated_msg("Use -getJoinedGroups");
1748 
1760 - (NSArray *)getAllIgnoredGroupIds __deprecated_msg("Use -getGroupsWithoutPushNotification");
1761 
1777 - (void)asyncGetMyGroupsFromServer:(void (^)(NSArray *aList))aSuccessBlock
1778  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -getJoinedGroupsFromServerWithCompletion:");
1779 
1799 - (void)asyncGetPublicGroupsFromServerWithCursor:(NSString *)aCursor
1800  pageSize:(NSInteger)aPageSize
1801  success:(void (^)(EMCursorResult *aCursor))aSuccessBlock
1802  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -getPublicGroupsFromServerWithCursor:pageSize:completion:");
1803 
1821 - (void)asyncSearchPublicGroupWithId:(NSString *)aGroundId
1822  success:(void (^)(EMGroup *aGroup))aSuccessBlock
1823  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -searchPublicGroupWithId:completion:");
1824 
1850 - (void)asyncCreateGroupWithSubject:(NSString *)aSubject
1851  description:(NSString *)aDescription
1852  invitees:(NSArray *)aInvitees
1853  message:(NSString *)aMessage
1854  setting:(EMGroupOptions *)aSetting
1855  success:(void (^)(EMGroup *aGroup))aSuccessBlock
1856  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -createGroupWithSubject:description:invitees:message:setting:completion");
1857 
1877 - (void)asyncFetchGroupInfo:(NSString *)aGroupId
1878  includeMembersList:(BOOL)aIncludeMembersList
1879  success:(void (^)(EMGroup *aGroup))aSuccessBlock
1880  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -getGroupSpecificationFromServerByID:includeMembersList:completion:");
1881 
1899 - (void)asyncFetchGroupBansList:(NSString *)aGroupId
1900  success:(void (^)(NSArray *aList))aSuccessBlock
1901  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -getGroupBlackListFromServerByID:completion:");
1902 
1924 - (void)asyncAddOccupants:(NSArray *)aOccupants
1925  toGroup:(NSString *)aGroupId
1926  welcomeMessage:(NSString *)aWelcomeMessage
1927  success:(void (^)(EMGroup *aGroup))aSuccessBlock
1928  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -addMembers:toGroup:message:completion:");
1929 
1949 - (void)asyncRemoveOccupants:(NSArray *)aOccupants
1950  fromGroup:(NSString *)aGroupId
1951  success:(void (^)(EMGroup *aGroup))aSuccessBlock
1952  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -removeMembers:fromGroup:completion:");
1953 
1973 - (void)asyncBlockOccupants:(NSArray *)aOccupants
1974  fromGroup:(NSString *)aGroupId
1975  success:(void (^)(EMGroup *aGroup))aSuccessBlock
1976  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -blockMembers:fromGroup:completion:");
1977 
1997 - (void)asyncUnblockOccupants:(NSArray *)aOccupants
1998  forGroup:(NSString *)aGroupId
1999  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2000  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -unblockMembers:fromGroup:completion:");
2001 
2021 - (void)asyncChangeGroupSubject:(NSString *)aSubject
2022  forGroup:(NSString *)aGroupId
2023  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2024  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -updateGroupSubject:forGroup:completion");
2025 
2045 - (void)asyncChangeDescription:(NSString *)aDescription
2046  forGroup:(NSString *)aGroupId
2047  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2048  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -updateDescription:forGroup:completion");
2049 
2067 - (void)asyncLeaveGroup:(NSString *)aGroupId
2068  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2069  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -leaveGroup:completion");
2070 
2087 - (void)asyncDestroyGroup:(NSString *)aGroupId
2088  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2089  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -destroyGroup:completion");
2090 
2107 - (void)asyncBlockGroup:(NSString *)aGroupId
2108  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2109  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -blockGroup:completion:");
2110 
2127 - (void)asyncUnblockGroup:(NSString *)aGroupId
2128  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2129  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -unblockGroup:completion");
2130 
2147 - (void)asyncJoinPublicGroup:(NSString *)aGroupId
2148  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2149  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -joinPublicGroup:completion");
2150 
2170 - (void)asyncApplyJoinPublicGroup:(NSString *)aGroupId
2171  message:(NSString *)aMessage
2172  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2173  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -requestToJoinPublicGroup:message:completion:");
2174 
2194 - (void)asyncAcceptJoinApplication:(NSString *)aGroupId
2195  applicant:(NSString *)aUsername
2196  success:(void (^)())aSuccessBlock
2197  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -approveJoinGroupRequest:sender:completion:");
2198 
2220 - (void)asyncDeclineJoinApplication:(NSString *)aGroupId
2221  applicant:(NSString *)aUsername
2222  reason:(NSString *)aReason
2223  success:(void (^)())aSuccessBlock
2224  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -declineJoinGroupRequest:sender:reason:completion:");
2225 
2246 - (void)asyncAcceptInvitationFromGroup:(NSString *)aGroupId
2247  inviter:(NSString *)aUsername
2248  success:(void (^)(EMGroup *aGroup))aSuccessBlock
2249  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -acceptInvitationFromGroup:inviter:completion");
2250 
2272 - (void)asyncDeclineInvitationFromGroup:(NSString *)aGroupId
2273  inviter:(NSString *)aUsername
2274  reason:(NSString *)aReason
2275  success:(void (^)())aSuccessBlock
2276  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -declineGroupInvitation:inviter:reason:completion:");
2277 
2297 - (void)asyncIgnoreGroupPush:(NSString *)aGroupId
2298  ignore:(BOOL)aIsIgnore
2299  success:(void (^)())aSuccessBlock
2300  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -updatePushServiceForGroup:isPushEnabled:completion:");
2301 
2302 @end
Definition: EMGroupOptions.h:41
Definition: EMError.h:26
Definition: EMGroup.h:41
Definition: EMCursorResult.h:24
"Use -getJoinedGroups" __deprecated_msg()
NSArray * getJoinedGroups()
Definition: IEMGroupManager.h:30
Definition: EMGroupManagerDelegate.h:39