Files
COPILOT/copilot-coordinator/Models/CameraLock.cs
klas b2887b67db Add C# bridges and coordinator service
- 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>
2026-02-12 15:24:20 +01:00

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);