using PVDEMCS.Common.DI;
using PVDEMCS.Services;
using PVDEMCS.Services.Models;
using System.Threading;

namespace PVDEMCS.Devices
{
    /// <summary>
    /// 设备运行
    /// </summary>
    public interface IDeviceRun : IDependency
    {

        /// <summary>
        /// 获取所有点位信息
        /// </summary>
        List<DevicePoint> GetDevicePoints { get; }

        /// <summary>
        /// 获取控制器连接状态
        /// </summary>
        Dictionary<string, bool> GetDeviceIsConnected { get; }

        /// <summary>
        /// 开始运行
        /// </summary>
        void Run();

        /// <summary>
        /// 停止运行
        /// </summary>
        void Stop();
    }
}
