| # Copyright (c) 2020 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 HermesManager DBus constants, such as |
| interface names, enumerations, and errors. |
| |
| """ |
| |
| #Hermes DBus Binding errors |
| DBUS_HERMES_UNKNOWN = 'org.chromium.Hermes.Error.Unknown' |
| DBUS_HERMES_UNSUPPORTED = 'org.chromium.Hermes.Error.Unsupported' |
| DBUS_HERMES_WRONGSTATE = 'rg.chromium.Hermes.Error.WrongState' |
| |
| #Hermes DBus other errors |
| DBUS_HERMES_PROFILE_ALREADY_DISABLED = 'org.chromium.Hermes.Error.AlreadyDisabled' |
| DBUS_HERMES_PROFILE_ALREADY_ENABLED = 'org.chromium.Hermes.Error.AlreadyEnabled' |
| DBUS_HERMES_BAD_NOTIFICATION = 'org.chromium.Hermes.Error.BadNotification' |
| DBUS_HERMES_BAD_REQUEST = 'org.chromium.Hermes.Error.BadRequest' |
| DBUS_HERMES_INTERNAL_LPA_FAILURE = 'org.chromium.Hermes.Error.InternalLpaFailure' |
| DBUS_HERMES_INVALID_ACTIVATION_CODE = 'org.chromium.Hermes.Error.InvalidActivationCode' |
| DBUS_HERMES_INVALID_ICCID = 'org.chromium.Hermes.Error.InvalidIccid' |
| DBUS_HERMES_INVALID_PARAM = 'org.chromium.Hermes.Error.InvalidParameter' |
| DBUS_HERMES_MALFORMED_RESPONSE = 'org.chromium.Hermes.Error.MalformedResponse' |
| DBUS_HERMES_NEED_CONFIRMATION_CODE = 'org.chromium.Hermes.Error.NeedConfirmationCode' |
| DBUS_HERMES_NO_RESPONSE = 'org.chromium.Hermes.Error.NoResponse' |
| DBUS_HERMES_PENDING_PROFILE = 'org.chromium.Hermes.Error.PendingProfile' |
| DBUS_HERMES_SEND_APDU_FAILURE = 'org.chromium.Hermes.Error.SendApduFailur' |
| DBUS_HERMES_SEND_HTTP_FAILURE = 'org.chromium.Hermes.Error.SendHttpsFailure' |
| DBUS_HERMES_SEND_NOTIFICATION_FAILURE = 'org.chromium.Hermes.Error.SendNotificationFailure' |
| DBUS_HERMES_TEST_PROFILE_INPROD = 'org.chromium.Hermes.Error.TestProfileInProd' |
| |
| # Interfaces |
| # Standard Interfaces |
| I_PROPERTIES = 'org.freedesktop.DBus.Properties' |
| I_INTROSPECTABLE = 'org.freedesktop.DBus.Introspectable' |
| I_OBJECT_MANAGER = 'org.freedesktop.DBus.ObjectManager' |
| |
| # |
| # For eSIM interactions. |
| # |
| HERMES_SERVICE = 'org.chromium.Hermes' |
| HERMES_OBJECT = '/org/chromium/Hermes' |
| HERMES_MANAGER_OBJECT = '/org/chromium/Hermes/Manager' |
| HERMES_MANAGER_IFACE = 'org.chromium.Hermes.Manager' |
| |
| HERMES_EUICC_OBJECT = '/org/chromium/Hermes/Euicc' |
| HERMES_EUICC_IFACE = 'org.chromium.Hermes.Euicc' |
| |
| HERMES_PROFILE_OBJECT = '/org/chromium/Hermes/Profile' |
| HERMES_PROFILE_IFACE = 'org.chromium.Hermes.Profile' |
| |
| |
| EUICC_ENUMERATION_TIMEOUT = 20 |
| EUICC_ENABLE_DISABLE_TIMEOUT = 10 |
| PROFILE_ENABLE_DISABLE_TIMEOUT = 10 |
| PROFILE_REFRESH_TIMEOUT = 10 |
| # Amount of time to wait between attempts to connect to HermesManager. |
| CONNECT_WAIT_INTERVAL_SECONDS = 20 |
| HERMES_RESTART_WAIT_SECONDS = 30 |
| |
| def ProfileStateToString(state): |
| """ |
| Returns a string for the given state. |
| |
| @param state: Profile state value. |
| |
| @return A string that describes the given state. |
| |
| """ |
| PROFILE_STATE_STRINGS = [ |
| 'PENDING', |
| 'INACTIVE', |
| 'ACTIVE' |
| ] |
| return PROFILE_STATE_STRINGS[state] |
| |
| |
| def ProfileClassToString(pclass): |
| """ |
| Returns a string for the given class. |
| |
| @param state: Profile class value. |
| |
| @return A string that describes the given class. |
| |
| """ |
| PROFILE_CLASS_STRINGS = [ |
| 'TESTING', |
| 'PROVISIONING', |
| 'OPERATIONAL' |
| ] |
| return PROFILE_CLASS_STRINGS[pclass] |