19908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta/*
29908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * Copyright (C) 2013 The Android Open Source Project
39908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta *
49908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * Licensed under the Apache License, Version 2.0 (the "License");
59908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * you may not use this file except in compliance with the License.
69908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * You may obtain a copy of the License at
79908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta *
89908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta *      http://www.apache.org/licenses/LICENSE-2.0
99908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta *
109908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * Unless required by applicable law or agreed to in writing, software
119908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * distributed under the License is distributed on an "AS IS" BASIS,
129908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * See the License for the specific language governing permissions and
149908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * limitations under the License.
159908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta */
169908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Battapackage android.bluetooth;
179908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta
189908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Battaimport android.os.ParcelUuid;
19e0d4afb2d4caecb264852a35f6e3cfc1248e08c4Wei Wangimport android.bluetooth.le.AdvertiseSettings;
209fb1791e1a6859bfb14006a6d101cdecc88f3f95Wei Wangimport android.bluetooth.le.ScanResult;
219908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta
229908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta/**
239908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * Callback definitions for interacting with BLE / GATT
249908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta * @hide
259908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta */
2653fe28b7b64da4452b3c49310ac9a7aec5b44763Wei Wangoneway interface IBluetoothGattCallback {
279908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onClientRegistered(in int status, in int clientIf);
289908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onClientConnectionState(in int status, in int clientIf,
299908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                                 in boolean connected, in String address);
30e0d4afb2d4caecb264852a35f6e3cfc1248e08c4Wei Wang    void onScanResult(in ScanResult scanResult);
319fb1791e1a6859bfb14006a6d101cdecc88f3f95Wei Wang    void onBatchScanResults(in List<ScanResult> batchResults);
329908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onGetService(in String address, in int srvcType, in int srvcInstId,
339908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                      in ParcelUuid srvcUuid);
349908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onGetIncludedService(in String address, in int srvcType, in int srvcInstId,
359908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                              in ParcelUuid srvcUuid, in int inclSrvcType,
369908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                              in int inclSrvcInstId, in ParcelUuid inclSrvcUuid);
379908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onGetCharacteristic(in String address, in int srvcType,
389908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int srvcInstId, in ParcelUuid srvcUuid,
399908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charInstId, in ParcelUuid charUuid,
409908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charProps);
419908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onGetDescriptor(in String address, in int srvcType,
429908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int srvcInstId, in ParcelUuid srvcUuid,
439908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charInstId, in ParcelUuid charUuid,
4425b9cf953bd3e97f726f8c27d7a752b27c9a2373Andre Eisenbach                             in int descrInstId, in ParcelUuid descrUuid);
459908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onSearchComplete(in String address, in int status);
469908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onCharacteristicRead(in String address, in int status, in int srvcType,
479908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int srvcInstId, in ParcelUuid srvcUuid,
489908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charInstId, in ParcelUuid charUuid,
499908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in byte[] value);
509908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onCharacteristicWrite(in String address, in int status, in int srvcType,
519908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int srvcInstId, in ParcelUuid srvcUuid,
529908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charInstId, in ParcelUuid charUuid);
539908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onExecuteWrite(in String address, in int status);
549908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onDescriptorRead(in String address, in int status, in int srvcType,
559908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int srvcInstId, in ParcelUuid srvcUuid,
569908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charInstId, in ParcelUuid charUuid,
5725b9cf953bd3e97f726f8c27d7a752b27c9a2373Andre Eisenbach                             in int descrInstId, in ParcelUuid descrUuid,
5825b9cf953bd3e97f726f8c27d7a752b27c9a2373Andre Eisenbach                             in byte[] value);
599908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onDescriptorWrite(in String address, in int status, in int srvcType,
609908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int srvcInstId, in ParcelUuid srvcUuid,
619908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charInstId, in ParcelUuid charUuid,
6225b9cf953bd3e97f726f8c27d7a752b27c9a2373Andre Eisenbach                             in int descrInstId, in ParcelUuid descrUuid);
639908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onNotify(in String address, in int srvcType,
649908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int srvcInstId, in ParcelUuid srvcUuid,
659908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in int charInstId, in ParcelUuid charUuid,
669908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta                             in byte[] value);
679908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta    void onReadRemoteRssi(in String address, in int rssi, in int status);
68e0d4afb2d4caecb264852a35f6e3cfc1248e08c4Wei Wang    void onMultiAdvertiseCallback(in int status, boolean isStart,
69e0d4afb2d4caecb264852a35f6e3cfc1248e08c4Wei Wang                                  in AdvertiseSettings advertiseSettings);
70db1dbb889588505cd340e954acbde7ebf7c086d6Prerepa Viswanadham    void onScanManagerErrorCallback(in int errorCode);
71580b0a13028ed2187964735a5515d87900d241ceAndre Eisenbach    void onConfigureMTU(in String address, in int mtu, in int status);
72d5324e4183c97ae7271b6eda4204d9f0dc003023Prerepa Viswanadham    void onFoundOrLost(in boolean onFound, in ScanResult scanResult);
739908112fd085d8b0d91e0562d32eebd1884f09a5Ganesh Ganapathi Batta}
74