IBluetooth.aidl revision e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8
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;
20ef2cb7c93a99096799d415e721dda46d1bf7a005Jaikumar Ganeshimport android.bluetooth.IBluetoothStateChangeCallback;
21fb658c72a3a76dac334c39070d1501a2575c1069Jaikumar Ganeshimport android.bluetooth.IBluetoothHealthCallback;
22545e6708adda6859932b55fd824794b1401f5318Jaikumar Ganeshimport android.bluetooth.BluetoothDevice;
232ea1e85dcb57d17f5782dbafa1d25eb51c630e4bJaikumar Ganeshimport android.bluetooth.BluetoothHealthAppConfiguration;
24aef439e6f825c0cb99a2ac08c8207f48b7a9fe10Nick Pellyimport android.os.ParcelUuid;
252ea1e85dcb57d17f5782dbafa1d25eb51c630e4bJaikumar Ganeshimport android.os.ParcelFileDescriptor;
26dd0463aef18d251c741bfc9dc7a2787443ef36f1Jaikumar Ganesh
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * System private API for talking with the Bluetooth service.
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide}
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
32bd022f423a33f0794bb53e5b0720da2d67e4631cNick Pellyinterface IBluetooth
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean isEnabled();
35e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    int getState();
36105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project    boolean enable();
37e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean disable();
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    String getAddress();
4058b93c36409c7fb91a644605f004b6d247d9b540Jaikumar Ganesh    ParcelUuid[] getUuids();
41e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean setName(in String name);
42e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    String getName();
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int getScanMode();
4512835478ee687a493d1b5882e67b6725bd539c26Nick Pelly    boolean setScanMode(int mode, int duration);
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int getDiscoverableTimeout();
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean setDiscoverableTimeout(int timeout);
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50d5ac1ae36b4e096eb97984334f86d0c68abea2f7Jaikumar Ganesh    boolean startDiscovery();
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean cancelDiscovery();
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean isDiscovering();
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54c53cab20b225ba69057441ecb06db6478ab8ff9bJaikumar Ganesh    int getAdapterConnectionState();
55cb1d354c1e9b458a0426cd08520d938012e32b34Jaikumar Ganesh    int getProfileConnectionState(int profile);
56a46f2fb152355fe591f9dddeb41f01fef5ccad1dJaikumar Ganesh
57e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    BluetoothDevice[] getBondedDevices();
58e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean createBond(in BluetoothDevice device);
59e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean cancelBondProcess(in BluetoothDevice device);
60e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean removeBond(in BluetoothDevice device);
61e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    int getBondState(in BluetoothDevice device);
62e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh
63e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    String getRemoteName(in BluetoothDevice device);
64e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    String getRemoteAlias(in BluetoothDevice device);
65e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean setRemoteAlias(in BluetoothDevice device, in String name);
66e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    int getRemoteClass(in BluetoothDevice device);
67e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    ParcelUuid[] getRemoteUuids(in BluetoothDevice device);
68e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    //TODO(BT)
69e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    //boolean fetchRemoteUuids(in BluetoothDevice device, in ParcelUuid uuid,
70e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    //    in IBluetoothCallback callback);
71e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh
72e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean setPin(in BluetoothDevice device, boolean accept, int len, in byte[] pinCode);
73e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean setPasskey(in BluetoothDevice device, boolean accept, int len, in byte[]
74e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    passkey);
75e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8Jaikumar Ganesh    boolean setPairingConfirmation(in BluetoothDevice device, boolean accept);
762ea1e85dcb57d17f5782dbafa1d25eb51c630e4bJaikumar Ganesh
77cb1d354c1e9b458a0426cd08520d938012e32b34Jaikumar Ganesh    void sendConnectionStateChange(in BluetoothDevice device, int profile, int state, int prevState);
789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
79