Arman Uguray | 475beaa | 2015-10-26 19:58:46 -0700 | [diff] [blame] | 1 | /* |
Jakub Pawlowski | 5b790fe | 2017-09-18 09:00:20 -0700 | [diff] [blame] | 2 | * Copyright 2015, The Android Open Source Project |
Arman Uguray | 475beaa | 2015-10-26 19:58:46 -0700 | [diff] [blame] | 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 | /** |
| 18 | * Binder IPC interface for receiving callbacks related to Bluetooth GATT |
| 19 | * client-role operations. |
| 20 | * TODO(armansito): Not yet supported. |
| 21 | */ |
| 22 | oneway interface IBluetoothGattClientCallback { |
| 23 | /** |
| 24 | * Called as a result of IBluetoothGattClient.registerClient. |
| 25 | * |status| will contain BLE_STATUS_SUCCESS (0) if the client was successfully |
| 26 | * registered. |client_id| is the owning application's unique GATT client |
| 27 | * handle and can be used to perform further operations on the |
| 28 | * IBluetoothGattClient interface. |
| 29 | */ |
| 30 | void onClientRegistered(in int status, in int client_id); |
| 31 | |
| 32 | /** |
| 33 | * Called for each GATT service that was discovered on the remote device. The |
| 34 | * device that this service belongs to can be obtained from the |service_id| |
| 35 | * structure. |is_primary| is true if this refers to a primary service, |
| 36 | * otherwise this refers to a secondary service. |
| 37 | */ |
| 38 | void onGetService(in boolean is_primary, in GattIdentifier service_id); |
| 39 | |
| 40 | /** |
| 41 | * Called for each include definition that was discovered on the remote |
| 42 | * device. |
| 43 | */ |
| 44 | void onGetIncludedService(in GattIdentifier included_service_id); |
| 45 | |
| 46 | /** |
| 47 | * Called for each characteristic that was discovered on the remote device. |
| 48 | * The service that this characteristic belongs to can be obtained from the |
| 49 | * |characteristic_id| structure. |properties| contains the bitmask of GATT |
| 50 | * characteristic properties as defined in the Bluetooth Core Specification. |
| 51 | */ |
| 52 | void onGetCharacteristic(in GattIdentifier characteristic_id, |
| 53 | in int properties); |
| 54 | |
| 55 | /** |
| 56 | * Called for each descriptor that was discovered on the remote device. The |
| 57 | * service and characteristic that this descriptor belongs to can be obtained |
| 58 | * from the |descriptor_id| structure. |
| 59 | */ |
| 60 | void onGetDescriptor(in GattIdentifier descriptor_id); |
| 61 | |
| 62 | /** |
| 63 | * Called to mark the end of GATT service discovery on the remote device with |
| 64 | * address |device_address|. |status| will contain BLE_STATUS_SUCCESS (0) if |
| 65 | * the operation was successful. |
| 66 | */ |
| 67 | void onSearchComplete(in String device_address, in int status); |
| 68 | |
| 69 | /** |
| 70 | * Called as a result of IBluetoothGattClient.readCharacteristic. |status| |
| 71 | * will contain BLE_STATUS_SUCCESS (0) on success and an ATT protocol error |
| 72 | * code in case of an error. |characteristic_id| refers to the characteristic |
| 73 | * this operation was performed on. On success, |value| will contain the |
| 74 | * characteristic value that was read from the remote device. This argument |
| 75 | * can be ignored in case of failure. |
| 76 | */ |
| 77 | void onCharacteristicRead(in int status, in GattIdentifier characteristic_id, |
| 78 | in byte[] value); |
| 79 | |
| 80 | /** |
| 81 | * Called as a result of IBluetoothGattClient.writeCharacteristic. |status| |
| 82 | * will contain BLE_STATUS_SUCCESS (0) on success and an ATT protocol error |
| 83 | * code in case of an error. |characteristic_id| refers to the characteristic |
| 84 | * this operation was performed on. |
| 85 | */ |
| 86 | void onCharacteristicWrite(in int status, |
| 87 | in GattIdentifier characteristic_id); |
| 88 | |
| 89 | /** |
| 90 | * Called as a result of IBluetoothGattClient.endReliableWrite. |
| 91 | * |device_address| refers to the remote device that the endReliableWrite |
| 92 | * method was called on. |status| will contain BLE_STATUS_SUCCESS (0) on |
| 93 | * success and an ATT error code in case of an error. |
| 94 | */ |
| 95 | void onExecuteWrite(in String device_address, in int status); |
| 96 | |
| 97 | /** |
| 98 | * Called as a result of IBluetoothGattClient.readDescriptor. |status| |
| 99 | * will contain BLE_STATUS_SUCCESS (0) on success and an ATT protocol error |
| 100 | * code in case of an error. |descriptor_id| refers to the descriptor this |
| 101 | * operation was performed on. On success, |value| will contain the |
| 102 | * descriptor value that was read from the remote device. This argument |
| 103 | * can be ignored in case of failure. |
| 104 | */ |
| 105 | void onDescriptorRead(in int status, in GattIdentifier descriptor_id, |
| 106 | in byte[] value); |
| 107 | |
| 108 | /** |
| 109 | * Called as a result of IBluetoothGattClient.writeDescriptor. |status| |
| 110 | * will contain BLE_STATUS_SUCCESS (0) on success and an ATT protocol error |
| 111 | * code in case of an error. |descriptor_id| refers to the descriptor this |
| 112 | * operation was performed on. |
| 113 | */ |
| 114 | void onDescriptorWrite(in int status, in GattIdentifier descriptor_id); |
| 115 | |
| 116 | /** |
| 117 | * Called when there is an incoming ATT Handle-Value notification or |
| 118 | * indication for the characteristic with identifier |characteristic_id|. |
| 119 | */ |
| 120 | void onNotify(in GattIdentifier characteristic_id, in byte[] value); |
| 121 | } |