xref: /aosp_15_r20/system/nfc/tools/casimir/src/proto/casimir.proto (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
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