using System;
using System.Collections;
namespace Top.Api.Parser
{
    public delegate object DTopConvert(ITopReader reader, Type type);
    /// 
    /// TOP API响应读取器接口。响应格式可以是XML, JSON等等。
    /// 
    public interface ITopReader
    {
        /// 
        /// 判断响应中是否包含指定的属性。
        /// 
        /// 属性名称
        /// true/false
        bool HasReturnField(object name);
        /// 
        /// 获取值类型属性的值。
        /// 
        /// 属性名称
        /// 值对象
        object GetPrimitiveObject(object name);
        /// 
        /// 获取引用类型的值。
        /// 
        /// 属性名称
        /// 引用类型
        /// 转换器
        /// 引用对象
        object GetReferenceObject(object name, Type type, DTopConvert convert);
        /// 
        /// 获取列表类型的值。
        /// 
        /// 列表属性名称
        /// 列表项名称
        /// 引用类型
        /// 转换器
        /// 列表对象
        IList GetListObjects(string listName, string itemName, Type type, DTopConvert convert);
    }
}