# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
This module provides bindings for ModemManager1 DBus constants, such as
interface names, enumerations, and errors.
"""
# The ModemManager1 Object
MM1 = '/org/freedesktop/ModemManager1'
# The Root Object Path
ROOT_PATH = '/'
# Errors
# TODO: Rename these to DBUS_ERROR_XXXX and put them in a common DBUS related
# package (crbug.com/343753).
DBUS_SERVICE_UNKNOWN = 'org.freedesktop.DBus.Error.ServiceUnknown'
DBUS_UNKNOWN_INTERFACE = 'org.freedesktop.DBus.Error.UnknownInterface'
DBUS_UNKNOWN_METHOD = 'org.freedesktop.DBus.Error.UnknownMethod'
DBUS_UNKNOWN_OBJECT = 'org.freedesktop.DBus.Error.UnknownObject'
# Interfaces
# Standard Interfaces
I_PROPERTIES = 'org.freedesktop.DBus.Properties'
I_INTROSPECTABLE = 'org.freedesktop.DBus.Introspectable'
I_OBJECT_MANAGER = 'org.freedesktop.DBus.ObjectManager'
# ModemManager1
I_MODEM_MANAGER = 'org.freedesktop.ModemManager1'
# ModemManager1 DBus error prefix
MM1_ERROR_PREFIX = I_MODEM_MANAGER + '.Error'
# Modems
I_MODEM = I_MODEM_MANAGER + '.Modem'
I_MODEM_SIMPLE = I_MODEM + '.Simple'
I_MODEM_3GPP = I_MODEM + '.Modem3gpp'
I_MODEM_3GPP_USSD = I_MODEM_3GPP + '.Ussd'
I_MODEM_CDMA = I_MODEM + '.ModemCdma'
I_MODEM_MESSAGING = I_MODEM + '.Messaging'
I_MODEM_LOCATION = I_MODEM + '.Location'
I_MODEM_TIME = I_MODEM + '.Time'
I_MODEM_FIRMWARE = I_MODEM + '.Firmware'
I_MODEM_CONTACTS = I_MODEM + '.Contacts'
# Bearers
I_BEARER = I_MODEM_MANAGER + '.Bearer'
# SIMs
I_SIM = I_MODEM_MANAGER + '.Sim'
# SMSs
SMS_PATH = MM1 + '/SMS'
I_SMS = I_MODEM_MANAGER + '.Sms'
# Frequently accessed propeties
MM_MODEM_PROPERTY_NAME_MODEL = 'Model'
MM_MODEM_PROPERTY_NAME_PLUGIN = 'Plugin'
MM_MODEM_PROPERTY_NAME_STATE = 'State'
# Common Types
# Flags and Enumerations
# enum MMBearerIpFamily
MM_BEARER_IP_FAMILY_NONE = 0
MM_BEARER_IP_FAMILY_IPV4 = 1 << 0
MM_BEARER_IP_FAMILY_IPV6 = 1 << 1
MM_BEARER_IP_FAMILY_IPV4V6 = 1 << 2
MM_BEARER_IP_FAMILY_ANY = 0xFFFFFFFF
MM_BEARER_IP_FAMILY_UNKNOWN = 0
MM_BEARER_IP_FAMILY_IPV4 = 4
MM_BEARER_IP_FAMILY_IPV6 = 6
MM_BEARER_IP_FAMILY_IPV4V6 = 10
# enum MMBearerIpMethod
MM_BEARER_IP_METHOD_UNKNOWN = 0
MM_BEARER_IP_METHOD_PPP = 1
MM_BEARER_IP_METHOD_STATIC = 2
MM_BEARER_IP_METHOD_DHCP = 3
# enum MMModem3gppFacility
MM_MODEM_3GPP_FACILITY_NONE = 0
MM_MODEM_3GPP_FACILITY_SIM = 1 << 0
MM_MODEM_3GPP_FACILITY_FIXED_DIALING = 1 << 1
MM_MODEM_3GPP_FACILITY_PH_SIM = 1 << 2
MM_MODEM_3GPP_FACILITY_PH_FSIM = 1 << 3
MM_MODEM_3GPP_FACILITY_NET_PERS = 1 << 4
MM_MODEM_3GPP_FACILITY_NET_SUB_PERS = 1 << 5
MM_MODEM_3GPP_FACILITY_PROVIDER_PERS = 1 << 6
MM_MODEM_3GPP_FACILITY_CORP_PERS = 1 << 7
# enum MMModem3gppNetworkAvailability
MM_MODEM_3GPP_NETWORK_AVAILABILITY_UNKNOWN = 0
MM_MODEM_3GPP_NETWORK_AVAILABILITY_AVAILABLE = 1
MM_MODEM_3GPP_NETWORK_AVAILABILITY_CURRENT = 2
MM_MODEM_3GPP_NETWORK_AVAILABILITY_FORBIDDEN = 3
# enum MMModem3gppRegistrationState
MM_MODEM_3GPP_REGISTRATION_STATE_IDLE = 0
MM_MODEM_3GPP_REGISTRATION_STATE_HOME = 1
MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING = 2
MM_MODEM_3GPP_REGISTRATION_STATE_DENIED = 3
MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN = 4
MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING = 5
def RegistrationStateToString(state):
"""
Returns a string for the given state.
@param state: MMModem3gppRegistrationState value.
@return A string that describes the given state.
"""
REGISTRATION_STATE_STRINGS = [
'IDLE',
'HOME',
'SEARCHING',
'DENIED',
'UNKNOWN',
'ROAMING'
]
return REGISTRATION_STATE_STRINGS[state]
# enum MMModem3gppSubscriptionState
MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNKNOWN = 0
MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNPROVISIONED = 1
MM_MODEM_3GPP_SUBSCRIPTION_STATE_PROVISIONED = 2
MM_MODEM_3GPP_SUBSCRIPTION_STATE_OUT_OF_DATA = 3
def SubscriptionStateToString(state):
"""
Returns a string representation of the SubscriptionState.
@param state: An MMModem3gppSubscriptionState value.
@return A string that describes the given state.
"""
SUBSCRIPTION_STATE_STRINGS = [
'UNKNOWN',
'UNPROVISIONED',
'PROVISIONED',
'OUT_OF_DATA',
]
return SUBSCRIPTION_STATE_STRINGS[state]
# enum MMModem3gppUssdSessionState
MM_MODEM_3GPP_USSD_SESSION_STATE_UNKNOWN = 0
MM_MODEM_3GPP_USSD_SESSION_STATE_IDLE = 1
MM_MODEM_3GPP_USSD_SESSION_STATE_ACTIVE = 2
MM_MODEM_3GPP_USSD_SESSION_STATE_USER_RESPONSE = 3
# enum MMModemAccessTechnology
MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN = 0
MM_MODEM_ACCESS_TECHNOLOGY_POTS = 1 << 0
MM_MODEM_ACCESS_TECHNOLOGY_GSM = 1 << 1
MM_MODEM_ACCESS_TECHNOLOGY_GSM_COMPACT = 1 << 2
MM_MODEM_ACCESS_TECHNOLOGY_GPRS = 1 << 3
MM_MODEM_ACCESS_TECHNOLOGY_EDGE = 1 << 4
MM_MODEM_ACCESS_TECHNOLOGY_UMTS = 1 << 5
MM_MODEM_ACCESS_TECHNOLOGY_HSDPA = 1 << 6
MM_MODEM_ACCESS_TECHNOLOGY_HSUPA = 1 << 7
MM_MODEM_ACCESS_TECHNOLOGY_HSPA = 1 << 8
MM_MODEM_ACCESS_TECHNOLOGY_HSPA_PLUS = 1 << 9
MM_MODEM_ACCESS_TECHNOLOGY_1XRTT = 1 << 10
MM_MODEM_ACCESS_TECHNOLOGY_EVDO0 = 1 << 11
MM_MODEM_ACCESS_TECHNOLOGY_EVDOA = 1 << 12
MM_MODEM_ACCESS_TECHNOLOGY_EVDOB = 1 << 13
MM_MODEM_ACCESS_TECHNOLOGY_LTE = 1 << 14
MM_MODEM_ACCESS_TECHNOLOGY_ANY = 0xFFFFFFFF
# enum MMModemBand
MM_MODEM_BAND_UNKNOWN = 0
# GSM/UMTS bands
MM_MODEM_BAND_EGSM = 1
MM_MODEM_BAND_DCS = 2
MM_MODEM_BAND_PCS = 3
MM_MODEM_BAND_G850 = 4
MM_MODEM_BAND_U2100 = 5
MM_MODEM_BAND_U1800 = 6
MM_MODEM_BAND_U17IV = 7
MM_MODEM_BAND_U800 = 8
MM_MODEM_BAND_U850 = 9
MM_MODEM_BAND_U900 = 10
MM_MODEM_BAND_U17IX = 11
MM_MODEM_BAND_U1900 = 12
MM_MODEM_BAND_U2600 = 13
# LTE bands
MM_MODEM_BAND_EUTRAN_I = 31
MM_MODEM_BAND_EUTRAN_II = 32
MM_MODEM_BAND_EUTRAN_III = 33
MM_MODEM_BAND_EUTRAN_IV = 34
MM_MODEM_BAND_EUTRAN_V = 35
MM_MODEM_BAND_EUTRAN_VI = 36
MM_MODEM_BAND_EUTRAN_VII = 37
MM_MODEM_BAND_EUTRAN_VIII = 38
MM_MODEM_BAND_EUTRAN_IX = 39
MM_MODEM_BAND_EUTRAN_X = 40
MM_MODEM_BAND_EUTRAN_XI = 41
MM_MODEM_BAND_EUTRAN_XII = 42
MM_MODEM_BAND_EUTRAN_XIII = 43
MM_MODEM_BAND_EUTRAN_XIV = 44
MM_MODEM_BAND_EUTRAN_XVII = 47
MM_MODEM_BAND_EUTRAN_XVIII = 48
MM_MODEM_BAND_EUTRAN_XIX = 49
MM_MODEM_BAND_EUTRAN_XX = 50
MM_MODEM_BAND_EUTRAN_XXI = 51
MM_MODEM_BAND_EUTRAN_XXII = 52
MM_MODEM_BAND_EUTRAN_XXIII = 53
MM_MODEM_BAND_EUTRAN_XXIV = 54
MM_MODEM_BAND_EUTRAN_XXV = 55
MM_MODEM_BAND_EUTRAN_XXVI = 56
MM_MODEM_BAND_EUTRAN_XXXIII = 63
MM_MODEM_BAND_EUTRAN_XXXIV = 64
MM_MODEM_BAND_EUTRAN_XXXV = 65
MM_MODEM_BAND_EUTRAN_XXXVI = 66
MM_MODEM_BAND_EUTRAN_XXXVII = 67
MM_MODEM_BAND_EUTRAN_XXXVIII = 68
MM_MODEM_BAND_EUTRAN_XXXIX = 69
MM_MODEM_BAND_EUTRAN_XL = 70
MM_MODEM_BAND_EUTRAN_XLI = 71
MM_MODEM_BAND_EUTRAN_XLII = 72
MM_MODEM_BAND_EUTRAN_XLIII = 73
# CDMA Band Classes (see 3GPP2 C.S0057-C)
MM_MODEM_BAND_CDMA_BC0_CELLULAR_800 = 128
MM_MODEM_BAND_CDMA_BC1_PCS_1900 = 129
MM_MODEM_BAND_CDMA_BC2_TACS = 130
MM_MODEM_BAND_CDMA_BC3_JTACS = 131
MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS = 132
MM_MODEM_BAND_CDMA_BC5_NMT450 = 134
MM_MODEM_BAND_CDMA_BC6_IMT2000 = 135
MM_MODEM_BAND_CDMA_BC7_CELLULAR_700 = 136
MM_MODEM_BAND_CDMA_BC8_1800 = 137
MM_MODEM_BAND_CDMA_BC9_900 = 138
MM_MODEM_BAND_CDMA_BC10_SECONDARY_800 = 139
MM_MODEM_BAND_CDMA_BC11_PAMR_400 = 140
MM_MODEM_BAND_CDMA_BC12_PAMR_800 = 141
MM_MODEM_BAND_CDMA_BC13_IMT2000_2500 = 142
MM_MODEM_BAND_CDMA_BC14_PCS2_1900 = 143
MM_MODEM_BAND_CDMA_BC15_AWS = 144
MM_MODEM_BAND_CDMA_BC16_US_2500 = 145
MM_MODEM_BAND_CDMA_BC17_US_FLO_2500 = 146
MM_MODEM_BAND_CDMA_BC18_US_PS_700 = 147
MM_MODEM_BAND_CDMA_BC19_US_LOWER_700 = 148
# All/Any
MM_MODEM_BAND_ANY = 256
# enum MMModemCapability
MM_MODEM_CAPABILITY_NONE = 0
MM_MODEM_CAPABILITY_POTS = 1 << 0
MM_MODEM_CAPABILITY_CDMA_EVDO = 1 << 1
MM_MODEM_CAPABILITY_GSM_UMTS = 1 << 2
MM_MODEM_CAPABILITY_LTE = 1 << 3
MM_MODEM_CAPABILITY_LTE_ADVANCED = 1 << 4
MM_MODEM_CAPABILITY_IRIDIUM = 1 << 5
# enum MMModemCdmaActivationState
MM_MODEM_CDMA_ACTIVATION_STATE_UNKNOWN = 0
MM_MODEM_CDMA_ACTIVATION_STATE_NOT_ACTIVATED = 1
MM_MODEM_CDMA_ACTIVATION_STATE_ACTIVATING = 2
MM_MODEM_CDMA_ACTIVATION_STATE_PARTIALLY_ACTIVATED = 3
MM_MODEM_CDMA_ACTIVATION_STATE_ACTIVATED = 4
# enum MMModemCdmaRegistrationState
MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN = 0
MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED = 1
MM_MODEM_CDMA_REGISTRATION_STATE_HOME = 2
MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING = 3
# enum MMModemCdmaRmProtocol
MM_MODEM_CDMA_RM_PROTOCOL_UNKNOWN = 0
MM_MODEM_CDMA_RM_PROTOCOL_ASYNC = 1
MM_MODEM_CDMA_RM_PROTOCOL_PACKET_RELAY = 2
MM_MODEM_CDMA_RM_PROTOCOL_PACKET_NETWORK_PPP = 3
MM_MODEM_CDMA_RM_PROTOCOL_PACKET_NETWORK_SLIP = 4
MM_MODEM_CDMA_RM_PROTOCOL_STU_III = 5
# enum MMModemContactsStorage
MM_MODEM_CONTACTS_STORAGE_UNKNOWN = 0
MM_MODEM_CONTACTS_STORAGE_ME = 1
MM_MODEM_CONTACTS_STORAGE_SM = 2
MM_MODEM_CONTACTS_STORAGE_MT = 3
# enum MMModemLocationSource
MM_MODEM_LOCATION_SOURCE_NONE = 0
MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI = 1 << 0
MM_MODEM_LOCATION_SOURCE_GPS_RAW = 1 << 1
MM_MODEM_LOCATION_SOURCE_GPS_NMEA = 1 << 2
# enum MMModemLock
MM_MODEM_LOCK_UNKNOWN = 0
MM_MODEM_LOCK_NONE = 1
MM_MODEM_LOCK_SIM_PIN = 2
MM_MODEM_LOCK_SIM_PIN2 = 3
MM_MODEM_LOCK_SIM_PUK = 4
MM_MODEM_LOCK_SIM_PUK2 = 5
MM_MODEM_LOCK_PH_SP_PIN = 6
MM_MODEM_LOCK_PH_SP_PUK = 7
MM_MODEM_LOCK_PH_NET_PIN = 8
MM_MODEM_LOCK_PH_NET_PUK = 9
MM_MODEM_LOCK_PH_SIM_PIN = 10
MM_MODEM_LOCK_PH_CORP_PIN = 11
MM_MODEM_LOCK_PH_CORP_PUK = 12
MM_MODEM_LOCK_PH_FSIM_PIN = 13
MM_MODEM_LOCK_PH_FSIM_PUK = 14
MM_MODEM_LOCK_PH_NETSUB_PIN = 15
MM_MODEM_LOCK_PH_NETSUB_PUK = 16
# enum MMModemMode
MM_MODEM_MODE_NONE = 0
MM_MODEM_MODE_CS = 1 << 0
MM_MODEM_MODE_2G = 1 << 1
MM_MODEM_MODE_3G = 1 << 2
MM_MODEM_MODE_4G = 1 << 3
MM_MODEM_MODE_ANY = 0xFFFFFFFF
# enum MMModemState
MM_MODEM_STATE_FAILED = -1
MM_MODEM_STATE_UNKNOWN = 0
MM_MODEM_STATE_INITIALIZING = 1
MM_MODEM_STATE_LOCKED = 2
MM_MODEM_STATE_DISABLED = 3
MM_MODEM_STATE_DISABLING = 4
MM_MODEM_STATE_ENABLING = 5
MM_MODEM_STATE_ENABLED = 6
MM_MODEM_STATE_SEARCHING = 7
MM_MODEM_STATE_REGISTERED = 8
MM_MODEM_STATE_DISCONNECTING = 9
MM_MODEM_STATE_CONNECTING = 10
MM_MODEM_STATE_CONNECTED = 11
def ModemStateToString(state):
"""
Returns a string for the given state.
@param state: MMModemState value.
@return A string that describes the given state.
"""
MODEM_STATE_STRINGS = [
'FAILED',
'UNKNOWN',
'INITIALIZING',
'LOCKED',
'DISABLED',
'DISABLING',
'ENABLING',
'ENABLED',
'SEARCHING',
'REGISTERED',
'DISCONNECTING',
'CONNECTING',
'CONNECTED'
]
return MODEM_STATE_STRINGS[state + 1]
# enum MMModemPowerState
MM_MODEM_POWER_STATE_UNKNOWN = 0
MM_MODEM_POWER_STATE_OFF = 1
MM_MODEM_POWER_STATE_LOW = 2
MM_MODEM_POWER_STATE_ON = 3
# enum MMModemStateChangeReason
MM_MODEM_STATE_CHANGE_REASON_UNKNOWN = 0
MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED = 1
MM_MODEM_STATE_CHANGE_REASON_SUSPEND = 2
# enum MMSmsState
MM_SMS_STATE_UNKNOWN = 0
MM_SMS_STATE_STORED = 1
MM_SMS_STATE_RECEIVING = 2
MM_SMS_STATE_RECEIVED = 3
MM_SMS_STATE_SENDING = 4
MM_SMS_STATE_SENT = 5
# enum MMSmsStorage
MM_SMS_STORAGE_UNKNOWN = 0
MM_SMS_STORAGE_SM = 1
MM_SMS_STORAGE_ME = 2
MM_SMS_STORAGE_MT = 3
MM_SMS_STORAGE_SR = 4
MM_SMS_STORAGE_BM = 5
MM_SMS_STORAGE_TA = 6
# enum MMModemPortType
MM_MODEM_PORT_TYPE_UNKNOWN = 1
MM_MODEM_PORT_TYPE_NET = 2
MM_MODEM_PORT_TYPE_AT = 3
MM_MODEM_PORT_TYPE_QCDM = 4
MM_MODEM_PORT_TYPE_GPS = 5
MM_MODEM_PORT_TYPE_QMI = 6
MM_MODEM_PORT_TYPE_MBIM = 7
# enum MMSmsPduType
MM_SMS_PDU_TYPE_UNKNOWN = 0
MM_SMS_PDU_TYPE_DELIVER = 1
MM_SMS_PDU_TYPE_SUBMIT = 2
MM_SMS_PDU_TYPE_STATUS_REPORT = 3
# enum MMSmsDeliveryState
MM_SMS_DELIVERY_STATE_UNKNOWN = 0x100
# enum MMSmsValidityType
MM_SMS_VALIDITY_TYPE_UNKNOWN = 0
MM_SMS_VALIDITY_TYPE_RELATIVE = 1
MM_SMS_VALIDITY_TYPE_ABSOLUTE = 2
MM_SMS_VALIDITY_TYPE_ENHANCED = 3