WebAPI/WebSTK: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 4: Line 4:
= Interface =
= Interface =


[scriptable, uuid(3ae51cd2-b418-4101-8e4a-e40a819d8480)]
interface nsIDOMMozStkConstants : nsISupports
{
  /**
  * STK Proactive commands.
  *
  * @see TS 11.14, clause 13.4
  */
  const unsigned short STK_CMD_REFRESH              = 0x01;
  const unsigned short STK_CMD_SET_UP_CALL          = 0x10;
  const unsigned short STK_CMD_SEND_SS              = 0x11;
  const unsigned short STK_CMD_SEND_USSD            = 0x12;
  const unsigned short STK_CMD_SEND_SMS              = 0x13;
  const unsigned short STK_CMD_SEND_DTMF            = 0x14;
  const unsigned short STK_CMD_LAUNCH_BROWSER        = 0x15;
  const unsigned short STK_CMD_PLAY_TONE            = 0x20;
  const unsigned short STK_CMD_DISPLAY_TEXT          = 0x21;
  const unsigned short STK_CMD_GET_INKEY            = 0x22;
  const unsigned short STK_CMD_GET_INPUT            = 0x23;
  const unsigned short STK_CMD_SELECT_ITEM          = 0x24;
  const unsigned short STK_CMD_SET_UP_MENU          = 0x25;
  const unsigned short STK_CMD_SET_UP_IDLE_MODE_TEXT = 0x28;
  /**
  * STK Result code.
  *
  * @see TS 11.14, clause 12.12
  */
  const unsigned short STK_RESULT_OK = 0x00;
  const unsigned short STK_RESULT_PRFRMD_WITH_PARTIAL_COMPREHENSION = 0x01;
  const unsigned short STK_RESULT_PRFRMD_WITH_MISSING_INFO = 0x02;
  const unsigned short STK_RESULT_PRFRMD_WITH_ADDITIONAL_EFS_READ = 0x03;
  const unsigned short STK_RESULT_PRFRMD_ICON_NOT_DISPLAYED = 0x04;
  const unsigned short STK_RESULT_PRFRMD_MODIFIED_BY_NAA = 0x05;
  const unsigned short STK_RESULT_PRFRMD_LIMITED_SERVICE = 0x06;
  const unsigned short STK_RESULT_PRFRMD_WITH_MODIFICATION = 0x07;
  const unsigned short STK_RESULT_PRFRMD_NAA_NOT_ACTIVE = 0x08;
  const unsigned short STK_RESULT_PRFRMD_TONE_NOT_PLAYED = 0x09;
  const unsigned short STK_RESULT_UICC_SESSION_TERM_BY_USER = 0x10;
  const unsigned short STK_RESULT_BACKWARD_MOVE_BY_USER = 0x11;
  const unsigned short STK_RESULT_NO_RESPONSE_FROM_USER = 0x12;
  const unsigned short STK_RESULT_HELP_INFO_REQUIRED = 0x13;
  const unsigned short STK_RESULT_USSD_SS_SESSION_TERM_BY_USER = 0x14;
  const unsigned short STK_RESULT_TERMINAL_CRNTLY_UNABLE_TO_PROCESS = 0x20;
  const unsigned short STK_RESULT_NETWORK_CRNTLY_UNABLE_TO_PROCESS = 0x21;
  const unsigned short STK_RESULT_USER_NOT_ACCEPT = 0x22;
  const unsigned short STK_RESULT_USER_CLEAR_DOWN_CALL = 0x23;
  const unsigned short STK_RESULT_CONTRADICTION_WITH_TIMER = 0x24;
  const unsigned short STK_RESULT_NAA_CALL_CONTROL_TEMPORARY = 0x25;
  const unsigned short STK_RESULT_LAUNCH_BROWSER_ERROR = 0x26;
  const unsigned short STK_RESULT_MMS_TEMPORARY = 0x27;
  const unsigned short STK_RESULT_BEYOND_TERMINAL_CAPABILITY = 0x30;
  const unsigned short STK_RESULT_CMD_TYPE_NOT_UNDERSTOOD = 0x31;
  const unsigned short STK_RESULT_CMD_DATA_NOT_UNDERSTOOD = 0x32;
  const unsigned short STK_RESULT_CMD_NUM_NOT_KNOWN = 0x33;
  const unsigned short STK_RESULT_SS_RETURN_ERROR = 0x34;
  const unsigned short STK_RESULT_SMS_RP_ERROR = 0x35;
  const unsigned short STK_RESULT_REQUIRED_VALUES_MISSING = 0x36;
  const unsigned short STK_RESULT_USSD_RETURN_ERROR = 0x37;
  const unsigned short STK_RESULT_MULTI_CARDS_CMD_ERROR = 0x38;
  const unsigned short STK_RESULT_USIM_CALL_CONTROL_PERMANENT = 0x39;
  const unsigned short STK_RESULT_BIP_ERROR = 0x3a;
  const unsigned short STK_RESULT_ACCESS_TECH_UNABLE_TO_PROCESS = 0x3b;
  const unsigned short STK_RESULT_FRAMES_ERROR = 0x3c;
  const unsigned short STK_RESULT_MMS_ERROR = 0x3d;
  /**
  * STK Menu Presentation types.
  */
  const unsigned short STK_MENU_PRESENTATION_TYPE_NOT_SPECIFIED = 0x00;
  const unsigned short STK_MENU_PRESENTATION_TYPE_DATA_VALUES = 0x01;
  const unsigned short STK_MENU_PRESENTATION_TYPE_NAVIGATION_OPTIONS = 0x03;
};
[scriptable, uuid(871817a6-3ecb-4c3c-83b6-9352c91f4c60)]
interface nsIDOMMozStkTextMessage : nsISupports
{
  /**
  * Text String.
  *
  * @see TS 11.14, clause 12.15, Text String.
  */
  readonly attribute DOMString text;
  /**
  * Indicate this text message is high priority or normal priority.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 1.
  * true: high priority
  * false: normal priority
  */
  readonly attribute boolean isHighPriority;
  /**
  * Need to wait for user to clear message or not.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 8.
  *
  * true: Wait for user to clear message.
  * false: clear message after a delay.
  */
  readonly attribute boolean userClear;
  /**
  * Need to response immediately or not.
  *
  * @see TS 11.14, clause 12.43, Immediate response.
  */
  readonly attribute boolean responseNeeded;
  //TODO: duration
  //TODO: title
  //TODO: icon
};
[scriptable, uuid(50a1d6c5-b32d-4218-925c-f3ef36b71014)]
interface nsIDOMMozStkItem : nsISupports
{
  /**
  * Identifier of item.
  *
  * The identifier is a single byte between '01' and 'FF'. Each item shall
  * have a unique identifier within an Item list.
  */
  readonly attribute unsigned short identifier;
 
