#region << 版 本 注 释 >>

/*--------------------------------------------------------------------
* 版权所有 (c) 2025 WenJY 保留所有权利。
* CLR版本：4.0.30319.42000
* 机器名称：Mr.Wen's MacBook Pro
* 命名空间：Sln.Iot.Config
* 唯一标识：132376EA-435B-4340-B8F3-44D61AAE1E99
*
* 创建者：WenJY
* 电子邮箱：
* 创建时间：2025-04-11 10:54:31
* 版本：V1.0.0
* 描述：
*
*--------------------------------------------------------------------
* 修改人：
* 时间：
* 修改说明：
*
* 版本：V1.0.0
*--------------------------------------------------------------------*/

#endregion << 版 本 注 释 >>
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Options;

namespace Sln.Iot.Config
{
    public class AppConfig: IOptions<AppConfig>
    {
        /// <summary>
        /// 日志文件路径
        /// </summary>
        public string logPath { get; set; }

        /// <summary>
        /// 节拍时间（秒）
        /// </summary>
        public int CycleTime1 { get; set; }

        /// <summary>
        /// 节拍时间（秒）
        /// </summary>
        public int CycleTime2 { get; set; }

        /// <summary>
        /// 节拍时间（秒）
        /// </summary>
        public int CycleTime3 { get; set; }

        /// <summary>
        /// 节拍时间（秒）
        /// </summary>
        public int CycleTime4 { get; set; }

        /// <summary>
        /// PLC配置
        /// </summary>
        public List<PLCConfig> PLCConfig { get; set; }

        /// <summary>
        /// CFX配置-真空箱
        /// </summary>
        public CFXConfig VacuumConfig { get; set; }

        /// <summary>
        /// CFX配置-烤炉
        /// </summary>
        public CFXConfig OvenConfig { get; set; }

        /// <summary>
        /// MES的URL
        /// </summary>
        public string MESURL { get; set; }

        /// <summary>
        /// MES的URL
        /// </summary>
        public string TcpServerConfig { get; set; }

        /// <summary>
        /// MES的URN
        /// </summary>
        public string MESURN { get; set; }

        /// <summary>
        /// MES发送延时(秒)
        /// </summary>
        public int MesSendDelay { get; set; }

        /// <summary>
        /// 是否输出报警日志
        /// </summary>
        public bool IsAlarmLog { get; set; }

        /// <summary>
        /// 是否输出MES日志
        /// </summary>
        public bool IsMESLog { get; set; }

        /// <summary>
        /// 是否输出CFX日志
        /// </summary>
        public bool IsCFXLog { get; set; }

        /// <summary>
        /// Gets the current application configuration instance.
        /// </summary>
        public AppConfig Value => this;
    }
}