Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
michael@0 | 2 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 5 | |
michael@0 | 6 | [Pref="dom.icc.enabled"] |
michael@0 | 7 | interface MozIccManager : EventTarget |
michael@0 | 8 | { |
michael@0 | 9 | /** |
michael@0 | 10 | * STK menu presentation types. |
michael@0 | 11 | */ |
michael@0 | 12 | const unsigned short STK_MENU_TYPE_NOT_SPECIFIED = 0x00; |
michael@0 | 13 | const unsigned short STK_MENU_TYPE_DATA_VALUES = 0x01; |
michael@0 | 14 | const unsigned short STK_MENU_TYPE_NAVIGATION_OPTIONS = 0x03; |
michael@0 | 15 | |
michael@0 | 16 | /** |
michael@0 | 17 | * Browser launch mode. |
michael@0 | 18 | */ |
michael@0 | 19 | const unsigned short STK_BROWSER_MODE_LAUNCH_IF_NOT_ALREADY_LAUNCHED = 0x00; |
michael@0 | 20 | const unsigned short STK_BROWSER_MODE_USING_EXISTING_BROWSER = 0x02; |
michael@0 | 21 | const unsigned short STK_BROWSER_MODE_USING_NEW_BROWSER = 0x03; |
michael@0 | 22 | |
michael@0 | 23 | /** |
michael@0 | 24 | * STK proactive commands. |
michael@0 | 25 | * |
michael@0 | 26 | * @see TS 11.14, clause 13.4 |
michael@0 | 27 | */ |
michael@0 | 28 | const unsigned short STK_CMD_REFRESH = 0x01; |
michael@0 | 29 | const unsigned short STK_CMD_POLL_INTERVAL = 0x03; |
michael@0 | 30 | const unsigned short STK_CMD_POLL_OFF = 0x04; |
michael@0 | 31 | const unsigned short STK_CMD_SET_UP_EVENT_LIST = 0x05; |
michael@0 | 32 | const unsigned short STK_CMD_SET_UP_CALL = 0x10; |
michael@0 | 33 | const unsigned short STK_CMD_SEND_SS = 0x11; |
michael@0 | 34 | const unsigned short STK_CMD_SEND_USSD = 0x12; |
michael@0 | 35 | const unsigned short STK_CMD_SEND_SMS = 0x13; |
michael@0 | 36 | const unsigned short STK_CMD_SEND_DTMF = 0x14; |
michael@0 | 37 | const unsigned short STK_CMD_LAUNCH_BROWSER = 0x15; |
michael@0 | 38 | const unsigned short STK_CMD_PLAY_TONE = 0x20; |
michael@0 | 39 | const unsigned short STK_CMD_DISPLAY_TEXT = 0x21; |
michael@0 | 40 | const unsigned short STK_CMD_GET_INKEY = 0x22; |
michael@0 | 41 | const unsigned short STK_CMD_GET_INPUT = 0x23; |
michael@0 | 42 | const unsigned short STK_CMD_SELECT_ITEM = 0x24; |
michael@0 | 43 | const unsigned short STK_CMD_SET_UP_MENU = 0x25; |
michael@0 | 44 | const unsigned short STK_CMD_PROVIDE_LOCAL_INFO = 0x26; |
michael@0 | 45 | const unsigned short STK_CMD_TIMER_MANAGEMENT = 0x27; |
michael@0 | 46 | const unsigned short STK_CMD_SET_UP_IDLE_MODE_TEXT = 0x28; |
michael@0 | 47 | const unsigned short STK_CMD_OPEN_CHANNEL = 0x40; |
michael@0 | 48 | const unsigned short STK_CMD_CLOSE_CHANNEL = 0x41; |
michael@0 | 49 | const unsigned short STK_CMD_RECEIVE_DATA = 0x42; |
michael@0 | 50 | const unsigned short STK_CMD_SEND_DATA = 0x43; |
michael@0 | 51 | |
michael@0 | 52 | /** |
michael@0 | 53 | * STK result code. |
michael@0 | 54 | * |
michael@0 | 55 | * @see TS 11.14, clause 12.12 |
michael@0 | 56 | * |
michael@0 | 57 | * Results '0X' and '1X' indicate that the command has been performed. |
michael@0 | 58 | */ |
michael@0 | 59 | /** Command performed successfully */ |
michael@0 | 60 | const unsigned short STK_RESULT_OK = 0x00; |
michael@0 | 61 | |
michael@0 | 62 | /** Command performed with partial comprehension */ |
michael@0 | 63 | const unsigned short STK_RESULT_PRFRMD_WITH_PARTIAL_COMPREHENSION = 0x01; |
michael@0 | 64 | |
michael@0 | 65 | /** Command performed, with missing information */ |
michael@0 | 66 | const unsigned short STK_RESULT_PRFRMD_WITH_MISSING_INFO = 0x02; |
michael@0 | 67 | |
michael@0 | 68 | /** REFRESH performed with additional EFs read */ |
michael@0 | 69 | const unsigned short STK_RESULT_PRFRMD_WITH_ADDITIONAL_EFS_READ = 0x03; |
michael@0 | 70 | |
michael@0 | 71 | /** Command performed successfully, limited service */ |
michael@0 | 72 | const unsigned short STK_RESULT_PRFRMD_LIMITED_SERVICE = 0x06; |
michael@0 | 73 | |
michael@0 | 74 | /** Proactive UICC session terminated by the user */ |
michael@0 | 75 | const unsigned short STK_RESULT_UICC_SESSION_TERM_BY_USER = 0x10; |
michael@0 | 76 | |
michael@0 | 77 | /** Backward move in the proactive UICC session requested by the user */ |
michael@0 | 78 | const unsigned short STK_RESULT_BACKWARD_MOVE_BY_USER = 0x11; |
michael@0 | 79 | |
michael@0 | 80 | /** No response from user */ |
michael@0 | 81 | const unsigned short STK_RESULT_NO_RESPONSE_FROM_USER = 0x12; |
michael@0 | 82 | |
michael@0 | 83 | /** Help information required by the user */ |
michael@0 | 84 | const unsigned short STK_RESULT_HELP_INFO_REQUIRED = 0x13; |
michael@0 | 85 | |
michael@0 | 86 | /** USSD or SS transaction terminated by the user */ |
michael@0 | 87 | const unsigned short STK_RESULT_USSD_SS_SESSION_TERM_BY_USER = 0x14; |
michael@0 | 88 | |
michael@0 | 89 | /** |
michael@0 | 90 | * Results '2X' indicate to the UICC that it may be worth re-trying the |
michael@0 | 91 | * command at a later opportunity. |
michael@0 | 92 | */ |
michael@0 | 93 | /** Terminal currently unable to process command */ |
michael@0 | 94 | const unsigned short STK_RESULT_TERMINAL_CRNTLY_UNABLE_TO_PROCESS = 0x20; |
michael@0 | 95 | |
michael@0 | 96 | /** Network currently unable to process command */ |
michael@0 | 97 | const unsigned short STK_RESULT_NETWORK_CRNTLY_UNABLE_TO_PROCESS = 0x21; |
michael@0 | 98 | |
michael@0 | 99 | /** User did not accept the proactive command */ |
michael@0 | 100 | const unsigned short STK_RESULT_USER_NOT_ACCEPT = 0x22; |
michael@0 | 101 | |
michael@0 | 102 | /** User cleared down call before connection or network release */ |
michael@0 | 103 | const unsigned short STK_RESULT_USER_CLEAR_DOWN_CALL = 0x23; |
michael@0 | 104 | |
michael@0 | 105 | /** Launch browser generic error code */ |
michael@0 | 106 | const unsigned short STK_RESULT_LAUNCH_BROWSER_ERROR = 0x26; |
michael@0 | 107 | |
michael@0 | 108 | /** |
michael@0 | 109 | * Results '3X' indicate that it is not worth the UICC re-trying with an |
michael@0 | 110 | * identical command, as it will only get the same response. However, the |
michael@0 | 111 | * decision to retry lies with the application. |
michael@0 | 112 | */ |
michael@0 | 113 | /** Command beyond terminal's capabilities */ |
michael@0 | 114 | const unsigned short STK_RESULT_BEYOND_TERMINAL_CAPABILITY = 0x30; |
michael@0 | 115 | |
michael@0 | 116 | /** Command type not understood by terminal */ |
michael@0 | 117 | const unsigned short STK_RESULT_CMD_TYPE_NOT_UNDERSTOOD = 0x31; |
michael@0 | 118 | |
michael@0 | 119 | /** Command data not understood by terminal */ |
michael@0 | 120 | const unsigned short STK_RESULT_CMD_DATA_NOT_UNDERSTOOD = 0x32; |
michael@0 | 121 | |
michael@0 | 122 | /** Command number not known by terminal */ |
michael@0 | 123 | const unsigned short STK_RESULT_CMD_NUM_NOT_KNOWN = 0x33; |
michael@0 | 124 | |
michael@0 | 125 | /** SS return error */ |
michael@0 | 126 | const unsigned short STK_RESULT_SS_RETURN_ERROR = 0x34; |
michael@0 | 127 | |
michael@0 | 128 | /** SMS RP-ERROR */ |
michael@0 | 129 | const unsigned short STK_RESULT_SMS_RP_ERROR = 0x35; |
michael@0 | 130 | |
michael@0 | 131 | /** Error, required values are missing */ |
michael@0 | 132 | const unsigned short STK_RESULT_REQUIRED_VALUES_MISSING = 0x36; |
michael@0 | 133 | |
michael@0 | 134 | /** USSD return error */ |
michael@0 | 135 | const unsigned short STK_RESULT_USSD_RETURN_ERROR = 0x37; |
michael@0 | 136 | |
michael@0 | 137 | /** MultipleCard commands error */ |
michael@0 | 138 | const unsigned short STK_RESULT_MULTI_CARDS_CMD_ERROR = 0x38; |
michael@0 | 139 | |
michael@0 | 140 | /** |
michael@0 | 141 | * Interaction with call control by USIM or MO short message control by |
michael@0 | 142 | * USIM, permanent problem. |
michael@0 | 143 | */ |
michael@0 | 144 | const unsigned short STK_RESULT_USIM_CALL_CONTROL_PERMANENT = 0x39; |
michael@0 | 145 | |
michael@0 | 146 | /** Bearer independent protocol error */ |
michael@0 | 147 | const unsigned short STK_RESULT_BIP_ERROR = 0x3a; |
michael@0 | 148 | |
michael@0 | 149 | /** |
michael@0 | 150 | * STK event list. |
michael@0 | 151 | */ |
michael@0 | 152 | const unsigned short STK_EVENT_TYPE_MT_CALL = 0x00; |
michael@0 | 153 | const unsigned short STK_EVENT_TYPE_CALL_CONNECTED = 0x01; |
michael@0 | 154 | const unsigned short STK_EVENT_TYPE_CALL_DISCONNECTED = 0x02; |
michael@0 | 155 | const unsigned short STK_EVENT_TYPE_LOCATION_STATUS = 0x03; |
michael@0 | 156 | const unsigned short STK_EVENT_TYPE_USER_ACTIVITY = 0x04; |
michael@0 | 157 | const unsigned short STK_EVENT_TYPE_IDLE_SCREEN_AVAILABLE = 0x05; |
michael@0 | 158 | const unsigned short STK_EVENT_TYPE_CARD_READER_STATUS = 0x06; |
michael@0 | 159 | const unsigned short STK_EVENT_TYPE_LANGUAGE_SELECTION = 0x07; |
michael@0 | 160 | const unsigned short STK_EVENT_TYPE_BROWSER_TERMINATION = 0x08; |
michael@0 | 161 | const unsigned short STK_EVENT_TYPE_DATA_AVAILABLE = 0x09; |
michael@0 | 162 | const unsigned short STK_EVENT_TYPE_CHANNEL_STATUS = 0x0a; |
michael@0 | 163 | const unsigned short STK_EVENT_TYPE_SINGLE_ACCESS_TECHNOLOGY_CHANGED = 0x0b; |
michael@0 | 164 | const unsigned short STK_EVENT_TYPE_DISPLAY_PARAMETER_CHANGED = 0x0c; |
michael@0 | 165 | const unsigned short STK_EVENT_TYPE_LOCAL_CONNECTION = 0x0d; |
michael@0 | 166 | const unsigned short STK_EVENT_TYPE_NETWORK_SEARCH_MODE_CHANGED = 0x0e; |
michael@0 | 167 | const unsigned short STK_EVENT_TYPE_BROWSING_STATUS = 0x0f; |
michael@0 | 168 | const unsigned short STK_EVENT_TYPE_FRAMES_INFORMATION_CHANGED = 0x10; |
michael@0 | 169 | |
michael@0 | 170 | /** |
michael@0 | 171 | * The service state of STK location status. |
michael@0 | 172 | */ |
michael@0 | 173 | const unsigned short STK_SERVICE_STATE_NORMAL = 0x00; |
michael@0 | 174 | const unsigned short STK_SERVICE_STATE_LIMITED = 0x01; |
michael@0 | 175 | const unsigned short STK_SERVICE_STATE_UNAVAILABLE = 0x02; |
michael@0 | 176 | |
michael@0 | 177 | /** |
michael@0 | 178 | * Tone type. |
michael@0 | 179 | */ |
michael@0 | 180 | const unsigned short STK_TONE_TYPE_DIAL_TONE = 0x01; |
michael@0 | 181 | const unsigned short STK_TONE_TYPE_CALLED_SUBSCRIBER_BUSY = 0x02; |
michael@0 | 182 | const unsigned short STK_TONE_TYPE_CONGESTION = 0x03; |
michael@0 | 183 | const unsigned short STK_TONE_TYPE_RADIO_PATH_ACK = 0x04; |
michael@0 | 184 | const unsigned short STK_TONE_TYPE_RADIO_PATH_NOT_AVAILABLE = 0x05; |
michael@0 | 185 | const unsigned short STK_TONE_TYPE_ERROR = 0x06; |
michael@0 | 186 | const unsigned short STK_TONE_TYPE_CALL_WAITING_TONE = 0x07; |
michael@0 | 187 | const unsigned short STK_TONE_TYPE_RINGING_TONE = 0x08; |
michael@0 | 188 | const unsigned short STK_TONE_TYPE_GENERAL_BEEP = 0x10; |
michael@0 | 189 | const unsigned short STK_TONE_TYPE_POSITIVE_ACK_TONE = 0x11; |
michael@0 | 190 | const unsigned short STK_TONE_TYPE_NEGATIVE_ACK_TONE = 0x12; |
michael@0 | 191 | |
michael@0 | 192 | /** |
michael@0 | 193 | * Time unit. |
michael@0 | 194 | */ |
michael@0 | 195 | const unsigned short STK_TIME_UNIT_MINUTE = 0x00; |
michael@0 | 196 | const unsigned short STK_TIME_UNIT_SECOND = 0x01; |
michael@0 | 197 | const unsigned short STK_TIME_UNIT_TENTH_SECOND = 0x02; |
michael@0 | 198 | |
michael@0 | 199 | /** |
michael@0 | 200 | * Local Information list. |
michael@0 | 201 | * |
michael@0 | 202 | * @see TS 102.223, clause 8.6 |
michael@0 | 203 | */ |
michael@0 | 204 | const unsigned short STK_LOCAL_INFO_LOCATION_INFO = 0x00; |
michael@0 | 205 | const unsigned short STK_LOCAL_INFO_IMEI = 0x01; |
michael@0 | 206 | const unsigned short STK_LOCAL_INFO_DATE_TIME_ZONE = 0x03; |
michael@0 | 207 | const unsigned short STK_LOCAL_INFO_LANGUAGE = 0x04; |
michael@0 | 208 | |
michael@0 | 209 | /** |
michael@0 | 210 | * Timer management. |
michael@0 | 211 | */ |
michael@0 | 212 | const unsigned short STK_TIMER_START = 0x00; |
michael@0 | 213 | const unsigned short STK_TIMER_DEACTIVATE = 0x01; |
michael@0 | 214 | const unsigned short STK_TIMER_GET_CURRENT_VALUE = 0x02; |
michael@0 | 215 | |
michael@0 | 216 | /** |
michael@0 | 217 | * Browser termination cause. |
michael@0 | 218 | */ |
michael@0 | 219 | const unsigned short STK_BROWSER_TERMINATION_CAUSE_USER = 0x00; |
michael@0 | 220 | const unsigned short STK_BROWSER_TERMINATION_CAUSE_ERROR = 0x01; |
michael@0 | 221 | |
michael@0 | 222 | /** |
michael@0 | 223 | * Next Action Indicator. |
michael@0 | 224 | */ |
michael@0 | 225 | const unsigned short STK_NEXT_ACTION_NULL = 0x00; |
michael@0 | 226 | const unsigned short STK_NEXT_ACTION_END_PROACTIVE_SESSION = 0x81; |
michael@0 | 227 | |
michael@0 | 228 | /** |
michael@0 | 229 | * Array of iccIds that are currently detected. |
michael@0 | 230 | */ |
michael@0 | 231 | [Cached, Pure] |
michael@0 | 232 | readonly attribute sequence<DOMString> iccIds; |
michael@0 | 233 | |
michael@0 | 234 | /** |
michael@0 | 235 | * Get ICC object by iccId. |
michael@0 | 236 | * |
michael@0 | 237 | * @param iccId |
michael@0 | 238 | * The identifier of the ICC. |
michael@0 | 239 | * |
michael@0 | 240 | * @return see MozIcc.webidl for the detail. |
michael@0 | 241 | */ |
michael@0 | 242 | nsISupports getIccById(DOMString iccId); |
michael@0 | 243 | |
michael@0 | 244 | /** |
michael@0 | 245 | * 'oniccdetected' event is notified whenever a new ICC is detected. |
michael@0 | 246 | */ |
michael@0 | 247 | attribute EventHandler oniccdetected; |
michael@0 | 248 | |
michael@0 | 249 | /** |
michael@0 | 250 | * 'oniccundetected' event is notified whenever an ICC becomes undetected. |
michael@0 | 251 | */ |
michael@0 | 252 | attribute EventHandler oniccundetected; |
michael@0 | 253 | }; |