using System;
namespace TDMS
{
public interface ITDMSChannel : ITDMSLevel, IDisposable
{
///
/// 获取通道数据的单位,例如:V、A、m/s等。
///
string Unit { get; }
///
/// 向通道内设置数据。该方法将会从索引为0的位置开始覆盖原有数据。
///
/// 数据的类型
/// 数据集合
/// 是否执行成功
bool SetData(params T[] values);
///
/// 向通道内追加数据。
///
/// 数据的类型
/// 数据集合
/// 是否执行成功
bool AppendData(params T[] values);
///
/// 向通道内更新指定位置的数据。
///
/// 数据的类型
///
/// 要更新的通道中第一个数据值的从零开始的索引。从该索引开始的数据值将被values参数指定的值所更新。
///
/// 数据集合
/// 是否执行成功
bool UpdateData(int index, params T[] values);
///
/// 获取指定通道中从指定的某一个位置开始共计指定的数量的数据值
///
/// 待获取的数据的数据类型
/// 指定的第一个数据值的从零开始的索引
/// 指定的待获取数据的数量
T[] GetDataValues(uint startIndex, uint length);
}
}