using System;
using MECF.Framework.Common.Event;
namespace Aitex.Core.RT.Device
{
public interface IDevice
{
#region Properties
///
/// 当设备报警状态发生变化时,调用此事件。
///
event Action OnDeviceAlarmStateChanged;
///
/// 设置或返回当前设备所属模组的名称。
///
string Module { get; set; }
///
/// 设置或返回当前设备的名称。
///
string Name { get; set; }
///
/// 设置或返回当前设备是否被使能。
///
///
/// 默认情况下,当设备被创建时自动使能;但如果设备对应的Module被配置为UnInstalled,则该设备
/// 会被其所属Module禁用,以提高RT性能,及避免产生不必要的报警信息。
///
bool IsEnabled { get; set; }
///
/// 设置或返回设备是否产生报警。
///
bool HasAlarm { get; }
#endregion
#region Methods
///
/// 初始化当前设备。
///
///
bool Initialize();
///
/// 执行当前设备的周期性扫描任务。
///
void Monitor();
///
/// 终止当前设备。
///
void Terminate();
///
/// 复位当前设备。
///
void Reset();
#endregion
}
}