/************************************************************ * * Hyphenate CONFIDENTIAL * __________________ * Copyright (C) 2016 Hyphenate Inc. All rights reserved. * * NOTICE: All information contained herein is, and remains * the property of Hyphenate Inc. * Dissemination of this information or reproduction of this material * is strictly forbidden unless prior written permission is obtained * from Hyphenate Inc. */ #import "EaseRefreshTableViewController.h" #import "EaseConversationModel.h" #import "EaseConversationCell.h" #if ENABLE_LITE == 1 #import #else #import #endif typedef NS_ENUM(int, DXDeleteConvesationType) { DXDeleteConvesationOnly, DXDeleteConvesationWithMessages, }; @class EaseConversationListViewController; @protocol EaseConversationListViewControllerDelegate /*! @method @brief 获取点击会话列表的回调 @discussion 获取点击会话列表的回调后,点击会话列表用户可以根据conversationModel自定义处理逻辑 @param conversationListViewController 当前会话列表视图 @param IConversationModel 会话模型 @result */ - (void)conversationListViewController:(EaseConversationListViewController *)conversationListViewController didSelectConversationModel:(id)conversationModel; @optional @end @protocol EaseConversationListViewControllerDataSource /*! @method @brief 构建实现协议IConversationModel的model @discussion 用户可以创建实现协议IConversationModel的自定义conversationModel对象,按照业务需要设置属性值 @param conversationListViewController 当前会话列表视图 @param conversation 会话对象 @result 返回实现协议IConversationModel的model对象 */ - (id)conversationListViewController:(EaseConversationListViewController *)conversationListViewController modelForConversation:(EMConversation *)conversation; @optional /*! @method @brief 获取最后一条消息显示的内容 @discussion 用户根据conversationModel实现,实现自定义会话中最后一条消息文案的显示内容 @param conversationListViewController 当前会话列表视图 @param IConversationModel 会话模型 @result 返回用户最后一条消息显示的内容 */ - (NSAttributedString *)conversationListViewController:(EaseConversationListViewController *)conversationListViewController latestMessageTitleForConversationModel:(id)conversationModel; /*! @method @brief 获取最后一条消息显示的时间 @discussion 用户可以根据conversationModel,自定义实现会话列表中时间文案的显示内容 @param conversationListViewController 当前会话列表视图 @param IConversationModel 会话模型 @result 返回用户最后一条消息时间的显示文案 */ - (NSString *)conversationListViewController:(EaseConversationListViewController *)conversationListViewController latestMessageTimeForConversationModel:(id)conversationModel; @end @interface EaseConversationListViewController : EaseRefreshTableViewController @property (weak, nonatomic) id delegate; @property (weak, nonatomic) id dataSource; /*! @method @brief 下拉加载更多 @discussion @result */ - (void)tableViewDidTriggerHeaderRefresh; /*! @method @brief 内存中刷新页面 @discussion @result */ - (void)refreshAndSortView; @end