package com.adealink.frame.imkit.config

import io.rong.imlib.model.Conversation
import io.rong.imlib.model.ConversationIdentifier

interface DataProcessor<T> {
    /**
     * 设置会话列表页支持的会话类型
     *
     * @return 所支持的会话类型
     */
    fun supportedTypes(): Array<Conversation.ConversationType>

    /**
     * 对会话数据进行过滤。
     *
     *
     * 从数据库批量拉取到会话列表时和在线收到消息产生新会话时都会回调此方法
     *
     * @param data 待过滤的数据
     * @return 过滤完的数据。
     */
    fun filtered(data: List<T>): List<T>
}
