1*7eba2f3bSAndroid Build Coastguard Workersyntax = "proto2"; 2*7eba2f3bSAndroid Build Coastguard Worker 3*7eba2f3bSAndroid Build Coastguard Workerpackage casimir; 4*7eba2f3bSAndroid Build Coastguard Worker 5*7eba2f3bSAndroid Build Coastguard Worker/// Description of the Casimir gRPC service. 6*7eba2f3bSAndroid Build Coastguard Workerservice Casimir { 7*7eba2f3bSAndroid Build Coastguard Worker /// Returns the list of devices currently connected to, 8*7eba2f3bSAndroid Build Coastguard Worker /// or existing within Casimir. Listed devices may be of three 9*7eba2f3bSAndroid Build Coastguard Worker /// different types: 10*7eba2f3bSAndroid Build Coastguard Worker /// - NCI device (Host connected through the NCI port) 11*7eba2f3bSAndroid Build Coastguard Worker /// - RF device (device emulated through the RF port) 12*7eba2f3bSAndroid Build Coastguard Worker /// - Tag device (device fully emulated by Casimir) 13*7eba2f3bSAndroid Build Coastguard Worker rpc ListDevices(ListDevicesRequest) returns (ListDevicesResponse); 14*7eba2f3bSAndroid Build Coastguard Worker 15*7eba2f3bSAndroid Build Coastguard Worker /// Query information about a created device. 16*7eba2f3bSAndroid Build Coastguard Worker rpc GetDevice(GetDeviceRequest) returns (GetDeviceResponse); 17*7eba2f3bSAndroid Build Coastguard Worker 18*7eba2f3bSAndroid Build Coastguard Worker /// Change the relative position of the selected device. 19*7eba2f3bSAndroid Build Coastguard Worker rpc MoveDevice(MoveDeviceRequest) returns (MoveDeviceResponse); 20*7eba2f3bSAndroid Build Coastguard Worker} 21*7eba2f3bSAndroid Build Coastguard Worker 22*7eba2f3bSAndroid Build Coastguard Worker/// Information about a connected device that can be queried 23*7eba2f3bSAndroid Build Coastguard Worker/// from ListDevices or GetDevice. 24*7eba2f3bSAndroid Build Coastguard Workermessage Device { 25*7eba2f3bSAndroid Build Coastguard Worker message Nci {} 26*7eba2f3bSAndroid Build Coastguard Worker message Rf {} 27*7eba2f3bSAndroid Build Coastguard Worker 28*7eba2f3bSAndroid Build Coastguard Worker optional uint32 device_id = 1; 29*7eba2f3bSAndroid Build Coastguard Worker optional uint32 position = 2; 30*7eba2f3bSAndroid Build Coastguard Worker 31*7eba2f3bSAndroid Build Coastguard Worker oneof type { 32*7eba2f3bSAndroid Build Coastguard Worker Nci nci = 3; 33*7eba2f3bSAndroid Build Coastguard Worker Rf rf = 4; 34*7eba2f3bSAndroid Build Coastguard Worker } 35*7eba2f3bSAndroid Build Coastguard Worker} 36*7eba2f3bSAndroid Build Coastguard Worker 37*7eba2f3bSAndroid Build Coastguard Worker/// Parameters for the ListDevices command. 38*7eba2f3bSAndroid Build Coastguard Workermessage ListDevicesRequest { 39*7eba2f3bSAndroid Build Coastguard Worker} 40*7eba2f3bSAndroid Build Coastguard Worker 41*7eba2f3bSAndroid Build Coastguard Worker/// Result of the ListDevices command. 42*7eba2f3bSAndroid Build Coastguard Workermessage ListDevicesResponse { 43*7eba2f3bSAndroid Build Coastguard Worker repeated Device device = 1; 44*7eba2f3bSAndroid Build Coastguard Worker} 45*7eba2f3bSAndroid Build Coastguard Worker 46*7eba2f3bSAndroid Build Coastguard Worker/// Parameters for the GetDevice command. 47*7eba2f3bSAndroid Build Coastguard Workermessage GetDeviceRequest { 48*7eba2f3bSAndroid Build Coastguard Worker optional uint32 device_id = 1; 49*7eba2f3bSAndroid Build Coastguard Worker} 50*7eba2f3bSAndroid Build Coastguard Worker 51*7eba2f3bSAndroid Build Coastguard Worker/// Result of the GetDevice command. 52*7eba2f3bSAndroid Build Coastguard Workermessage GetDeviceResponse { 53*7eba2f3bSAndroid Build Coastguard Worker optional Device device = 1; 54*7eba2f3bSAndroid Build Coastguard Worker} 55*7eba2f3bSAndroid Build Coastguard Worker 56*7eba2f3bSAndroid Build Coastguard Worker/// Parameters for the MoveDevice command. 57*7eba2f3bSAndroid Build Coastguard Worker/// The device ID uniquely identifies the device; the position 58*7eba2f3bSAndroid Build Coastguard Worker/// is interpreted on a linear range (the only information pertinent for 59*7eba2f3bSAndroid Build Coastguard Worker/// NFC is contact / no-contact). 60*7eba2f3bSAndroid Build Coastguard Workermessage MoveDeviceRequest { 61*7eba2f3bSAndroid Build Coastguard Worker optional uint32 device_id = 1; 62*7eba2f3bSAndroid Build Coastguard Worker optional uint32 position = 2; 63*7eba2f3bSAndroid Build Coastguard Worker} 64*7eba2f3bSAndroid Build Coastguard Worker 65*7eba2f3bSAndroid Build Coastguard Worker/// Result of the MoveDevice command. 66*7eba2f3bSAndroid Build Coastguard Workermessage MoveDeviceResponse { 67*7eba2f3bSAndroid Build Coastguard Worker} 68