
// Copyright (C) 2022 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Note that if you add/remove methods in this file you must update
// the metrics sql as well ./android/scripts/gen-grpc-sql.py
//
// Please group deleted methods in a block including the date (MM/DD/YY)
// it was removed. This enables us to easily keep metrics around after removal
//
// List of deleted methods
// rpc iWasDeleted (03/12/12)
// ...
syntax = "proto3";
option java_multiple_files = true;
option java_package = "com.android.emulator.bluetooth";
package android.emulation.bluetooth;
import "emulated_bluetooth_device.proto";
// An Emulated Bluetooth Service exposes a method to register an emulated
// bluetooth device.
service EmulatedBluetoothService {
    // Registers an emulated bluetooth device. The emulator will reach out to
    // the emulated device to read/write and subscribe to properties.
    //
    // The following gRPC error codes can be returned:
    // -  INTERNAL (code 13) if:
    //     - The 'nimble_bridge' executable is missing.
    //     - Unable to create a temporary file for the device description.
    //     - Failed to launch the nimble bridge process.
    //
    // The device will not be discoverable in case of an error.
    rpc registerGattDevice(GattDevice) returns (RegistrationStatus);
};
message RegistrationStatus {
    // The identity of the registered device. The emulator will provide this
    // when executing a request for a CharacteristicValueRequest
    CallbackIdentifier callback_device_id = 1;
}
