1 /*
2  * Copyright 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.bluetooth;
18 
19 import android.bluetooth.BluetoothDevice;
20 import android.bluetooth.IBluetoothHidDeviceCallback;
21 import android.bluetooth.BluetoothHidDeviceAppSdpSettings;
22 import android.bluetooth.BluetoothHidDeviceAppQosSettings;
23 
24 /** @hide */
25 interface IBluetoothHidDevice {
registerApp(in BluetoothHidDeviceAppSdpSettings sdp, in BluetoothHidDeviceAppQosSettings inQos, in BluetoothHidDeviceAppQosSettings outQos, in IBluetoothHidDeviceCallback callback)26     boolean registerApp(in BluetoothHidDeviceAppSdpSettings sdp,
27             in BluetoothHidDeviceAppQosSettings inQos, in BluetoothHidDeviceAppQosSettings outQos,
28             in IBluetoothHidDeviceCallback callback);
unregisterApp()29     boolean unregisterApp();
sendReport(in BluetoothDevice device, in int id, in byte[] data)30     boolean sendReport(in BluetoothDevice device, in int id, in byte[] data);
replyReport(in BluetoothDevice device, in byte type, in byte id, in byte[] data)31     boolean replyReport(in BluetoothDevice device, in byte type, in byte id, in byte[] data);
reportError(in BluetoothDevice device, byte error)32     boolean reportError(in BluetoothDevice device, byte error);
unplug(in BluetoothDevice device)33     boolean unplug(in BluetoothDevice device);
connect(in BluetoothDevice device)34     boolean connect(in BluetoothDevice device);
disconnect(in BluetoothDevice device)35     boolean disconnect(in BluetoothDevice device);
getConnectedDevices()36     List<BluetoothDevice> getConnectedDevices();
getDevicesMatchingConnectionStates(in int[] states)37     List<BluetoothDevice> getDevicesMatchingConnectionStates(in int[] states);
getConnectionState(in BluetoothDevice device)38     int getConnectionState(in BluetoothDevice device);
getUserAppName()39     String getUserAppName();
setConnectionPolicy(in BluetoothDevice device, int connectionPolicy)40     boolean setConnectionPolicy(in BluetoothDevice device, int connectionPolicy);
41 }
42