  /**
  * Text string of item.
  */
  readonly attribute DOMString text;
  //TODO: icon
};
[scriptable, uuid(fbd40674-955a-41b2-9d01-e9e24b0a4441)]
interface nsIDOMMozStkMenu : nsISupports
{
  /**
  * Array of nsIDOMMozStkItem.
  *
  * @see TS 11.14, clause 12.9
  */
  readonly attribute jsval items; // nsIDOMMozStkItem[]
  /**
  * Presentation type, one of STK_MENU_PRESENTATION_TYPE_*.
  */
  readonly attribute unsigned short presentationType;
 
  /**
  * Title of the menu.
  */
  readonly attribute DOMString title;
  /**
  * Default item identifier of the menu.
  */
  readonly attribute unsigned short defaultItem;
  /**
  * Selection preference.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, SET UP MENU, bit 1.
  *
  * true: selection using soft key preferred.
  * false: no selection preference.
  */
  readonly attribute boolean isSoftKeyPreferred;
  /**
  * Help information available or not.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, SET UP MENU, bit 8.
  *
  * true: help information available.
  * false: no help information available.
  */
  readonly attribute boolean isHelpAvailable;
  // TODO
  // title icon
  // items icon
};
/**
* RESPONSE LENGTH data object.
* TS 11.14, clause 12.11
*/
[scriptable, uuid(8f427ede-cd29-4d96-96b8-04d144bb6b57)]
interface nsIDOMMozStkResponseLength : nsISupports
{
  /**
  * Minimum length of response.
  */
  readonly attribute unsigned short minLength;
  /**
  * Maximum length of response.
  */ 
  readonly attribute unsigned short maxLength;
};
[scriptable, uuid(95e8f715-9eae-491b-9d38-0eb2417ddf98)]
interface nsIDOMMozStkInput : nsISupports
{
  /**
  * Text for the ME to display in conjunction with asking the user to respond.
  */
  readonly attribute DOMString text;
  /**
  * The minimum and maximum acceptable lengths in characters for the response
  * from the user.
  */
  readonly attribute nsIDOMMozStkResponseLength responseLength;
  /**
  * Text for the ME to display, corresponds to a default text string offered
  * by the SIM.
  */
  readonly attribute DOMString defaultText;
  /**
  * Input format.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 1.
  *
  * true: Alphabet set.
  * false: Digits only.
  */
  readonly attribute boolean isAlphabet;
  /**
  * Alphabet encoding.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 2.
  *
  * true: UCS2 alphabet.
  * false: default SMS alphabet.
  */
  readonly attribute boolean isUCS2;
 
