27 lines
990 B
C#
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);
|
|
}
|
|
|