Loading android/pandora/server/proto/pandora/host.proto +70 −22 Original line number Diff line number Diff line Loading @@ -18,8 +18,9 @@ service Host { // The GRPC server might take some time to be available after // this command. rpc Reset(google.protobuf.Empty) returns (google.protobuf.Empty); // Remove pairing rpc DeletePairing(DeletePairingRequest) returns (DeletePairingResponse); // Read the local Bluetooth device address. // This should return the same value as a Read BD_ADDR HCI command. rpc ReadLocalAddress(google.protobuf.Empty) returns (ReadLocalAddressResponse); // Create an ACL BR/EDR connection to a peer. // This should send a CreateConnection on the HCI level. // If the two devices have not established a previous bond, Loading @@ -31,13 +32,25 @@ service Host { rpc WaitConnection(WaitConnectionRequest) returns (WaitConnectionResponse); // Disconnect an ACL BR/EDR connection. The Connection must not be reused afterwards. rpc Disconnect(DisconnectRequest) returns (DisconnectResponse); // Read the local Bluetooth device address. // This should return the same value as a Read BD_ADDR HCI command. rpc ReadLocalAddress(google.protobuf.Empty) returns (ReadLocalAddressResponse); // Create a LE connection // Create a LE connection. rpc ConnectLE(ConnectLERequest) returns (ConnectLEResponse); // Disconnect ongoing LE connection // Disconnect ongoing LE connection. rpc DisconnectLE(DisconnectLERequest) returns (google.protobuf.Empty); // Listen to pairing events. // This is handled independently from connections for several reasons: // - Pairing can be triggered at any time and multiple times during the // lifetime of a connection (this also explains why this is a stream). // - In BR/EDR, the specification allows for a device to authenticate before // connecting when in security mode 3 (link level enforced security). rpc OnPairing(stream PairingEventAnswer) returns (stream PairingEvent); // Remove pairing. rpc DeletePairing(DeletePairingRequest) returns (DeletePairingResponse); } // Response of the `ReadLocalAddress` method. message ReadLocalAddressResponse { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // A Token representing an ACL connection. Loading Loading @@ -93,15 +106,6 @@ message WaitConnectionResponse { } } // Request of the `DeletePairing` method. message DeletePairingRequest { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // Response of the `DeletePairing` method. message DeletePairingResponse {} // Request of the `Disconnect` method. message DisconnectRequest { // Connection that should be disconnected. Loading @@ -111,12 +115,6 @@ message DisconnectRequest { // Response of the `Disconnect` method. message DisconnectResponse {} // Response of the `ReadLocalAddress` method. message ReadLocalAddressResponse { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // Request of the `ConnectLE` method message ConnectLERequest { bytes address = 1; Loading @@ -133,3 +131,53 @@ message ConnectLEResponse { message DisconnectLERequest { Connection connection = 1; } message PairingEvent { // Peer Bluetooth Device Address as array of 6 bytes. bytes address = 1; // Authentication method used for this pairing event oneof method { // "Just Works" Secure Simple Pairing association // model. Confirmation is automatic. google.protobuf.Empty just_works = 2; // Numeric Comparison Secure Simple Pairing association // model. Confirmation is required. uint32 numeric_comparison = 3; // Passkey Entry Secure Simple Pairing association model. // Passkey is shown to the user. // The peer device receives a Passkey Entry request. bytes passkey_entry_notification = 4; // Passkey Entry Secure Simple Pairing association model. // Passkey is typed by the user. google.protobuf.Empty passkey_entry_request = 5; // Legacy PIN Pairing. // A PIN Code is typed by the user. google.protobuf.Empty pin_code = 6; } } message PairingEventAnswer { // Received pairing event. PairingEvent event = 1; // Answer when needed to the pairing event method. oneof answer { // Numeric Comparison confirmation. // Used when pairing event method is `numeric_comparison`. bool confirm = 2; // Passkey typed by the user. // Used when pairing event method is `passkey_entry_request`. bytes passkey = 3; // Pin typed by the user. // Used when pairing event method is `pin_code`. uint32 pin = 4; }; } // Request of the `DeletePairing` method. message DeletePairingRequest { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // Response of the `DeletePairing` method. message DeletePairingResponse {} Loading
android/pandora/server/proto/pandora/host.proto +70 −22 Original line number Diff line number Diff line Loading @@ -18,8 +18,9 @@ service Host { // The GRPC server might take some time to be available after // this command. rpc Reset(google.protobuf.Empty) returns (google.protobuf.Empty); // Remove pairing rpc DeletePairing(DeletePairingRequest) returns (DeletePairingResponse); // Read the local Bluetooth device address. // This should return the same value as a Read BD_ADDR HCI command. rpc ReadLocalAddress(google.protobuf.Empty) returns (ReadLocalAddressResponse); // Create an ACL BR/EDR connection to a peer. // This should send a CreateConnection on the HCI level. // If the two devices have not established a previous bond, Loading @@ -31,13 +32,25 @@ service Host { rpc WaitConnection(WaitConnectionRequest) returns (WaitConnectionResponse); // Disconnect an ACL BR/EDR connection. The Connection must not be reused afterwards. rpc Disconnect(DisconnectRequest) returns (DisconnectResponse); // Read the local Bluetooth device address. // This should return the same value as a Read BD_ADDR HCI command. rpc ReadLocalAddress(google.protobuf.Empty) returns (ReadLocalAddressResponse); // Create a LE connection // Create a LE connection. rpc ConnectLE(ConnectLERequest) returns (ConnectLEResponse); // Disconnect ongoing LE connection // Disconnect ongoing LE connection. rpc DisconnectLE(DisconnectLERequest) returns (google.protobuf.Empty); // Listen to pairing events. // This is handled independently from connections for several reasons: // - Pairing can be triggered at any time and multiple times during the // lifetime of a connection (this also explains why this is a stream). // - In BR/EDR, the specification allows for a device to authenticate before // connecting when in security mode 3 (link level enforced security). rpc OnPairing(stream PairingEventAnswer) returns (stream PairingEvent); // Remove pairing. rpc DeletePairing(DeletePairingRequest) returns (DeletePairingResponse); } // Response of the `ReadLocalAddress` method. message ReadLocalAddressResponse { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // A Token representing an ACL connection. Loading Loading @@ -93,15 +106,6 @@ message WaitConnectionResponse { } } // Request of the `DeletePairing` method. message DeletePairingRequest { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // Response of the `DeletePairing` method. message DeletePairingResponse {} // Request of the `Disconnect` method. message DisconnectRequest { // Connection that should be disconnected. Loading @@ -111,12 +115,6 @@ message DisconnectRequest { // Response of the `Disconnect` method. message DisconnectResponse {} // Response of the `ReadLocalAddress` method. message ReadLocalAddressResponse { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // Request of the `ConnectLE` method message ConnectLERequest { bytes address = 1; Loading @@ -133,3 +131,53 @@ message ConnectLEResponse { message DisconnectLERequest { Connection connection = 1; } message PairingEvent { // Peer Bluetooth Device Address as array of 6 bytes. bytes address = 1; // Authentication method used for this pairing event oneof method { // "Just Works" Secure Simple Pairing association // model. Confirmation is automatic. google.protobuf.Empty just_works = 2; // Numeric Comparison Secure Simple Pairing association // model. Confirmation is required. uint32 numeric_comparison = 3; // Passkey Entry Secure Simple Pairing association model. // Passkey is shown to the user. // The peer device receives a Passkey Entry request. bytes passkey_entry_notification = 4; // Passkey Entry Secure Simple Pairing association model. // Passkey is typed by the user. google.protobuf.Empty passkey_entry_request = 5; // Legacy PIN Pairing. // A PIN Code is typed by the user. google.protobuf.Empty pin_code = 6; } } message PairingEventAnswer { // Received pairing event. PairingEvent event = 1; // Answer when needed to the pairing event method. oneof answer { // Numeric Comparison confirmation. // Used when pairing event method is `numeric_comparison`. bool confirm = 2; // Passkey typed by the user. // Used when pairing event method is `passkey_entry_request`. bytes passkey = 3; // Pin typed by the user. // Used when pairing event method is `pin_code`. uint32 pin = 4; }; } // Request of the `DeletePairing` method. message DeletePairingRequest { // Local Bluetooth Device Address as array of 6 bytes. bytes address = 1; } // Response of the `DeletePairing` method. message DeletePairingResponse {}