  /**
  * Visibility of input.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 3.
  *
  * true: User input shall not be revealed in any way.
  * false: ME may echo user input on the display.
  */
  readonly attribute boolean hideInput;
 
  /**
  * Yes/No response is requested.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INKEY, bit 3.
  *
  * true: Yes/No response is requested.
  * false: Character sets (Alphabet set and UCS2) are enabled.
  */
  readonly attribute boolean yesNo;
  /**
  * Packed or unpacked.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 4.
  *
  * true: User input to be in SMS packed format.
  * false: User input to be in unpacked format.
  */
  readonly attribute boolean isPacked;
  //TODO icon
};
[scriptable, uuid(11efe4fb-38f9-4d31-8e10-827145764153)]
interface nsIDOMMozStkCmdParameter : nsISupports
{
  //TODO icon
};
/**
* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is
* STK_CMD_DISPLAY_TEXT, STK_CMD_SET_UP_IDLE_MODE_TEXT, STK_CMD_REFRESH and
* STK_CMD_SEND_*.
*/
[scriptable, uuid(56ff7fa7-5899-4c5a-a55f-e96ee5980389)]
interface nsIDOMMozStkCmdDisplayTextParam : nsIDOMMozStkCmdParameter
{
  readonly attribute nsIDOMMozStkTextMessage textMessage;
};
/**
* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is
* STK_CMD_SELECT_ITEM or STK_CMD_SET_UP_MENU.
*/
[scriptable, uuid(266aa601-3b0f-4143-b544-b5bb7a8f1b69)]
interface nsIDOMMozStkCmdSelectItemParam : nsIDOMMozStkCmdParameter
{
  readonly attribute nsIDOMMozStkMenu menu;
  readonly attribute boolean loadTitleIcon;
};
/**
* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is
* STK_CMD_GET_INKEY or STK_CMD_GET_INPUT.
*/
[scriptable, uuid(a484e23f-5783-4827-ab4a-28c76cd83c41)]
interface nsIDOMMozStkCmdGetInputParam : nsIDOMMozStkCmdParameter
{
  readonly attribute nsIDOMMozStkInput input;
};
/**
* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is
* STK_CMD_LAUNCH_BROWSER.
*/
/* TODO
[scriptable, uuid()]
interface nsIDOMMozStkCmdLaunchBrowserParam : nsIDOMMozStkCmdParameter
{
};
*/
/**
* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is
* STK_CMD_SET_UP_CALL.
*/
/* TODO
[scriptable, uuid()]
interface nsIDOMMozStkCmdSetupCallParam : nsIDOMMozStkCmdParameter
{
};
*/
/**
* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is
* STK_CMD_PLAY_TONE.
*/
/*
[scriptable, uuid()]
interface nsIDOMMozStkCmdPlayToneParam : nsIDOMMozStkCmdParameter
{
};
*/
[scriptable, uuid(5b5b4871-1ec6-4f9d-8f78-a34b528ee03d)]
interface nsIDOMMozStkCmdDetails : nsIDOMMozStkConstants
{
  /**
  * Command number is the number of command issued by ICC. And it is assigned
  * by ICC may take any hexadecimal value betweean '01' and 'FE'.
  *
  * @see TS 11.14, clause 6.5.1
  */
  readonly attribute unsigned short commandNumber;
  /**
  * One of STK_CMD_*.
  */ 
  readonly attribute unsigned short typeOfCommand;
  /**
  * Qualifiers specific to the command.
  */
  readonly attribute unsigned short commandQualifier;
};
[scriptable, uuid(703f1757-91ed-43a4-8ae5-418ad53b7f4e)]
interface nsIDOMMozStkCommand : nsIDOMMozStkConstants
{
  /**
  * The detail information of the proactive command issued by ICC.
  */
  readonly attribute nsIDOMMozStkCmdDetails cmdDetails;
  /**
  * One of nsIDOMMozStkCmd*Param.
  */
  readonly attribute nsIDOMMozStkCmdParameter param;
  //TODO: add deviceId for multi-SIM
};
[scriptable, builtinclass, uuid(06bbc6fa-9b59-4db6-b66b-3b26f9c379df)]
interface nsIDOMMozStkCommandEvent : nsIDOMEvent
{
  readonly attribute nsIDOMMozStkCommand command;
};
[scriptable, uuid(8d89b0f2-8026-4568-b8c9-f52047dd38fb)]
interface nsIDOMMozStkResponse : nsIDOMMozStkConstants
{
  /**
  * The detail information of the proactive command issued by ICC.
  */
  readonly attribute nsIDOMMozStkCmdDetails cmdDetails;
 
