2026-07-02 10:05:51 +08:00

27 lines
990 B
C#

using YD_TrainingCompetition_Api.Competition;
using YD_TrainingCompetition_Api.Models;
namespace YD_TrainingCompetition_Api.Services;
public interface IRealtimeNotifier
{
Task BroadcastTelemetryAsync(DeviceSnapshot snapshot, CancellationToken cancellationToken = default);
Task BroadcastCompetitionStateAsync(CompetitionSessionState state, CancellationToken cancellationToken = default);
/// <summary>
/// 通用广播方法,用于向所有客户端发送指定消息
/// </summary>
Task SendAsync(string method, object? payload, CancellationToken cancellationToken = default);
/// <summary>
/// 广播海康报警记录
/// </summary>
Task BroadcastHikvisionAlarmAsync(AlarmRecord record, CancellationToken cancellationToken = default);
/// <summary>
/// 广播海康摄像头状态变更
/// </summary>
Task BroadcastHikvisionCameraStatusAsync(HikvisionCameraStatus status, CancellationToken cancellationToken = default);
}