TUIMessageDataProvider.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Created by Tencent on 2023/06/09.
  2. // Copyright © 2023 Tencent. All rights reserved.
  3. #import <Foundation/Foundation.h>
  4. #import "TUIMessageBaseDataProvider.h"
  5. NS_ASSUME_NONNULL_BEGIN
  6. @class TUITextMessageCellData;
  7. @class TUIFaceMessageCellData;
  8. @class TUIImageMessageCellData;
  9. @class TUIVoiceMessageCellData;
  10. @class TUIVideoMessageCellData;
  11. @class TUIFileMessageCellData;
  12. @class TUISystemMessageCellData;
  13. @class TUIChatCallingDataProvider;
  14. @protocol TUIMessageDataProviderDataSource <TUIMessageBaseDataProviderDataSource>
  15. + (nullable Class)onGetCustomMessageCellDataClass:(NSString *)businessID;
  16. @end
  17. @interface TUIMessageDataProvider : TUIMessageBaseDataProvider
  18. + (void)setDataSourceClass:(Class<TUIMessageDataProviderDataSource>)dataSourceClass;
  19. #pragma mark - TUIMessageCellData parser
  20. + (nullable TUIMessageCellData *)getCellData:(V2TIMMessage *)message;
  21. #pragma mark - Last message parser
  22. + (void)asyncGetDisplayString:(NSArray<V2TIMMessage *> *)messageList callback:(void(^)(NSDictionary<NSString *, NSString *> *))callback;
  23. + (nullable NSString *)getDisplayString:(V2TIMMessage *)message;
  24. #pragma mark - Data source operate
  25. - (void)processQuoteMessage:(NSArray<TUIMessageCellData *> *)uiMsgs;
  26. - (void)deleteUIMsgs:(NSArray<TUIMessageCellData *> *)uiMsgs SuccBlock:(nullable V2TIMSucc)succ FailBlock:(nullable V2TIMFail)fail;
  27. - (void)removeUIMsgList:(NSArray<TUIMessageCellData *> *)cellDatas;
  28. + (TUIChatCallingDataProvider *)callingDataProvider;
  29. @end
  30. NS_ASSUME_NONNULL_END