  /**
  * One of STK_RESULT_*.
  */
  attribute unsigned short resultCode;
  /**
  * The identifier of the menu item selected by user.
  */
  attribute unsigned short  menuSelection;
  /**
  * User input.
  */
  attribute DOMString input;
  /**
  * YES/NO response.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INKEY, bit 3.
  *
  * true: User selects 'Yes'.
  * false: User selects 'No'.
  */
  attribute boolean yesNo;
  /**
  * User has accepted or rejected the call during STK_CMD_CALL_SET_UP.
  *
  * @see RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM
  *
  * true: Confirmed by User.
  * false: Rejected by User.
  */
  attribute boolean confirmation;
  //TODO add deviceId for multi-SIM
};


= Examples =
= Examples =

Revision as of 09:46, 15 June 2012

Overview

To provide DOM API for the STK(SIM Toolkit), or CAT (Card Application Toolkit), which allows web contents can interact with SIM applications.

Interface

[scriptable, uuid(3ae51cd2-b418-4101-8e4a-e40a819d8480)] interface nsIDOMMozStkConstants : nsISupports {

 /**
  * STK Proactive commands.
  *
  * @see TS 11.14, clause 13.4
  */ 
 const unsigned short STK_CMD_REFRESH               = 0x01;
 const unsigned short STK_CMD_SET_UP_CALL           = 0x10;
 const unsigned short STK_CMD_SEND_SS               = 0x11;
 const unsigned short STK_CMD_SEND_USSD             = 0x12;
 const unsigned short STK_CMD_SEND_SMS              = 0x13;
 const unsigned short STK_CMD_SEND_DTMF             = 0x14;
 const unsigned short STK_CMD_LAUNCH_BROWSER        = 0x15;
 const unsigned short STK_CMD_PLAY_TONE             = 0x20;
 const unsigned short STK_CMD_DISPLAY_TEXT          = 0x21;
 const unsigned short STK_CMD_GET_INKEY             = 0x22;
 const unsigned short STK_CMD_GET_INPUT             = 0x23;
 const unsigned short STK_CMD_SELECT_ITEM           = 0x24;
 const unsigned short STK_CMD_SET_UP_MENU           = 0x25;
 const unsigned short STK_CMD_SET_UP_IDLE_MODE_TEXT = 0x28;
 /**
  * STK Result code.
  *
  * @see TS 11.14, clause 12.12
  */ 
 const unsigned short STK_RESULT_OK = 0x00;
 const unsigned short STK_RESULT_PRFRMD_WITH_PARTIAL_COMPREHENSION = 0x01;
 const unsigned short STK_RESULT_PRFRMD_WITH_MISSING_INFO = 0x02;
 const unsigned short STK_RESULT_PRFRMD_WITH_ADDITIONAL_EFS_READ = 0x03;
 const unsigned short STK_RESULT_PRFRMD_ICON_NOT_DISPLAYED = 0x04;
 const unsigned short STK_RESULT_PRFRMD_MODIFIED_BY_NAA = 0x05;
 const unsigned short STK_RESULT_PRFRMD_LIMITED_SERVICE = 0x06;
 const unsigned short STK_RESULT_PRFRMD_WITH_MODIFICATION = 0x07;
 const unsigned short STK_RESULT_PRFRMD_NAA_NOT_ACTIVE = 0x08;
 const unsigned short STK_RESULT_PRFRMD_TONE_NOT_PLAYED = 0x09;
 const unsigned short STK_RESULT_UICC_SESSION_TERM_BY_USER = 0x10;
 const unsigned short STK_RESULT_BACKWARD_MOVE_BY_USER = 0x11;
 const unsigned short STK_RESULT_NO_RESPONSE_FROM_USER = 0x12;
 const unsigned short STK_RESULT_HELP_INFO_REQUIRED = 0x13;
 const unsigned short STK_RESULT_USSD_SS_SESSION_TERM_BY_USER = 0x14;
 const unsigned short STK_RESULT_TERMINAL_CRNTLY_UNABLE_TO_PROCESS = 0x20;
 const unsigned short STK_RESULT_NETWORK_CRNTLY_UNABLE_TO_PROCESS = 0x21;
 const unsigned short STK_RESULT_USER_NOT_ACCEPT = 0x22;
 const unsigned short STK_RESULT_USER_CLEAR_DOWN_CALL = 0x23;
 const unsigned short STK_RESULT_CONTRADICTION_WITH_TIMER = 0x24;
 const unsigned short STK_RESULT_NAA_CALL_CONTROL_TEMPORARY = 0x25;
 const unsigned short STK_RESULT_LAUNCH_BROWSER_ERROR = 0x26;
 const unsigned short STK_RESULT_MMS_TEMPORARY = 0x27;
 const unsigned short STK_RESULT_BEYOND_TERMINAL_CAPABILITY = 0x30;
 const unsigned short STK_RESULT_CMD_TYPE_NOT_UNDERSTOOD = 0x31;
 const unsigned short STK_RESULT_CMD_DATA_NOT_UNDERSTOOD = 0x32;
 const unsigned short STK_RESULT_CMD_NUM_NOT_KNOWN = 0x33;
 const unsigned short STK_RESULT_SS_RETURN_ERROR = 0x34;
 const unsigned short STK_RESULT_SMS_RP_ERROR = 0x35;
 const unsigned short STK_RESULT_REQUIRED_VALUES_MISSING = 0x36;
 const unsigned short STK_RESULT_USSD_RETURN_ERROR = 0x37;
 const unsigned short STK_RESULT_MULTI_CARDS_CMD_ERROR = 0x38;
 const unsigned short STK_RESULT_USIM_CALL_CONTROL_PERMANENT = 0x39;
 const unsigned short STK_RESULT_BIP_ERROR = 0x3a;
 const unsigned short STK_RESULT_ACCESS_TECH_UNABLE_TO_PROCESS = 0x3b;
 const unsigned short STK_RESULT_FRAMES_ERROR = 0x3c;
 const unsigned short STK_RESULT_MMS_ERROR = 0x3d;
 /**
  * STK Menu Presentation types.
  */ 
 const unsigned short STK_MENU_PRESENTATION_TYPE_NOT_SPECIFIED = 0x00;
 const unsigned short STK_MENU_PRESENTATION_TYPE_DATA_VALUES = 0x01;
 const unsigned short STK_MENU_PRESENTATION_TYPE_NAVIGATION_OPTIONS = 0x03;

};

