NIMSessionMsgDatasource.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // NIMSessionMsgDatasource.h
  3. // NIMKit
  4. //
  5. // Created by chris.
  6. // Copyright (c) 2015年 NetEase. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "NIMKitMessageProvider.h"
  10. #import "NIMSessionConfig.h"
  11. @class NIMMessageModel;
  12. @interface NIMSessionMsgDatasource : NSObject
  13. - (instancetype)initWithSession:(NIMSession*)session
  14. config:(id<NIMSessionConfig>)sessionConfig;
  15. @property (nonatomic, strong) NSMutableArray *items;
  16. @property (nonatomic, readonly) NSInteger messageLimit; //每页消息显示条数
  17. @property (nonatomic, readonly) NSInteger showTimeInterval; //两条消息相隔多久显示一条时间戳
  18. @property (nonatomic, weak) id<NIMSessionConfig> sessionConfig;
  19. - (NSInteger)indexAtModelArray:(NIMMessageModel*)model;
  20. //复位消息
  21. - (void)resetMessages:(void(^)(NSError *error)) handler;
  22. //数据对外接口
  23. - (void)loadHistoryMessagesWithComplete:(void(^)(NSInteger index , NSArray *messages ,NSError *error))handler;
  24. //数据load接口
  25. - (void)loadPullUpMessagesWithComplete:(void(^)(NSInteger index, NSArray *messages, NSError *error))handler;
  26. //添加消息,会根据时间戳插入到相应位置
  27. - (NSArray<NSNumber *> *)insertMessageModels:(NSArray*)models;
  28. //添加消息,直接插入消息列表末尾
  29. - (NSArray<NSNumber *> *)appendMessageModels:(NSArray *)models;
  30. //删除消息
  31. - (NSArray<NSNumber *> *)deleteMessageModel:(NIMMessageModel*)model;
  32. //根据范围批量删除消息
  33. - (NSArray<NSNumber *> *)deleteModels:(NSRange)range;
  34. //清理缓存数据
  35. - (void)cleanCache;
  36. @end