using FLY.OBJComponents.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FLY.OBJComponents.IService
{

    /// <summary>
    /// 报警管理系统，配置，整个历史列表
    /// </summary>
    public interface IWarningService : INotifyPropertyChanged
    {
        /// <summary>
        /// 报警使能
        /// </summary>
        bool Enable { get; set; }

        /// <summary>
        /// 正在响铃
        /// </summary>
        bool IsRinging { get; }

        /// <summary>
        /// 复位，把全部报警消失
        /// </summary>
        void Reset();

        /// <summary>
        /// 静音，不消失报警，只是静音，新的报警来，还是会响
        /// </summary>
        void Silence();

        /// <summary>
        /// 当前报警列表
        /// </summary>
        IBuffer<FlyData_WarningHistory> ReasonList { get; }
        /// <summary>
        /// 近期的报警
        /// </summary>
        IBuffer<FlyData_WarningHistory> NewestList { get; }
    }
}
