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>
This commit is contained in:
36
copilot-coordinator/Models/CameraLock.cs
Normal file
36
copilot-coordinator/Models/CameraLock.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user