TUIGroupInfoDataProvider.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Created by Tencent on 2023/06/09.
  2. // Copyright © 2023 Tencent. All rights reserved.
  3. @import Foundation;
  4. @import UIKit;
  5. @import ImSDK_Plus;
  6. @class TUICommonCellData;
  7. @class TUICommonTextCell;
  8. @class TUICommonSwitchCell;
  9. @class TUIButtonCell;
  10. @class TUIProfileCardCellData;
  11. @class TUIProfileCardCell;
  12. @class TUIGroupMemberCellData;
  13. @class TUIGroupMembersCellData;
  14. NS_ASSUME_NONNULL_BEGIN
  15. @protocol TUIGroupInfoDataProviderDelegate <NSObject>
  16. - (UINavigationController *)pushNavigationController;
  17. - (void)didSelectMembers;
  18. - (void)didSelectGroupNick:(TUICommonTextCell *)cell;
  19. - (void)didSelectAddOption:(UITableViewCell *)cell;
  20. - (void)didSelectCommon;
  21. - (void)didSelectOnNotDisturb:(TUICommonSwitchCell *)cell;
  22. - (void)didSelectOnTop:(TUICommonSwitchCell *)cell;
  23. - (void)didSelectOnFoldConversation:(TUICommonSwitchCell *)cell;
  24. - (void)didSelectOnChangeBackgroundImage:(TUICommonTextCell *)cell;
  25. - (void)didDeleteGroup:(TUIButtonCell *)cell;
  26. - (void)didClearAllHistory:(TUIButtonCell *)cell;
  27. - (void)didSelectGroupNotice;
  28. @end
  29. @interface TUIGroupInfoDataProvider : NSObject
  30. @property(nonatomic, weak) id<TUIGroupInfoDataProviderDelegate> delegate;
  31. @property(nonatomic, strong) V2TIMGroupInfo *groupInfo;
  32. @property(nonatomic, strong) NSMutableArray *dataList;
  33. @property(nonatomic, strong) NSMutableArray<TUIGroupMemberCellData *> *membersData;
  34. @property(nonatomic, strong) TUIGroupMembersCellData *groupMembersCellData;
  35. @property(nonatomic, strong, readonly) V2TIMGroupMemberFullInfo *selfInfo;
  36. @property(nonatomic, strong, readonly) TUIProfileCardCellData *profileCellData;
  37. - (instancetype)initWithGroupID:(NSString *)groupID;
  38. - (void)loadData;
  39. - (void)updateGroupInfo;
  40. - (void)setGroupAddOpt:(V2TIMGroupAddOpt)opt;
  41. - (void)setGroupApproveOpt:(V2TIMGroupAddOpt)opt;
  42. - (void)setGroupReceiveMessageOpt:(V2TIMReceiveMessageOpt)opt Succ:(V2TIMSucc)succ fail:(V2TIMFail)fail;
  43. - (void)setGroupName:(NSString *)groupName;
  44. - (void)setGroupNotification:(NSString *)notification;
  45. - (void)setGroupMemberNameCard:(NSString *)nameCard;
  46. - (void)dismissGroup:(V2TIMSucc)succ fail:(V2TIMFail)fail;
  47. - (void)quitGroup:(V2TIMSucc)succ fail:(V2TIMFail)fail;
  48. - (void)clearAllHistory:(V2TIMSucc)succ fail:(V2TIMFail)fail;
  49. - (void)updateGroupAvatar:(NSString *)url succ:(V2TIMSucc)succ fail:(V2TIMFail)fail;
  50. - (void)transferGroupOwner:(NSString *)groupID member:(NSString *)userID succ:(V2TIMSucc)succ fail:(V2TIMFail)fail;
  51. + (BOOL)isMeOwner:(V2TIMGroupInfo *)groupInfo;
  52. @end
  53. NS_ASSUME_NONNULL_END