| // Copyright 2017 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.bluetooth.le; |
| |
| using fuchsia.bluetooth as bt; |
| |
| @deprecated("Use ServiceData instead") |
| type ServiceDataEntry = struct { |
| uuid bt.UuidString; |
| data bytes; |
| }; |
| |
| @deprecated("Use ManufacturerData instead") |
| type ManufacturerSpecificDataEntry = struct { |
| company_id uint16; |
| data bytes; |
| }; |
| |
| /// Represents advertising and scan response data advertised by a broadcaster or peripheral. |
| @deprecated("Use AdvertisingData instead") |
| type AdvertisingDataDeprecated = struct { |
| /// Name of the device. |
| name bt.DeviceName:optional; |
| |
| /// The radio transmission power level reported in the advertisement. |
| tx_power_level box<bt.Int8>; |
| |
| /// The appearance reported in the advertisemet. |
| appearance box<bt.UInt16>; |
| |
| /// List of service UUIDs reported in the advertisement. |
| service_uuids vector<bt.UuidString>:<MAX, optional>; |
| |
| /// Service data included in the advertisement. |
| service_data vector<ServiceDataEntry>:<MAX, optional>; |
| |
| /// Manufacturer specific data entries. |
| manufacturer_specific_data vector<ManufacturerSpecificDataEntry>:<MAX, optional>; |
| |
| /// Service UUIDs that were solicited in the advertisement. Peripherals can invite centrals that |
| /// expose certain services to connect to them using service solicitation. |
| solicited_service_uuids vector<bt.UuidString>:<MAX, optional>; |
| |
| /// URIs included in the advertising packet. |
| /// These are full URIs (they are encoded/decoded automatically) |
| uris vector<string:MAX>:<MAX, optional>; |
| }; |
| |
| /// Represents a remote Bluetooth Low Energy device. A RemoteDevice can represent a central, |
| /// broadcaster, or peripheral based on the API from which it was received. |
| @deprecated("Use Peer instead") |
| type RemoteDevice = struct { |
| /// Identifier that uniquely identifies this device on the current system. |
| identifier bt.PeerIdString; |
| |
| /// Whether or not this device is connectable. Non-connectable devices are typically acting in the |
| /// LE broadcaster role. |
| connectable bool; |
| |
| /// The last known RSSI of this device, if known. |
| rssi box<bt.Int8>; |
| |
| /// Advertising data broadcast by this device if this device is a broadcaster or peripheral. |
| advertising_data box<AdvertisingDataDeprecated>; |
| }; |
| |
| /// Filter parameters for use during a scan. A discovered peripheral or broadcaster will be reported |
| /// to applications only if it satisfies all of the provided filter parameters. Null fields will be |
| /// ignored. |
| @deprecated("Use Filter instead") |
| type ScanFilter = struct { |
| /// Filter based on advertised service UUIDs. A peripheral that advertises at least one of the |
| /// entries in `service_uuids` will satisfy this filter. |
| service_uuids vector<bt.UuidString>:<MAX, optional>; |
| |
| /// Filter based on service data containing one of the given UUIDs. |
| service_data_uuids vector<bt.UuidString>:<MAX, optional>; |
| |
| /// Filter based on a company identifier present in the manufacturer data. If this filter parameter |
| /// is set, then the advertising payload must contain manufacturer specific data with the provided |
| /// company identifier to satisfy this filter. |
| manufacturer_identifier box<bt.UInt16>; |
| |
| /// Filter based on whether or not a device is connectable. For example, a client that is only |
| /// interested in peripherals that it can connect to can set this to true. Similarly a client can |
| /// scan only for braodcasters by setting this to false. |
| connectable box<bt.Bool>; |
| |
| /// Filter results based on a portion of the advertised device name. |
| name_substring bt.DeviceName:optional; |
| |
| /// Filter results based on the path loss of the radio wave. A device that matches this filter must |
| /// satisfy the following: |
| /// 1. Radio transmission power level and received signal strength must be available for the path |
| /// loss calculation; |
| /// 2. The calculated path loss value must be less than, or equal to, `max_path_loss`. |
| max_path_loss box<bt.Int8>; |
| }; |