IBluetooth.aidl revision 6fdd0c6274c81b337ad35b70480f881daf7354c3
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008, The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.bluetooth; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1916fb88a673c41b93c5d57ccb28c2697e7d87701aNick Pellyimport android.bluetooth.IBluetoothCallback; 20545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganeshimport android.bluetooth.BluetoothDevice; 21aef439e6f825c0cb99a2ac08c8207f48b7a9fe10Nick Pellyimport android.os.ParcelUuid; 22dd0463aef18d251c741bfc9dc7a2787443ef36f1Jaikumar Ganesh 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * System private API for talking with the Bluetooth service. 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 28bd022f423a33f0794bb53e5b0720da2d67e4631cNick Pellyinterface IBluetooth 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isEnabled(); 31105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project int getBluetoothState(); 32105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project boolean enable(); 33105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project boolean disable(boolean persistSetting); 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getAddress(); 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getName(); 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setName(in String name); 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getScanMode(); 4012835478ee687a493d1b5882e67b6725bd539c26Nick Pelly boolean setScanMode(int mode, int duration); 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDiscoverableTimeout(); 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setDiscoverableTimeout(int timeout); 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45d5ac1ae36b4e096eb97984334f86d0c68abea2f7Jaikumar Ganesh boolean startDiscovery(); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean cancelDiscovery(); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDiscovering(); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean createBond(in String address); 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean cancelBondProcess(in String address); 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean removeBond(in String address); 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String[] listBonds(); 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getBondState(in String address); 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getRemoteName(in String address); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getRemoteClass(in String address); 57dd0463aef18d251c741bfc9dc7a2787443ef36f1Jaikumar Ganesh ParcelUuid[] getRemoteUuids(in String address); 5816fb88a673c41b93c5d57ccb28c2697e7d87701aNick Pelly boolean fetchRemoteUuids(in String address, in ParcelUuid uuid, in IBluetoothCallback callback); 5916fb88a673c41b93c5d57ccb28c2697e7d87701aNick Pelly int getRemoteServiceChannel(in String address, in ParcelUuid uuid); 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setPin(in String address, in byte[] pin); 62b0eca41de0bb6747d8648b134912782e45e4cbefJaikumar Ganesh boolean setPasskey(in String address, int passkey); 63b0eca41de0bb6747d8648b134912782e45e4cbefJaikumar Ganesh boolean setPairingConfirmation(in String address, boolean confirm); 64b0eca41de0bb6747d8648b134912782e45e4cbefJaikumar Ganesh boolean cancelPairingUserInput(in String address); 65b0eca41de0bb6747d8648b134912782e45e4cbefJaikumar Ganesh 66efa1dd716da3372cc74a201d11de5e0ef1a9fe9aLixin Yue boolean setTrust(in String address, in boolean value); 67efa1dd716da3372cc74a201d11de5e0ef1a9fe9aLixin Yue boolean getTrustState(in String address); 683fbf7b62bb48b10316353087d09cc3720af00642Jaikumar Ganesh boolean isBluetoothDock(in String address); 6924bb9b8af4ff691538fe9e517e8156016b0da6cdNick Pelly 7024bb9b8af4ff691538fe9e517e8156016b0da6cdNick Pelly int addRfcommServiceRecord(in String serviceName, in ParcelUuid uuid, int channel, IBinder b); 7124bb9b8af4ff691538fe9e517e8156016b0da6cdNick Pelly void removeServiceRecord(int handle); 729b637e5985f9a86f39d70335c0390ade3716592aJaikumar Ganesh 739b637e5985f9a86f39d70335c0390ade3716592aJaikumar Ganesh boolean connectHeadset(String address); 749b637e5985f9a86f39d70335c0390ade3716592aJaikumar Ganesh boolean disconnectHeadset(String address); 759b637e5985f9a86f39d70335c0390ade3716592aJaikumar Ganesh boolean notifyIncomingConnection(String address); 76545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh 77545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh // HID profile APIs 78545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh boolean connectInputDevice(in BluetoothDevice device); 79545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh boolean disconnectInputDevice(in BluetoothDevice device); 80545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh BluetoothDevice[] getConnectedInputDevices(); // change to Set<> once AIDL supports 81545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh int getInputDeviceState(in BluetoothDevice device); 82545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh boolean setInputDevicePriority(in BluetoothDevice device, int priority); 83545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganesh int getInputDevicePriority(in BluetoothDevice device); 846fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang 856fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang boolean isTetheringOn(); 866fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang void setBluetoothTethering(boolean value, String uuid, String bridge); 876fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang int getPanDeviceState(in BluetoothDevice device); 886fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang BluetoothDevice[] getConnectedPanDevices(); 896fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang boolean connectPanDevice(in BluetoothDevice device); 906fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang boolean disconnectPanDevice(in BluetoothDevice device); 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 92