#!/usr/bin/env python3 # # Copyright (C) 2016 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. from enum import Enum class ScanSettingsCallbackType(Enum): CALLBACK_TYPE_ALL_MATCHES = 1 CALLBACK_TYPE_FIRST_MATCH = 2 CALLBACK_TYPE_MATCH_LOST = 4 CALLBACK_TYPE_FOUND_AND_LOST = 6 class ScanSettingsMatchMode(Enum): AGGRESIVE = 1 STICKY = 2 class ScanSettingsMatchNum(Enum): MATCH_NUM_ONE_ADVERTISEMENT = 1 MATCH_NUM_FEW_ADVERTISEMENT = 2 MATCH_NUM_MAX_ADVERTISEMENT = 3 class ScanSettingsScanResultType(Enum): SCAN_RESULT_TYPE_FULL = 0 SCAN_RESULT_TYPE_ABBREVIATED = 1 class ScanSettingsScanMode(Enum): SCAN_MODE_OPPORTUNISTIC = -1 SCAN_MODE_LOW_POWER = 0 SCAN_MODE_BALANCED = 1 SCAN_MODE_LOW_LATENCY = 2 class ScanSettingsReportDelaySeconds(Enum): MIN = 0 MAX = 9223372036854775807 class ScanSettingsPhy(Enum): PHY_LE_1M = 1 PHY_LE_CODED = 3 PHY_LE_ALL_SUPPORTED = 255 class AdvertiseSettingsAdvertiseType(Enum): ADVERTISE_TYPE_NON_CONNECTABLE = 0 ADVERTISE_TYPE_CONNECTABLE = 1 class AdvertiseSettingsAdvertiseMode(Enum): ADVERTISE_MODE_LOW_POWER = 0 ADVERTISE_MODE_BALANCED = 1 ADVERTISE_MODE_LOW_LATENCY = 2 class AdvertiseSettingsAdvertiseTxPower(Enum): ADVERTISE_TX_POWER_ULTRA_LOW = 0 ADVERTISE_TX_POWER_LOW = 1 ADVERTISE_TX_POWER_MEDIUM = 2 ADVERTISE_TX_POWER_HIGH = 3 class BLEConnectionPriority(Enum): # Connection Interval: BALANCED = 36ms, HIGH = 12ms, LOW = 96ms CONNECTION_PRIORITY_BALANCED = 0 CONNECTION_PRIORITY_HIGH = 1 CONNECTION_PRIORITY_LOW = 2 class JavaInteger(Enum): MIN = -2147483648 MAX = 2147483647 class Uuids(Enum): P_Service = "0000feef-0000-1000-8000-00805f9b34fb" HR_SERVICE = "0000180d-0000-1000-8000-00805f9b34fb" class AdvertiseErrorCode(Enum): DATA_TOO_LARGE = 1 TOO_MANY_ADVERTISERS = 2 ADVERTISE_ALREADY_STARTED = 3 BLUETOOTH_INTERNAL_FAILURE = 4 FEATURE_NOT_SUPPORTED = 5 class BluetoothAdapterState(Enum): STATE_OFF = 10 STATE_TURNING_ON = 11 STATE_ON = 12 STATE_TURNING_OFF = 13 STATE_BLE_TURNING_ON = 14 STATE_BLE_ON = 15 STATE_BLE_TURNING_OFF = 16