| // Copyright 2018 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.control; |
| |
| using fuchsia.bluetooth; |
| |
| /// Possible values for the LE Appearance property which describes the external |
| /// appearance of a |
| /// device at a high level. |
| /// (See the Bluetooth assigned-numbers document: |
| /// https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml) |
| enum Appearance : uint16 { |
| UNKNOWN = 0; |
| PHONE = 64; |
| COMPUTER = 128; |
| WATCH = 192; |
| WATCH_SPORTS = 193; |
| CLOCK = 256; |
| DISPLAY = 320; |
| REMOTE_CONTROL = 384; |
| EYE_GLASSES = 448; |
| TAG = 512; |
| KEYRING = 576; |
| MEDIA_PLAYER = 640; |
| BARCODE_SCANNER = 704; |
| THERMOMETER = 768; |
| THERMOMETER_EAR = 769; |
| HEART_RATE_SENSOR = 832; |
| HEART_RATE_SENSOR_BELT = 833; |
| BLOOD_PRESSURE = 896; |
| BLOOD_PRESSURE_ARM = 897; |
| BLOOD_PRESSURE_WRIST = 898; |
| HID = 960; |
| HID_KEYBOARD = 961; |
| HID_MOUSE = 962; |
| HID_JOYSTICK = 963; |
| HID_GAMEPAD = 964; |
| HID_DIGITIZER_TABLET = 965; |
| HID_CARD_READER = 966; |
| HID_DIGITAL_PEN = 967; |
| HID_BARCODE_SCANNER = 968; |
| GLUCOSE_METER = 1024; |
| RUNNING_WALKING_SENSOR = 1088; |
| RUNNING_WALKING_SENSOR_IN_SHOE = 1089; |
| RUNNING_WALKING_SENSOR_ON_SHOE = 1090; |
| RUNNING_WALKING_SENSOR_ON_HIP = 1091; |
| CYCLING = 1152; |
| CYCLING_COMPUTER = 1153; |
| CYCLING_SPEED_SENSOR = 1154; |
| CYCLING_CADENCE_SENSOR = 1155; |
| CYCLING_POWER_SENSOR = 1156; |
| CYCLING_SPEED_AND_CADENCE_SENSOR = 1157; |
| PULSE_OXIMETER = 3136; |
| PULSE_OXIMETER_FINGERTIP = 3137; |
| PULSE_OXIMETER_WRIST = 3138; |
| WEIGHT_SCALE = 3200; |
| PERSONAL_MOBILITY = 3264; |
| PERSONAL_MOBILITY_WHEELCHAIR = 3265; |
| PERSONAL_MOBILITY_SCOOTER = 3266; |
| GLUCOSE_MONITOR = 3328; |
| SPORTS_ACTIVITY = 5184; |
| SPORTS_ACTIVITY_LOCATION_DISPLAY = 5185; |
| SPORTS_ACTIVITY_LOCATION_AND_NAV_DISPLAY = 5186; |
| SPORTS_ACTIVITY_LOCATION_POD = 5187; |
| SPORTS_ACTIVITY_LOCATION_AND_NAV_POD = 5188; |
| }; |
| |
| enum TechnologyType { |
| LOW_ENERGY = 0; |
| CLASSIC = 1; |
| DUAL_MODE = 2; |
| }; |
| |
| /// Represents a remote BR/EDR, LE, or dual-mode BR/EDR/LE device. |
| struct RemoteDevice { |
| /// Uniquely identifies this device on the current system. |
| string identifier; |
| |
| /// Bluetooth device address that identifies this remote device. Clients |
| /// should display this field to the user when `name` is not available. |
| /// |
| /// NOTE: Clients should use the `identifier` field to distinguish between |
| /// remote devices instead of using their address. |
| string address; |
| |
| /// The Bluetooth technologies that are supported by this device. |
| TechnologyType technology; |
| |
| /// The name of the remote device if present or known. |
| string? name; |
| |
| /// The LE appearance property. Present if this is a LE device and the |
| /// appearance information was obtained over advertising and/or GATT. |
| Appearance appearance; |
| |
| /// The most recently obtained advertising signal strength for this device. |
| fuchsia.bluetooth.Int8? rssi; |
| |
| /// The most recently obtained transmission power for this device. |
| fuchsia.bluetooth.Int8? tx_power; |
| |
| /// Whether or not a BR/EDR and/or LE connection exists between the local |
| /// adapter and this device. |
| bool connected; |
| |
| /// Whether or not a bond exists between the local adapter and this device. |
| bool bonded; |
| |
| /// The list of service UUIDs known to be published on this remote device. |
| vector<string> service_uuids; |
| }; |