xref: /aosp_15_r20/external/autotest/client/cros/cellular/hermes_constants.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li# Lint as: python2, python3
2*9c5db199SXin Li# Copyright (c) 2020 The Chromium OS Authors. All rights reserved.
3*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
4*9c5db199SXin Li# found in the LICENSE file.
5*9c5db199SXin Li
6*9c5db199SXin Li"""
7*9c5db199SXin LiThis module provides bindings for HermesManager DBus constants, such as
8*9c5db199SXin Liinterface names, enumerations, and errors.
9*9c5db199SXin Li
10*9c5db199SXin Li"""
11*9c5db199SXin Li
12*9c5db199SXin Li#Hermes DBus Binding errors
13*9c5db199SXin LiDBUS_HERMES_UNKNOWN = 'org.chromium.Hermes.Error.Unknown'
14*9c5db199SXin LiDBUS_HERMES_UNSUPPORTED = 'org.chromium.Hermes.Error.Unsupported'
15*9c5db199SXin LiDBUS_HERMES_WRONGSTATE = 'rg.chromium.Hermes.Error.WrongState'
16*9c5db199SXin Li
17*9c5db199SXin Li#Hermes DBus other errors
18*9c5db199SXin LiDBUS_HERMES_PROFILE_ALREADY_DISABLED = 'org.chromium.Hermes.Error.AlreadyDisabled'
19*9c5db199SXin LiDBUS_HERMES_PROFILE_ALREADY_ENABLED = 'org.chromium.Hermes.Error.AlreadyEnabled'
20*9c5db199SXin LiDBUS_HERMES_BAD_NOTIFICATION = 'org.chromium.Hermes.Error.BadNotification'
21*9c5db199SXin LiDBUS_HERMES_BAD_REQUEST = 'org.chromium.Hermes.Error.BadRequest'
22*9c5db199SXin LiDBUS_HERMES_INTERNAL_LPA_FAILURE = 'org.chromium.Hermes.Error.InternalLpaFailure'
23*9c5db199SXin LiDBUS_HERMES_INVALID_ACTIVATION_CODE = 'org.chromium.Hermes.Error.InvalidActivationCode'
24*9c5db199SXin LiDBUS_HERMES_INVALID_ICCID = 'org.chromium.Hermes.Error.InvalidIccid'
25*9c5db199SXin LiDBUS_HERMES_INVALID_PARAM = 'org.chromium.Hermes.Error.InvalidParameter'
26*9c5db199SXin LiDBUS_HERMES_MALFORMED_RESPONSE = 'org.chromium.Hermes.Error.MalformedResponse'
27*9c5db199SXin LiDBUS_HERMES_NEED_CONFIRMATION_CODE = 'org.chromium.Hermes.Error.NeedConfirmationCode'
28*9c5db199SXin LiDBUS_HERMES_NO_RESPONSE = 'org.chromium.Hermes.Error.NoResponse'
29*9c5db199SXin LiDBUS_HERMES_PENDING_PROFILE = 'org.chromium.Hermes.Error.PendingProfile'
30*9c5db199SXin LiDBUS_HERMES_SEND_APDU_FAILURE = 'org.chromium.Hermes.Error.SendApduFailur'
31*9c5db199SXin LiDBUS_HERMES_SEND_HTTP_FAILURE = 'org.chromium.Hermes.Error.SendHttpsFailure'
32*9c5db199SXin LiDBUS_HERMES_SEND_NOTIFICATION_FAILURE = 'org.chromium.Hermes.Error.SendNotificationFailure'
33*9c5db199SXin LiDBUS_HERMES_TEST_PROFILE_INPROD = 'org.chromium.Hermes.Error.TestProfileInProd'
34*9c5db199SXin Li
35*9c5db199SXin Li# Interfaces
36*9c5db199SXin Li# Standard Interfaces
37*9c5db199SXin LiI_PROPERTIES = 'org.freedesktop.DBus.Properties'
38*9c5db199SXin LiI_INTROSPECTABLE = 'org.freedesktop.DBus.Introspectable'
39*9c5db199SXin LiI_OBJECT_MANAGER = 'org.freedesktop.DBus.ObjectManager'
40*9c5db199SXin Li
41*9c5db199SXin Li#
42*9c5db199SXin Li# For eSIM interactions.
43*9c5db199SXin Li#
44*9c5db199SXin LiHERMES_SERVICE = 'org.chromium.Hermes'
45*9c5db199SXin LiHERMES_OBJECT = '/org/chromium/Hermes'
46*9c5db199SXin LiHERMES_MANAGER_OBJECT = '/org/chromium/Hermes/Manager'
47*9c5db199SXin LiHERMES_MANAGER_IFACE = 'org.chromium.Hermes.Manager'
48*9c5db199SXin Li
49*9c5db199SXin LiHERMES_EUICC_OBJECT = '/org/chromium/Hermes/Euicc'
50*9c5db199SXin LiHERMES_EUICC_IFACE = 'org.chromium.Hermes.Euicc'
51*9c5db199SXin Li
52*9c5db199SXin LiHERMES_PROFILE_OBJECT = '/org/chromium/Hermes/Profile'
53*9c5db199SXin LiHERMES_PROFILE_IFACE = 'org.chromium.Hermes.Profile'
54*9c5db199SXin Li
55*9c5db199SXin Li
56*9c5db199SXin LiEUICC_ENUMERATION_TIMEOUT = 20
57*9c5db199SXin LiEUICC_ENABLE_DISABLE_TIMEOUT = 10
58*9c5db199SXin LiPROFILE_ENABLE_DISABLE_TIMEOUT = 10
59*9c5db199SXin LiPROFILE_REFRESH_TIMEOUT = 10
60*9c5db199SXin Li# Amount of time to wait between attempts to connect to HermesManager.
61*9c5db199SXin LiCONNECT_WAIT_INTERVAL_SECONDS = 20
62*9c5db199SXin LiHERMES_RESTART_WAIT_SECONDS   = 30
63*9c5db199SXin Li# DBus method reply timeout in milliseconds
64*9c5db199SXin LiHERMES_DBUS_METHOD_REPLY_TIMEOUT = 120 * 1000
65*9c5db199SXin Li
66*9c5db199SXin Lidef ProfileStateToString(state):
67*9c5db199SXin Li    """
68*9c5db199SXin Li    Returns a string for the given state.
69*9c5db199SXin Li
70*9c5db199SXin Li    @param state: Profile state value.
71*9c5db199SXin Li
72*9c5db199SXin Li    @return A string that describes the given state.
73*9c5db199SXin Li
74*9c5db199SXin Li    """
75*9c5db199SXin Li    PROFILE_STATE_STRINGS = [
76*9c5db199SXin Li        'PENDING',
77*9c5db199SXin Li        'INACTIVE',
78*9c5db199SXin Li        'ACTIVE'
79*9c5db199SXin Li    ]
80*9c5db199SXin Li    return PROFILE_STATE_STRINGS[state]
81*9c5db199SXin Li
82*9c5db199SXin Li
83*9c5db199SXin Lidef ProfileClassToString(pclass):
84*9c5db199SXin Li    """
85*9c5db199SXin Li    Returns a string for the given class.
86*9c5db199SXin Li
87*9c5db199SXin Li    @param state: Profile class value.
88*9c5db199SXin Li
89*9c5db199SXin Li    @return A string that describes the given class.
90*9c5db199SXin Li
91*9c5db199SXin Li    """
92*9c5db199SXin Li    PROFILE_CLASS_STRINGS = [
93*9c5db199SXin Li        'TESTING',
94*9c5db199SXin Li        'PROVISIONING',
95*9c5db199SXin Li        'OPERATIONAL'
96*9c5db199SXin Li    ]
97*9c5db199SXin Li    return PROFILE_CLASS_STRINGS[pclass]
98