NIMSessionPrivateProtocol.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. //
  2. // NIMSessionPrivateProtocol.h
  3. // NIMKit
  4. //
  5. // Created by chris on 2016/11/7.
  6. // Copyright © 2016年 NetEase. All rights reserved.
  7. //
  8. #ifndef NIMSessionPrivateProtocol_h
  9. #define NIMSessionPrivateProtocol_h
  10. #import "NIMSessionViewController.h"
  11. #import "YOUPAIBBNIMSessionViewController.h"
  12. @class NIMMessage;
  13. @class NIMMessageModel;
  14. @interface NIMSessionMessageOperateResult : NSObject
  15. @property (nonatomic,copy) NSArray *indexpaths;
  16. @property (nonatomic,copy) NSArray *messageModels;
  17. @end
  18. @protocol NIMSessionDataSource <NSObject>
  19. - (NSArray *)items;
  20. - (NIMSessionMessageOperateResult *)addMessageModels:(NSArray *)models;
  21. - (NIMSessionMessageOperateResult *)insertMessageModels:(NSArray *)models;
  22. - (NIMSessionMessageOperateResult *)deleteMessageModel:(NIMMessageModel *)model;
  23. - (NIMSessionMessageOperateResult *)updateMessageModel:(NIMMessageModel *)model;
  24. - (NIMMessageModel *)findModel:(NIMMessage *)message;
  25. - (NSInteger)indexAtModelArray:(NIMMessageModel *)model;
  26. - (NSArray *)deleteModels:(NSRange)range;
  27. - (void)resetMessages:(void(^)(NSError *error))handler;
  28. - (void)loadHistoryMessagesWithComplete:(void(^)(NSInteger index, NSArray *messages , NSError *error))handler;
  29. - (void)loadNewMessagesWithComplete:(void(^)(NSInteger index, NSArray *messages , NSError *error))handler;
  30. - (void)checkAttachmentState:(NSArray *)messages;
  31. - (NSDictionary *)checkReceipts:(NSArray<NIMMessageReceipt *> *)receipts;
  32. - (void)sendMessageReceipt:(NSArray *)messages;
  33. - (void)cleanCache;
  34. @end
  35. @protocol NIMSessionLayoutDelegate <NSObject>
  36. - (void)onRefresh;
  37. @end
  38. @protocol NIMSessionLayout <NSObject>
  39. - (void)update:(NSIndexPath *)indexPath;
  40. - (void)insert:(NSArray *)indexPaths animated:(BOOL)animated;
  41. - (void)remove:(NSArray *)indexPaths;
  42. - (BOOL)canInsertChatroomMessages;
  43. - (void)calculateContent:(NIMMessageModel *)model;
  44. - (void)reloadTable;
  45. - (void)resetLayout;
  46. - (void)changeLayout:(CGFloat)inputViewHeight;
  47. - (void)setDelegate:(id<NIMSessionLayoutDelegate>)delegate;
  48. - (void)layoutAfterRefresh;
  49. - (void)adjustOffset:(NSInteger)row;
  50. @end
  51. @interface NIMSessionViewController(Interactor)
  52. - (void)setInteractor:(id<NIMSessionInteractor>) interactor;
  53. - (void)setTableDelegate:(id<UITableViewDelegate, UITableViewDataSource>) tableDelegate;
  54. @end
  55. @interface YOUPAIBBNIMSessionViewController(Interactor)
  56. - (void)setInteractor:(id<NIMSessionInteractor>) interactor;
  57. - (void)setTableDelegate:(id<UITableViewDelegate, UITableViewDataSource>) tableDelegate;
  58. @end
  59. #endif /* NIMSessionPrivateProtocol_h */