- geviscope-bridge: GeViScope SDK REST wrapper (:7720) - gcore-bridge: G-Core SDK REST wrapper (:7721) - geviserver-bridge: GeViServer REST wrapper (:7710) - copilot-coordinator: WebSocket coordination hub (:8090) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
37 lines
971 B
C#
37 lines
971 B
C#
namespace CopilotCoordinator.Models;
|
|
|
|
public record CameraLock(
|
|
int CameraId,
|
|
CameraLockPriority Priority,
|
|
string OwnerName,
|
|
DateTime OwnedSince,
|
|
DateTime ExpiresAt
|
|
);
|
|
|
|
public enum CameraLockPriority { None, High, Low }
|
|
|
|
public enum CameraLockNotificationType
|
|
{
|
|
Acquired,
|
|
TakenOver,
|
|
ConfirmTakeOver,
|
|
Confirmed,
|
|
Rejected,
|
|
ExpireSoon,
|
|
Unlocked
|
|
}
|
|
|
|
public record CameraLockResult(bool Acquired, CameraLock? Lock);
|
|
|
|
public record CameraLockNotification(
|
|
CameraLockNotificationType Type,
|
|
int CameraId,
|
|
string CopilotName
|
|
);
|
|
|
|
public record LockRequest(int CameraId, string KeyboardId, string Priority = "low");
|
|
public record UnlockRequest(int CameraId, string KeyboardId);
|
|
public record TakeoverRequest(int CameraId, string KeyboardId, string Priority = "low");
|
|
public record TakeoverConfirmRequest(int CameraId, string KeyboardId, bool Confirm);
|
|
public record ResetExpirationRequest(int CameraId, string KeyboardId);
|