1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/webidl/MozStkCommandEvent.webidl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,658 @@ 1.4 +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this file, 1.7 + * You can obtain one at http://mozilla.org/MPL/2.0/. 1.8 + */ 1.9 + 1.10 +[Pref="dom.icc.enabled", 1.11 + Constructor(DOMString type, optional MozStkCommandEventInit eventInitDict)] 1.12 +interface MozStkCommandEvent : Event 1.13 +{ 1.14 + readonly attribute any command; 1.15 +}; 1.16 + 1.17 +dictionary MozStkCommandEventInit : EventInit 1.18 +{ 1.19 + any command = null; 1.20 +}; 1.21 + 1.22 +dictionary MozStkTextMessage 1.23 +{ 1.24 + /** 1.25 + * Text String. 1.26 + * 1.27 + * @see TS 11.14, clause 12.15, Text String. 1.28 + */ 1.29 + DOMString text; 1.30 + 1.31 + /** 1.32 + * The length of time for which the ME shall display the dialog. 1.33 + */ 1.34 + MozStkDuration duration; 1.35 + 1.36 + /** 1.37 + * Indicate this text message is high priority or normal priority. 1.38 + * 1.39 + * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 1. 1.40 + * 1.41 + * High priority text shall be displayed on the screen immediately, except if 1.42 + * there is a conflict of priority level of alerting such as incoming calls 1.43 + * or a low battery warning. In that situation, the resolution is left to 1.44 + * the terminal. If the command is rejected in spite of the high priority, 1.45 + * the terminal shall inform the ICC with resultCode is 1.46 + * TERMINAL_CRNTLY_UNABLE_TO_PROCESS in MozStkResponse. 1.47 + * 1.48 + * true: high priority 1.49 + * false: normal priority 1.50 + */ 1.51 + boolean isHighPriority; 1.52 + 1.53 + /** 1.54 + * Need to wait for user to clear message or not. 1.55 + * 1.56 + * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 8. 1.57 + * 1.58 + * If this attribute is true, but user doesn't give any input within a period 1.59 + * of time(said 30 secs), the terminal shall inform the ICC with resultCode 1.60 + * is NO_RESPONSE_FROM_USER in MozStkResponse. 1.61 + * 1.62 + * true: Wait for user to clear message. 1.63 + * false: clear message after a delay. 1.64 + */ 1.65 + boolean userClear; 1.66 + 1.67 + /** 1.68 + * Need to response immediately or not. 1.69 + * 1.70 + * @see TS 11.14, clause 12.43, Immediate response. 1.71 + * 1.72 + * When this attribute is true, the terminal shall immediately send 1.73 + * MozStkResponse with resultCode is OK. 1.74 + * 1.75 + * true: The terminal shall send response immediately. 1.76 + * false: otherwise. 1.77 + */ 1.78 + boolean responseNeeded; 1.79 +}; 1.80 + 1.81 +dictionary MozStkItem 1.82 +{ 1.83 + /** 1.84 + * Identifier of item. 1.85 + * 1.86 + * The identifier is a single byte between '01' and 'FF'. Each item shall 1.87 + * have a unique identifier within an Item list. 1.88 + */ 1.89 + unsigned short identifier; 1.90 + 1.91 + /** 1.92 + * Text string of item. 1.93 + */ 1.94 + DOMString text; 1.95 +}; 1.96 + 1.97 +dictionary MozStkMenu 1.98 +{ 1.99 + /** 1.100 + * Array of MozStkItem. 1.101 + * 1.102 + * @see TS 11.14, clause 12.9 1.103 + */ 1.104 + sequence<MozStkItem> items; 1.105 + 1.106 + /** 1.107 + * Presentation type, one of TYPE_*. 1.108 + */ 1.109 + unsigned short presentationType; 1.110 + 1.111 + /** 1.112 + * Title of the menu. 1.113 + */ 1.114 + DOMString title; 1.115 + 1.116 + /** 1.117 + * Default item identifier of the menu. 1.118 + */ 1.119 + unsigned short defaultItem; 1.120 + 1.121 + /** 1.122 + * Help information available or not. 1.123 + * 1.124 + * @see TS 11.14, clause 12.6, Command Qualifier, SET UP MENU, bit 8. 1.125 + * 1.126 + * true: help information available. 1.127 + * false: no help information available. 1.128 + */ 1.129 + boolean isHelpAvailable; 1.130 + 1.131 + /** 1.132 + * List of Next Action Indicators. 1.133 + * Each element should be one of nsIDOMMozIccManager.STK_CMD_* 1.134 + * or nsIDOMMozIccManager.STK_NEXT_ACTION_* 1.135 + * If it's STK_NEXT_ACTION_NULL, the terminal should ignore this action 1.136 + * in corresponding item. 1.137 + * 1.138 + * @see TS 11.14, clause 12.24, Items Next Action Indicator. 1.139 + */ 1.140 + sequence<unsigned short> nextActionList; 1.141 +}; 1.142 + 1.143 +dictionary MozStkInput 1.144 +{ 1.145 + /** 1.146 + * Text for the ME to display in conjunction with asking the user to respond. 1.147 + */ 1.148 + DOMString text; 1.149 + 1.150 + /** 1.151 + * The length of time for which the ME shall display the dialog. This field 1.152 + * is used only for GET INKEY. 1.153 + * 1.154 + * @see TS 11.14, clause 11.8, duration, GET INKEY T.C 27.22.4.2.8.4.2 1.155 + */ 1.156 + MozStkDuration duration; 1.157 + 1.158 + /** 1.159 + * Minimum length of response. 1.160 + */ 1.161 + unsigned short minLength; 1.162 + 1.163 + /** 1.164 + * Maximum length of response. 1.165 + */ 1.166 + unsigned short maxLength; 1.167 + 1.168 + /** 1.169 + * Text for the ME to display, corresponds to a default text string offered 1.170 + * by the ICC. 1.171 + */ 1.172 + DOMString defaultText; 1.173 + 1.174 + /** 1.175 + * Input format. 1.176 + * 1.177 + * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 1. 1.178 + * 1.179 + * true: Alphabet set. 1.180 + * false: Digits only. 1.181 + */ 1.182 + boolean isAlphabet; 1.183 + 1.184 + /** 1.185 + * Alphabet encoding. 1.186 + * 1.187 + * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 2. 1.188 + * 1.189 + * true: UCS2 alphabet. 1.190 + * false: default SMS alphabet. 1.191 + */ 1.192 + boolean isUCS2; 1.193 + 1.194 + /** 1.195 + * Visibility of input. 1.196 + * 1.197 + * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 3. 1.198 + * 1.199 + * true: User input shall not be revealed in any way. 1.200 + * false: ME may echo user input on the display. 1.201 + */ 1.202 + boolean hideInput; 1.203 + 1.204 + /** 1.205 + * Yes/No response is requested. 1.206 + * 1.207 + * @see TS 11.14, clause 12.6, Command Qualifier, GET INKEY, bit 3. 1.208 + * 1.209 + * true: Yes/No response is requested, and character sets 1.210 + * (Alphabet set and UCS2) are disabled. 1.211 + * false: Character sets (Alphabet set and UCS2) are enabled. 1.212 + */ 1.213 + boolean isYesNoRequested; 1.214 + 1.215 + /** 1.216 + * User input in packed or unpacked format. 1.217 + * 1.218 + * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 4. 1.219 + * 1.220 + * true: User input to be in SMS packed format. 1.221 + * false: User input to be in unpacked format. 1.222 + */ 1.223 + boolean isPacked; 1.224 + 1.225 + /** 1.226 + * Help information available or not. 1.227 + * 1.228 + * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT/GET INKEY, bit 8. 1.229 + * 1.230 + * true: help information available. 1.231 + * false: no help information available. 1.232 + */ 1.233 + boolean isHelpAvailable; 1.234 +}; 1.235 + 1.236 +dictionary MozStkBrowserSetting 1.237 +{ 1.238 + /** 1.239 + * Confirm message to launch browser. 1.240 + */ 1.241 + MozStkTextMessage confirmMessage; 1.242 + 1.243 + /** 1.244 + * The URL to be opened by browser. 1.245 + */ 1.246 + DOMString url; 1.247 + 1.248 + /** 1.249 + * One of STK_BROWSER_MODE_*. 1.250 + * 1.251 + * @see nsIDOMMozIccManager.STK_BROWSER_MODE_* 1.252 + */ 1.253 + unsigned short mode; 1.254 +}; 1.255 + 1.256 +dictionary MozStkSetUpCall 1.257 +{ 1.258 + /** 1.259 + * The Dialling number. 1.260 + */ 1.261 + DOMString address; 1.262 + 1.263 + /** 1.264 + * The text message used in user confirmation phase. 1.265 + */ 1.266 + MozStkTextMessage confirmMessage; 1.267 + 1.268 + /** 1.269 + * The text message used in call set up phase. 1.270 + */ 1.271 + MozStkTextMessage callMessage; 1.272 + 1.273 + /** 1.274 + * The Optional maximum duration for the redial mechanism. 1.275 + * The time elapsed since the first call set-up attempt has exceeded the duration 1.276 + * requested by the UICC, the redial mechanism is terminated. 1.277 + */ 1.278 + MozStkDuration duration; 1.279 +}; 1.280 + 1.281 +dictionary MozStkSetUpEventList 1.282 +{ 1.283 + /** 1.284 + * The list of events that needs to provide details to ICC when they happen. 1.285 + * When this valus is null, means an indication to remove the existing list 1.286 + * of events in ME. 1.287 + * 1.288 + * @see nsIDOMMozIccManager.STK_EVENT_TYPE_* 1.289 + */ 1.290 + sequence<unsigned short> eventList; 1.291 +}; 1.292 + 1.293 +dictionary MozStkLocationInfo 1.294 +{ 1.295 + /** 1.296 + * Mobile Country Code (MCC) of the current serving operator. 1.297 + */ 1.298 + unsigned short mcc; 1.299 + 1.300 + /** 1.301 + * Mobile Network Code (MNC) of the current serving operator. 1.302 + */ 1.303 + unsigned short mnc; 1.304 + 1.305 + /** 1.306 + * Mobile Location Area Code (LAC) for the current serving operator. 1.307 + */ 1.308 + unsigned short gsmLocationAreaCode; 1.309 + 1.310 + /** 1.311 + * Mobile Cell ID for the current serving operator. 1.312 + */ 1.313 + unsigned long gsmCellId; 1.314 +}; 1.315 + 1.316 +dictionary MozStkDuration 1.317 +{ 1.318 + /** 1.319 + * Time unit used, should be one of STK_TIME_UNIT_*. 1.320 + */ 1.321 + unsigned short timeUnit; 1.322 + 1.323 + /** 1.324 + * The length of time required, expressed in timeUnit. 1.325 + */ 1.326 + octet timeInterval; 1.327 +}; 1.328 + 1.329 +dictionary MozStkPlayTone 1.330 +{ 1.331 + /** 1.332 + * Text String. 1.333 + */ 1.334 + DOMString text; 1.335 + 1.336 + /** 1.337 + * One of STK_TONE_TYPE_*. 1.338 + */ 1.339 + unsigned short tone; 1.340 + 1.341 + /** 1.342 + * The length of time for which the ME shall generate the tone. 1.343 + */ 1.344 + MozStkDuration duration; 1.345 + 1.346 + /** 1.347 + * Need to vibrate or not. 1.348 + * true: vibrate alert, if available, with the tone. 1.349 + * false: use of vibrate alert is up to the ME. 1.350 + */ 1.351 + boolean isVibrate; 1.352 +}; 1.353 + 1.354 +dictionary MozStkProvideLocalInfo 1.355 +{ 1.356 + /** 1.357 + * Indicate which local information is required. 1.358 + * It shall be one of following: 1.359 + * - nsIDOMMozIccManager.STK_LOCAL_INFO_LOCATION_INFO 1.360 + * - nsIDOMMozIccManager.STK_LOCAL_INFO_IMEI 1.361 + * - nsIDOMMozIccManager.STK_LOCAL_INFO_DATE_TIME_ZONE 1.362 + * - nsIDOMMozIccManager.STK_LOCAL_INFO_LANGUAGE 1.363 + */ 1.364 + unsigned short localInfoType; 1.365 +}; 1.366 + 1.367 +dictionary MozStkLocationEvent 1.368 +{ 1.369 + /** 1.370 + * The type of this event. 1.371 + * It shall be nsIDOMMozIccManager.STK_EVENT_TYPE_LOCATION_STATUS; 1.372 + */ 1.373 + unsigned short eventType; 1.374 + 1.375 + /** 1.376 + * Indicate current service state of the MS with one of the values listed 1.377 + * below: 1.378 + * - nsIDOMMozIccManager.STK_SERVICE_STATE_NORMAL 1.379 + * - nsIDOMMozIccManager.STK_SERVICE_STATE_LIMITED 1.380 + * - nsIDOMMozIccManager.STK_SERVICE_STATE_UNAVAILABLE 1.381 + */ 1.382 + unsigned short locationStatus; 1.383 + 1.384 + /** 1.385 + * See MozStkLocationInfo. 1.386 + * This value shall only be provided if the locationStatus indicates 1.387 + * 'STK_SERVICE_STATE_NORMAL'. 1.388 + */ 1.389 + MozStkLocationInfo locationInfo; 1.390 +}; 1.391 + 1.392 +dictionary MozStkTimer 1.393 +{ 1.394 + /** 1.395 + * Identifier of a timer. 1.396 + */ 1.397 + octet timerId; 1.398 + 1.399 + /** 1.400 + * Length of time during which the timer has to run. 1.401 + * The resolution of a timer is 1 second. 1.402 + */ 1.403 + unsigned long timerValue; 1.404 + 1.405 + /** 1.406 + * The action requested from UICC. 1.407 + * It shall be one of below: 1.408 + * - nsIDOMMozIccManager.STK_TIMER_START 1.409 + * - nsIDOMMozIccManager.STK_TIMER_DEACTIVATE 1.410 + * - nsIDOMMozIccManager.STK_TIMER_GET_CURRENT_VALUE 1.411 + */ 1.412 + unsigned short timerAction; 1.413 +}; 1.414 + 1.415 +dictionary MozStkBipMessage 1.416 +{ 1.417 + /** 1.418 + * Text String 1.419 + */ 1.420 + DOMString text; 1.421 +}; 1.422 + 1.423 +dictionary MozStkCommand 1.424 +{ 1.425 + /** 1.426 + * The number of command issued by ICC. And it is assigned 1.427 + * by ICC may take any hexadecimal value betweean '01' and 'FE'. 1.428 + * 1.429 + * @see TS 11.14, clause 6.5.1 1.430 + */ 1.431 + unsigned short commandNumber; 1.432 + 1.433 + /** 1.434 + * One of STK_CMD_* 1.435 + */ 1.436 + unsigned short typeOfCommand; 1.437 + 1.438 + /** 1.439 + * Qualifiers specific to the command. 1.440 + */ 1.441 + unsigned short commandQualifier; 1.442 + 1.443 + /** 1.444 + * options varies accrording to the typeOfCommand in MozStkCommand. 1.445 + * 1.446 + * When typeOfCommand is 1.447 + * - STK_CMD_DISPLAY_TEXT 1.448 + * - STK_CMD_SET_UP_IDLE_MODE_TEXT 1.449 + * - STK_CMD_SEND_{SS|USSD|SMS|DTMF}, 1.450 + * options is MozStkTextMessage. 1.451 + * 1.452 + * When typeOfCommand is 1.453 + * - STK_CMD_SELECT_ITEM 1.454 + * - STK_CMD_SET_UP_MENU 1.455 + * options is MozStkMenu. 1.456 + * 1.457 + * When typeOfCommand is 1.458 + * - STK_CMD_GET_INKEY 1.459 + * - STK_CMD_GET_INPUT, 1.460 + * options is MozStkInput. 1.461 + * 1.462 + * When typeOfCommand is 1.463 + * - STK_CMD_LAUNCH_BROWSER 1.464 + * options is MozStkBrowserSetting. 1.465 + * 1.466 + * When typeOfCommand is 1.467 + * - STK_CMD_SET_UP_CALL 1.468 + * options is MozStkSetUpCall. 1.469 + * 1.470 + * When typeOfCommand is 1.471 + * - STK_CMD_SET_UP_EVENT_LIST 1.472 + * options is MozStkSetUpEventList. 1.473 + * 1.474 + * When typeOfCommand is 1.475 + * - STK_CMD_PLAY_TONE 1.476 + * options is MozStkPlayTone. 1.477 + * 1.478 + * When typeOfCommand is 1.479 + * - STK_CMD_POLL_INTERVAL 1.480 + * options is MozStkDuration. 1.481 + * 1.482 + * When typeOfCommand is 1.483 + * - STK_CMD_PROVIDE_LOCAL_INFO 1.484 + * options is MozStkProvideLocalInfo. 1.485 + * 1.486 + * When typeOfCommand is 1.487 + * - STK_CMD_TIMER_MANAGEMENT 1.488 + * option is MozStkTimer 1.489 + * 1.490 + * When typeOfCommand is 1.491 + * - STK_CMD_OPEN_CHANNEL 1.492 + * - STK_CMD_CLOSE_CHANNEL 1.493 + * - STK_CMD_SEND_DATA 1.494 + * - STK_CMD_RECEIVE_DATA 1.495 + * options is MozStkBipMessage 1.496 + * 1.497 + * When typeOfCommand is 1.498 + * - STK_CMD_POLL_OFF 1.499 + * options is null. 1.500 + * 1.501 + * When typeOfCommand is 1.502 + * - STK_CMD_REFRESH 1.503 + * options is null. 1.504 + */ 1.505 + any options; 1.506 +}; 1.507 + 1.508 +dictionary MozStkResponse 1.509 +{ 1.510 + /** 1.511 + * One of RESULT_* 1.512 + */ 1.513 + unsigned short resultCode; 1.514 + 1.515 + /** 1.516 + * The identifier of the item selected by user. 1.517 + * 1.518 + * @see MozStkItem.identifier 1.519 + */ 1.520 + unsigned short itemIdentifier; 1.521 + 1.522 + /** 1.523 + * User input. 1.524 + */ 1.525 + DOMString input; 1.526 + 1.527 + /** 1.528 + * YES/NO response. 1.529 + * 1.530 + * @see MozStkInput.isYesNoRequested 1.531 + */ 1.532 + boolean isYesNo; 1.533 + 1.534 + /** 1.535 + * User has confirmed or rejected the call during STK_CMD_CALL_SET_UP. 1.536 + * 1.537 + * @see RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM 1.538 + * 1.539 + * true: Confirmed by User. 1.540 + * false: Rejected by User. 1.541 + */ 1.542 + boolean hasConfirmed; 1.543 + 1.544 + /** 1.545 + * The response for STK_CMD_PROVIDE_LOCAL_INFO 1.546 + */ 1.547 + MozStkLocalInfo localInfo; 1.548 + 1.549 + /** 1.550 + * The response for STK_CMD_TIMER_MANAGEMENT. 1.551 + * The 'timerValue' is needed if the action of STK_CMD_TIMER_MANAGEMENT is 1.552 + * 'STK_TIMER_DEACTIVATE' or 'STK_TIMER_GET_CURRENT_VALUE'. It shall state 1.553 + * the current value of a timer. And the resolution is 1 second. 1.554 + */ 1.555 + MozStkTimer timer; 1.556 +}; 1.557 + 1.558 +dictionary MozStkCallEvent 1.559 +{ 1.560 + /** 1.561 + * The type of this event. 1.562 + * It shall be one of following: 1.563 + * - nsIDOMMozIccManager.STK_EVENT_TYPE_MT_CALL, 1.564 + * - nsIDOMMozIccManager.STK_EVENT_TYPE_CALL_CONNECTED, 1.565 + * - nsIDOMMozIccManager.STK_EVENT_TYPE_CALL_DISCONNECTED. 1.566 + */ 1.567 + unsigned short eventType; 1.568 + 1.569 + /** 1.570 + * Remote party number. 1.571 + */ 1.572 + DOMString number; 1.573 + 1.574 + /** 1.575 + * This field is available in 'STK_EVENT_TYPE_CALL_CONNECTED' and 1.576 + * 'STK_EVENT_TYPE_CALL_DISCONNECTED' events. 1.577 + * For the STK_EVENT_TYPE_CALL_CONNECTED event, setting this to true means the 1.578 + * connection is answered by remote end, that is, this is an outgoing call. 1.579 + * For the STK_EVENT_TYPE_CALL_DISCONNECTED event, setting this to true 1.580 + * indicates the connection is hung up by remote. 1.581 + */ 1.582 + boolean isIssuedByRemote; 1.583 + 1.584 + /** 1.585 + * This field is available in Call Disconnected event to indicate the cause 1.586 + * of disconnection. The cause string is passed to gaia through the error 1.587 + * listener of nsIDOMCallEvent. Null if there's no error. 1.588 + */ 1.589 + DOMString error; 1.590 +}; 1.591 + 1.592 +dictionary MozStkLocalInfo 1.593 +{ 1.594 + /** 1.595 + * IMEI information 1.596 + */ 1.597 + DOMString imei; 1.598 + 1.599 + /** 1.600 + * Location Information 1.601 + */ 1.602 + MozStkLocationInfo locationInfo; 1.603 + 1.604 + /** 1.605 + * Date information 1.606 + */ 1.607 + Date date; 1.608 + 1.609 + /** 1.610 + * Language Information 1.611 + * 1.612 + * @see ISO 639-1, Alpha-2 code 1.613 + */ 1.614 + DOMString language; 1.615 +}; 1.616 + 1.617 +dictionary MozStkLanguageSelectionEvent 1.618 +{ 1.619 + /** 1.620 + * The type of this event. 1.621 + * It shall be nsIDOMMozIccManager.STK_EVENT_TYPE_LANGUAGE_SELECTION. 1.622 + */ 1.623 + unsigned short eventType; 1.624 + 1.625 + /** 1.626 + * Language Information 1.627 + * 1.628 + * @see ISO 639-1, Alpha-2 code 1.629 + * "de" for German, "en" for English, "zh" for Chinese, etc. 1.630 + */ 1.631 + DOMString language; 1.632 +}; 1.633 + 1.634 +dictionary MozStkBrowserTerminationEvent 1.635 +{ 1.636 + /** 1.637 + * The type of this event. 1.638 + * It shall be nsIDOMMozIccManager.STK_EVENT_TYPE_BROWSER_TERMINATION 1.639 + */ 1.640 + unsigned short eventType; 1.641 + 1.642 + /** 1.643 + * This object shall contain the browser termination cause. 1.644 + * See TZ 102 223 8.51. It shall be one of following: 1.645 + * - nsIDOMMozIccManager.STK_BROWSER_TERMINATION_CAUSE_USER 1.646 + * - nsIDOMMozIccManager.STK_BROWSER_TERMINATION_CAUSE_ERROR 1.647 + */ 1.648 + unsigned short terminationCause; 1.649 +}; 1.650 + 1.651 +dictionary MozStkGeneralEvent 1.652 +{ 1.653 + /** 1.654 + * The type of this event, MozStkGeneralEvent can be used for all Stk Event 1.655 + * requires no more parameter than event type, including 1.656 + * nsIDOMMozIccManager.STK_EVENT_TYPE_USER_ACTIVITY. 1.657 + * nsIDOMMozIccManager.STK_EVENT_TYPE_IDLE_SCREEN_AVAILABLE. 1.658 + * HCI Connectivity Event(Not defined in interface yet). 1.659 + */ 1.660 + unsigned short eventType; 1.661 +};