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