// Copyright 2019 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;

/// Possible values for the LE Appearance property which describes the external
/// appearance of a peer 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;
};
