syntax = "proto3";

package bluetooth.facade;

import "google/protobuf/empty.proto";
import "facade/common.proto";

service RootFacade {
  rpc StartStack(StartStackRequest) returns (StartStackResponse) {}
  rpc StopStack(StopStackRequest) returns (StopStackResponse) {}
}

enum BluetoothModule {
  HAL = 0;
  HCI = 1;
  HCI_INTERFACES = 2;
  L2CAP = 3;
  SECURITY = 4;
  SHIM = 5;
}

message StartStackRequest {
  BluetoothModule module_under_test = 1;
}

message StartStackResponse {}

message StopStackRequest {}

message StopStackResponse {}

service ReadOnlyProperty {
  rpc ReadLocalAddress(google.protobuf.Empty) returns (facade.BluetoothAddress) {}
}
