using SHH.CameraSdk.HikFeatures;

namespace SHH.CameraSdk;

/// <summary>
/// 能力接口：时间同步
/// 只有实现了此接口的设备，才支持 WebAPI 的时间查询与设置
/// </summary>
public interface ITimeSyncFeature
{
    /// <summary> 获取设备当前时间 </summary>
    Task<DateTime> GetTimeAsync();

    /// <summary> 设置设备时间 </summary>
    Task SetTimeAsync(DateTime time);
}

/// <summary>
/// 能力接口：设备重启
/// </summary>
public interface IRebootFeature
{
    /// <summary>
    /// 发送重启指令
    /// </summary>
    /// <returns>任务完成表示指令发送成功</returns>
    Task RebootAsync();
}

/// <summary>
/// 能力接口：云台控制
/// </summary>
public interface IPtzFeature
{
    // 原有的手动控制 (按下/松开)
    Task PtzControlAsync(PtzAction action, bool stop, int speed = 4);

    // [新增] 点动控制 (自动复位)
    Task PtzStepAsync(PtzAction action, int durationMs, int speed = 4);
}