syntax = "proto3"; option csharp_namespace = "GeViScopeBridge.Protos"; package geviscopebridge; import "common.proto"; // Camera Service - Video Input Management service CameraService { // List all cameras (video inputs) rpc ListCameras(ListCamerasRequest) returns (ListCamerasResponse); // Get detailed information about a specific camera rpc GetCamera(GetCameraRequest) returns (CameraInfo); } message ListCamerasRequest { // No parameters needed - returns all cameras } message ListCamerasResponse { repeated CameraInfo cameras = 1; int32 total_count = 2; } message GetCameraRequest { int32 camera_id = 1; // Channel number } message CameraInfo { int32 id = 1; // Channel/GlobalID string name = 2; // Camera name string description = 3; // Optional description bool has_ptz = 4; // PTZ capable bool has_video_sensor = 5; // Video sensor available string status = 6; // "online", "offline", "unknown" Timestamp last_seen = 7; // Last activity timestamp }