namespace SHH.CameraSdk;

/// <summary>
/// [状态代理契约] 设备连通性接口
/// 职责：仅暴露网络探测所需的最小数据集，屏蔽驱动层的复杂逻辑
/// </summary>
public interface IDeviceConnectivity
{
    // 设备的 ID (用于日志)
    long Id { get; }

    // 目标 IP 地址
    string IpAddress { get; }

    // 当前业务状态 (用于判断是否需要降级探测策略)
    VideoSourceStatus Status { get; }

    // 最后一次收到视频帧的时间 (用于帧心跳判定)
    long LastFrameTick { get; }

    // [核心] 代理入口：允许外部哨兵更新设备的在线状态
    void SetNetworkStatus(bool isOnline);
}