1syntax = "proto3"; 2 3package blueberry.facade.hci; 4 5import "google/protobuf/empty.proto"; 6import "blueberry/facade/common.proto"; 7 8service LeAclManagerFacade { 9 rpc CreateConnection(CreateConnectionMsg) returns (stream LeConnectionEvent) {} 10 rpc CancelConnection(blueberry.facade.BluetoothAddressWithType) returns (google.protobuf.Empty) {} 11 rpc Disconnect(LeHandleMsg) returns (google.protobuf.Empty) {} 12 rpc ConnectionCommand(LeConnectionCommandMsg) returns (google.protobuf.Empty) {} 13 rpc SendAclData(LeAclData) returns (google.protobuf.Empty) {} 14 rpc FetchAclData(LeHandleMsg) returns (stream LeAclData) {} 15 rpc FetchIncomingConnection(google.protobuf.Empty) returns (stream LeConnectionEvent) {} 16 rpc AddDeviceToResolvingList(IrkMsg) returns (google.protobuf.Empty) {} 17 rpc IsOnBackgroundList(BackgroundRequestMsg) returns (BackgroundResultMsg) {} 18 rpc RemoveFromBackgroundList(BackgroundRequestMsg) 19 returns (google.protobuf.Empty) {} 20} 21 22message LeHandleMsg { 23 uint32 handle = 1; 24} 25 26message LeConnectionEvent { 27 bytes payload = 1; 28} 29 30message LeConnectionCommandMsg { 31 bytes packet = 1; 32} 33 34message LeAclData { 35 uint32 handle = 1; 36 bytes payload = 2; 37} 38 39message CreateConnectionMsg { 40 blueberry.facade.BluetoothAddressWithType peer_address = 1; 41 bool is_direct = 2; 42} 43 44message IrkMsg { 45 blueberry.facade.BluetoothAddressWithType peer = 1; 46 bytes peer_irk = 2; 47 bytes local_irk = 3; 48} 49 50message BackgroundRequestMsg { 51 blueberry.facade.BluetoothAddressWithType peer_address = 1; 52} 53 54message BackgroundResultMsg { 55 bool is_on_background_list = 1; 56} 57