[scriptable, uuid(871817a6-3ecb-4c3c-83b6-9352c91f4c60)] interface nsIDOMMozStkTextMessage : nsISupports {

 /**
  * Text String.
  *
  * @see TS 11.14, clause 12.15, Text String.
  */ 
 readonly attribute DOMString text;
 /**
  * Indicate this text message is high priority or normal priority.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 1.
  * true: high priority
  * false: normal priority
  */ 
 readonly attribute boolean isHighPriority;
 /**
  * Need to wait for user to clear message or not.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, Display Text, bit 8.
  *
  * true: Wait for user to clear message.
  * false: clear message after a delay.
  */ 
 readonly attribute boolean userClear;
 /**
  * Need to response immediately or not.
  *
  * @see TS 11.14, clause 12.43, Immediate response.
  */
 readonly attribute boolean responseNeeded;
 //TODO: duration
 //TODO: title
 //TODO: icon

};

[scriptable, uuid(50a1d6c5-b32d-4218-925c-f3ef36b71014)] interface nsIDOMMozStkItem : nsISupports {

 /**
  * Identifier of item.
  *
  * The identifier is a single byte between '01' and 'FF'. Each item shall 
  * have a unique identifier within an Item list.
  */ 
 readonly attribute unsigned short identifier;
 
 /**
  * Text string of item.
  */ 
 readonly attribute DOMString text;
 //TODO: icon

};

