| /* |
| * Copyright (c) 2021 Project CHIP Authors |
| * All rights reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| package chip.platform; |
| |
| import android.bluetooth.BluetoothGatt; |
| import android.bluetooth.BluetoothGattCallback; |
| |
| public interface BleManager { |
| // For app |
| int addConnection(BluetoothGatt bleGatt); |
| |
| BluetoothGatt removeConnection(int connId); |
| |
| BluetoothGatt getConnection(int connId); |
| |
| void setBleCallback(BleCallback bleCallback); |
| |
| BluetoothGattCallback getCallback(); |
| |
| void setAndroidChipPlatform(AndroidChipPlatform platform); |
| |
| // BLEManager |
| int init(); |
| |
| long setFlag(long flag, boolean isSet); |
| |
| boolean hasFlag(long flag); |
| |
| // BlePlatformDelegate |
| boolean onSubscribeCharacteristic(int connId, byte[] svcId, byte[] charId); |
| |
| boolean onUnsubscribeCharacteristic(int connId, byte[] svcId, byte[] charId); |
| |
| boolean onCloseConnection(int connId); |
| |
| int onGetMTU(int connId); |
| |
| boolean onSendWriteRequest(int connId, byte[] svcId, byte[] charId, byte[] characteristicData); |
| |
| // BleApplicationDelegate |
| void onNotifyChipConnectionClosed(int connId); |
| |
| // BleConnectionDelegate |
| void onNewConnection(int discriminator); |
| } |