| // Copyright (C) 2021 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.emulation.bluetooth"; |
| option csharp_namespace = "Android.Emulation.Bluetooth"; |
| option objc_class_prefix = "AEB"; |
| option cc_enable_arenas = true; |
| |
| import "emulated_bluetooth_packets.proto"; |
| package android.emulation.bluetooth; |
| |
| // This is a service which allows you to directly intercept the VHCI packets |
| // that are coming and going to the device before they are delivered to |
| // the rootcanal service described below. |
| // |
| // This service is usually not available on the emulator, and must be explictly |
| // requested from the commandline. |
| service VhciForwardingService { |
| // This attach directly to /dev/vhci inside the android guest if available |
| // |
| // - This will disable root canal. |
| // - You will have to provide your own virtual bluetooth chip. |
| // |
| // Some things to be aware of: |
| // - Only one client can be active. |
| // - Registering when bluetooth is active in android can result in |
| // undefined behavior. |
| // - If a client disconnects, rootcanal will be activated again |
| // |
| // Status codes: |
| // - FAILED_PRECONDITION (code 9) If another client is controlling /dev/vhci. |
| // |
| // This is an internal testing only interface, and is NOT publicly |
| // supported. |
| rpc attachVhci(stream HCIPacket) returns (stream HCIPacket); |
| }; |