[scriptable, uuid(fbd40674-955a-41b2-9d01-e9e24b0a4441)] interface nsIDOMMozStkMenu : nsISupports {

 /**
  * Array of nsIDOMMozStkItem.
  *
  * @see TS 11.14, clause 12.9
  */ 
 readonly attribute jsval items; // nsIDOMMozStkItem[]
 /**
  * Presentation type, one of STK_MENU_PRESENTATION_TYPE_*.
  */ 
 readonly attribute unsigned short presentationType;
 
 /**
  * Title of the menu.
  */ 
 readonly attribute DOMString title;
 /**
  * Default item identifier of the menu.
  */ 
 readonly attribute unsigned short defaultItem;
 /**
  * Selection preference.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, SET UP MENU, bit 1.
  *
  * true: selection using soft key preferred.
  * false: no selection preference.
  */ 
 readonly attribute boolean isSoftKeyPreferred;
 /**
  * Help information available or not.
  * 
  * @see TS 11.14, clause 12.6, Command Qualifier, SET UP MENU, bit 8.
  *
  * true: help information available.
  * false: no help information available.
  */ 
 readonly attribute boolean isHelpAvailable;
 // TODO 
 // title icon
 // items icon

};

/**

* RESPONSE LENGTH data object.
* TS 11.14, clause 12.11
*/ 

[scriptable, uuid(8f427ede-cd29-4d96-96b8-04d144bb6b57)] interface nsIDOMMozStkResponseLength : nsISupports {

 /**
  * Minimum length of response.
  */ 
 readonly attribute unsigned short minLength;
 /**
  * Maximum length of response.
  */  
 readonly attribute unsigned short maxLength;

};

[scriptable, uuid(95e8f715-9eae-491b-9d38-0eb2417ddf98)] interface nsIDOMMozStkInput : nsISupports {

 /**
  * Text for the ME to display in conjunction with asking the user to respond.
  */ 
 readonly attribute DOMString text;
 /**
  * The minimum and maximum acceptable lengths in characters for the response 
  * from the user.
  */
 readonly attribute nsIDOMMozStkResponseLength responseLength;
 /**
  * Text for the ME to display, corresponds to a default text string offered 
  * by the SIM.
  */ 
 readonly attribute DOMString defaultText;
 /**
  * Input format.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 1.
  *
  * true: Alphabet set.
  * false: Digits only.
  */ 
 readonly attribute boolean isAlphabet;
 /**
  * Alphabet encoding.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 2.
  *
  * true: UCS2 alphabet.
  * false: default SMS alphabet.
  */ 
 readonly attribute boolean isUCS2;
 
 /**
  * Visibility of input.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 3.
  *
  * true: User input shall not be revealed in any way.
  * false: ME may echo user input on the display.
  */ 
 readonly attribute boolean hideInput;
 
 /**
  * Yes/No response is requested.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INKEY, bit 3.
  *
  * true: Yes/No response is requested.
  * false: Character sets (Alphabet set and UCS2) are enabled.
  */ 
 readonly attribute boolean yesNo;
 /**
  * Packed or unpacked.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INPUT, bit 4.
  *
  * true: User input to be in SMS packed format.
  * false: User input to be in unpacked format.
  */ 
 readonly attribute boolean isPacked;
 //TODO icon

};

[scriptable, uuid(11efe4fb-38f9-4d31-8e10-827145764153)] interface nsIDOMMozStkCmdParameter : nsISupports {

 //TODO icon

};

/**

* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is 
* STK_CMD_DISPLAY_TEXT, STK_CMD_SET_UP_IDLE_MODE_TEXT, STK_CMD_REFRESH and
* STK_CMD_SEND_*.
*/ 

[scriptable, uuid(56ff7fa7-5899-4c5a-a55f-e96ee5980389)] interface nsIDOMMozStkCmdDisplayTextParam : nsIDOMMozStkCmdParameter {

 readonly attribute nsIDOMMozStkTextMessage textMessage;

};

