using System.ComponentModel.DataAnnotations;
namespace SHH.CameraSdk;
// ==============================================================================
// 2. 订阅策略 DTO (对应 A/B/C/D 进程需求)
// 用于多进程帧需求的注册与更新,支持显示帧和分析帧的独立配置
// ==============================================================================
public class SubscriptionDto
{
///
/// 进程唯一标识 (如 "AI_Process_01"、"Main_Display_02")
///
[Required(ErrorMessage = "进程标识 AppId 不能为空")]
[MaxLength(50, ErrorMessage = "AppId 长度不能超过 50 个字符")]
public string AppId { get; set; } = string.Empty;
///
/// 显示帧率需求 (单位: fps)
/// 不需要显示则设为 0,控制器会自动注销该类型需求
///
[Range(0, 60, ErrorMessage = "显示帧率需在 0-60 fps 范围内")]
public int DisplayFps { get; set; }
///
/// 分析帧率需求 (单位: fps)
/// 不需要分析则设为 0,控制器会自动注销该类型需求
///
[Range(0, 30, ErrorMessage = "分析帧率需在 0-30 fps 范围内")]
public int AnalysisFps { get; set; }
}