You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.8 KiB
98 lines
3.8 KiB
4 months ago
|
/*
|
||
|
* Copyright 2015, The Android Open Source Project
|
||
|
*
|
||
|
* 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.
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Binder IPC API for interacting with Bluetooth Low-Energy features.
|
||
|
*/
|
||
|
interface IBluetoothLowEnergy {
|
||
|
/**
|
||
|
* Registers a client application that can manage its own Low Energy
|
||
|
* instance. A special client interface ID will be returned in a callback to
|
||
|
* the application that can be used to perform Low Energy operations. Returns
|
||
|
* false in case of an error.
|
||
|
*/
|
||
|
boolean registerClient(in IBluetoothLowEnergyCallback callback);
|
||
|
|
||
|
/**
|
||
|
* Unregisters a previously registered client with "client interface ID"
|
||
|
* |client_if|.
|
||
|
*/
|
||
|
void unregisterClient(in int client_if);
|
||
|
|
||
|
/**
|
||
|
* Unregisters all previously registered clients.
|
||
|
*/
|
||
|
void unregisterAll();
|
||
|
|
||
|
/* Initiates a BLE connection do device with address |address|. If
|
||
|
* |is_direct| is set, use direct connect procedure. Return true on success,
|
||
|
* false otherwise.
|
||
|
*/
|
||
|
boolean Connect(in int client_id, in const char* address,
|
||
|
in boolean is_direct);
|
||
|
|
||
|
/* Disconnect from previously connected BLE device with address |address|.
|
||
|
* Returns true on success, false otherwise.
|
||
|
*/
|
||
|
boolean Disconnect(in int client_id, in const char* address);
|
||
|
|
||
|
/**
|
||
|
* Sends request to set MTU to |mtu| for the device with address |address|.
|
||
|
* OnMtuChanged callback will be triggered as a result of this call. Returns
|
||
|
* true when the command was sent, false otherwise.
|
||
|
*/
|
||
|
boolean setMtu(in int client_id, in char* address, int mtu);
|
||
|
|
||
|
/**
|
||
|
* Initiates a BLE device scan for the scan client with ID |client_id|, using
|
||
|
* the parameters defined in |settings|. Scan results that are reported to the
|
||
|
* application with the associated IBluetoothLowEnergyCallback event will be
|
||
|
* filtered using a combination of hardware and software filtering based on
|
||
|
* |filters|. Return true on success, false otherwise.
|
||
|
*/
|
||
|
boolean startScan(in int client_id, in ScanSettings settings,
|
||
|
in ScanFilter[] filters);
|
||
|
|
||
|
/**
|
||
|
* Stops a previously initiated scan session for the client with ID
|
||
|
* |client_id|. Return true on success, false otherwise.
|
||
|
*/
|
||
|
boolean stopScan(in int client_id);
|
||
|
|
||
|
/**
|
||
|
* Starts a multi-advertising instance using |advertising_data| and
|
||
|
* |scan_response_data|, both of which can be empty. Each of these parameters
|
||
|
* must contain the raw advertising packet. Returns false if there were any
|
||
|
* synchronous failures, e.g. if the advertising or scan response data are
|
||
|
* incorrectly formatted. Otherwise, the result of the operation will be
|
||
|
* asynchronously reported in
|
||
|
* IBluetoothLowEnergyCallback.onMultiAdvertiseCallback. See the headers in
|
||
|
* common/bluetooth/binder for documentation on the AdvertiseData and
|
||
|
* AdvertiseSettings data types.
|
||
|
*/
|
||
|
boolean startMultiAdvertising(in int client_if,
|
||
|
in AdvertiseData advertise_data,
|
||
|
in AdvertiseData scan_response_data,
|
||
|
in AdvertiseSettings settings);
|
||
|
|
||
|
/**
|
||
|
* Stops the previously started multi-advertising instance for the given
|
||
|
* client. Returns false in case of an error, e.g. this client has not started
|
||
|
* an instance.
|
||
|
*/
|
||
|
boolean stopMultiAdvertising(in int client_if);
|
||
|
}
|