/**

* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is 
* STK_CMD_SELECT_ITEM or STK_CMD_SET_UP_MENU.
*/ 

[scriptable, uuid(266aa601-3b0f-4143-b544-b5bb7a8f1b69)] interface nsIDOMMozStkCmdSelectItemParam : nsIDOMMozStkCmdParameter {

 readonly attribute nsIDOMMozStkMenu menu;
 readonly attribute boolean loadTitleIcon;

};

/**

* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is 
* STK_CMD_GET_INKEY or STK_CMD_GET_INPUT.
*/ 

[scriptable, uuid(a484e23f-5783-4827-ab4a-28c76cd83c41)] interface nsIDOMMozStkCmdGetInputParam : nsIDOMMozStkCmdParameter {

 readonly attribute nsIDOMMozStkInput input;

};

/**

* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is 
* STK_CMD_LAUNCH_BROWSER.
*/

/* TODO [scriptable, uuid()] interface nsIDOMMozStkCmdLaunchBrowserParam : nsIDOMMozStkCmdParameter {

};

  • /

/**

* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is 
* STK_CMD_SET_UP_CALL.
*/

/* TODO [scriptable, uuid()] interface nsIDOMMozStkCmdSetupCallParam : nsIDOMMozStkCmdParameter {

};

  • /

/**

* Used as command parameter when typeOfCommand in nsIDOMMozStkCommand is 
* STK_CMD_PLAY_TONE.
*/

/* [scriptable, uuid()] interface nsIDOMMozStkCmdPlayToneParam : nsIDOMMozStkCmdParameter {

};

  • /

[scriptable, uuid(5b5b4871-1ec6-4f9d-8f78-a34b528ee03d)] interface nsIDOMMozStkCmdDetails : nsIDOMMozStkConstants {

 /**
  * Command number is the number of command issued by ICC. And it is assigned 
  * by ICC may take any hexadecimal value betweean '01' and 'FE'.
  *
  * @see TS 11.14, clause 6.5.1
  */ 
 readonly attribute unsigned short commandNumber;
 /**
  * One of STK_CMD_*.
  */  
 readonly attribute unsigned short typeOfCommand; 
 /**
  * Qualifiers specific to the command.
  */ 
 readonly attribute unsigned short commandQualifier;

};

[scriptable, uuid(703f1757-91ed-43a4-8ae5-418ad53b7f4e)] interface nsIDOMMozStkCommand : nsIDOMMozStkConstants {

 /**
  * The detail information of the proactive command issued by ICC.
  */ 
 readonly attribute nsIDOMMozStkCmdDetails cmdDetails;
 /**
  * One of nsIDOMMozStkCmd*Param.
  */ 
 readonly attribute nsIDOMMozStkCmdParameter param;
 //TODO: add deviceId for multi-SIM

};

[scriptable, builtinclass, uuid(06bbc6fa-9b59-4db6-b66b-3b26f9c379df)] interface nsIDOMMozStkCommandEvent : nsIDOMEvent {

 readonly attribute nsIDOMMozStkCommand command;

};

[scriptable, uuid(8d89b0f2-8026-4568-b8c9-f52047dd38fb)] interface nsIDOMMozStkResponse : nsIDOMMozStkConstants {

 /**
  * The detail information of the proactive command issued by ICC.
  */ 
 readonly attribute nsIDOMMozStkCmdDetails cmdDetails;
 
 /**
  * One of STK_RESULT_*.
  */ 
 attribute unsigned short resultCode;
 /**
  * The identifier of the menu item selected by user.
  */ 
 attribute unsigned short  menuSelection;
 /**
  * User input.
  */ 
 attribute DOMString input;
 /**
  * YES/NO response.
  *
  * @see TS 11.14, clause 12.6, Command Qualifier, GET INKEY, bit 3. 
  *
  * true: User selects 'Yes'.
  * false: User selects 'No'.
  */ 
 attribute boolean yesNo;
 /**
  * User has accepted or rejected the call during STK_CMD_CALL_SET_UP.
  * 
  * @see RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM
  *
  * true: Confirmed by User.
  * false: Rejected by User.
  */ 
 attribute boolean confirmation;
 //TODO add deviceId for multi-SIM

};

Examples