You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
2.6 KiB

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CoreAgent.ProtocolClient.Models
{
/// <summary>
/// 协议客户端配置
/// </summary>
public class ProtocolClientConfig
{
/// <summary>
/// 客户端名称
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 服务器地址
/// </summary>
public string Address { get; set; } = string.Empty;
/// <summary>
/// 是否启用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 密码
/// </summary>
public string Password { get; set; } = string.Empty;
/// <summary>
/// 重连延迟(毫秒)
/// </summary>
public int ReconnectDelay { get; set; } = 5000;
/// <summary>
/// 是否启用SSL
/// </summary>
public bool Ssl { get; set; }
/// <summary>
/// 日志配置
/// </summary>
public ProtocolClientLogsConfig Logs { get; set; } = new();
/// <summary>
/// 是否只读
/// </summary>
public bool Readonly { get; set; }
/// <summary>
/// 模型
/// </summary>
public string Model { get; set; }
}
/// <summary>
/// 协议客户端日志配置
/// </summary>
public class ProtocolClientLogsConfig
{
/// <summary>
/// 日志层配置
/// </summary>
public Dictionary<string, LogLayerConfig> Layers { get; set; } = new();
/// <summary>
/// 是否启用信号日志
/// </summary>
public bool? Signal { get; set; }
/// <summary>
/// 是否启用控制信道日志
/// </summary>
public bool? Cch { get; set; }
}
/// <summary>
/// 日志层配置
/// </summary>
public class LogLayerConfig
{
/// <summary>
/// 日志级别
/// </summary>
[Required]
public string Level { get; set; } = "warn";
/// <summary>
/// 最大大小
/// </summary>
public int MaxSize { get; set; } = 1;
/// <summary>
/// 是否包含负载
/// </summary>
public bool Payload { get; set; } = false;
/// <summary>
/// 过滤器(用于兼容性)
/// </summary>
public string Filter { get; set; } = "warn";
}
}