WebAPI/WebMobileConnection/Multi-SIM: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 67: Line 67:
       ...
       ...


=== Implementation ===
<h3> Implementation </h3>
Use nsIMozNavigatorMobileConnectionManager to instead of nsIMozNavigatorMobileConnection in nsINavigatorMobileConnection.idl.
<p>Use nsIMozNavigatorMobileConnectionManager to instead of nsIMozNavigatorMobileConnection in nsINavigatorMobileConnection.idl.  
 
</p>
interface nsIMozNavigatorMobileConnectionManager: nsISupports
<pre class="_fck_mw_lspace">interface nsIMozNavigatorMobileConnectionManager: nsISupports
{
{
  readonly attribute nsIDOMMozMobileConnectionManager mozMobileConnectionManager;
readonly attribute nsIDOMMozMobileConnectionManager mozMobileConnectionManager;
};
};
 
</pre>
Add subscription ID in the interface of nsIMobileConnectionProvider.idl and change the implementation of getCardState, getIccInfo, getVoiceConnectionInfo, getDataConnectionInfo, and getNetworkSelectionMode.
<p>Add subscription ID in the interface of nsIMobileConnectionProvider.idl and change the implementation of getCardState, getIccInfo, getVoiceConnectionInfo, getDataConnectionInfo, and getNetworkSelectionMode.  
 
</p>
interface nsIMobileConnectionProvider: nsISupports
<pre class="_fck_mw_lspace">interface nsIMobileConnectionProvider: nsISupports
{
{
  void registerMobileConnectionMsg(in unsigned long subscriptionId);
void registerMobileConnectionMsg(in unsigned long subscriptionId);
  DOMString getCardState(in unsigned long subscriptionId);
DOMString getCardState(in unsigned long subscriptionId);
  nsIDOMMozMobileICCInfo getIccInfo(in unsigned long subscriptionId);
nsIDOMMozMobileICCInfo getIccInfo(in unsigned long subscriptionId);
  nsIDOMMozMobileConnectionInfo getVoiceConnectionInfo(in unsigned long subscriptionId);
nsIDOMMozMobileConnectionInfo getVoiceConnectionInfo(in unsigned long subscriptionId);
  nsIDOMMozMobileConnectionInfo getDataConnectionInfo(in unsigned long subscriptionId);
nsIDOMMozMobileConnectionInfo getDataConnectionInfo(in unsigned long subscriptionId);
  DOMString getNetworkSelectionMode(in unsigned long subscriptionId);
DOMString getNetworkSelectionMode(in unsigned long subscriptionId);
  nsIDOMDOMRequest getNetworks(in nsIDOMWindow window, in unsigned long subscriptionId);
nsIDOMDOMRequest getNetworks(in nsIDOMWindow window, in unsigned long subscriptionId);
  nsIDOMDOMRequest selectNetwork(in nsIDOMWindow window, in nsIDOMMozMobileNetworkInfo network, in unsigned long subscriptionId);
nsIDOMDOMRequest selectNetwork(in nsIDOMWindow window, in nsIDOMMozMobileNetworkInfo network, in unsigned long subscriptionId);
  nsIDOMDOMRequest selectNetworkAutomatically(in nsIDOMWindow window, in unsigned long subscriptionId);
nsIDOMDOMRequest selectNetworkAutomatically(in nsIDOMWindow window, in unsigned long subscriptionId);
  nsIDOMDOMRequest getCardLock(in nsIDOMWindow window, in DOMString lockType, in unsigned long subscriptionId);
nsIDOMDOMRequest getCardLock(in nsIDOMWindow window, in DOMString lockType, in unsigned long subscriptionId);
  nsIDOMDOMRequest unlockCardLock(in nsIDOMWindow window, in jsval info, in unsigned long subscriptionId);
nsIDOMDOMRequest unlockCardLock(in nsIDOMWindow window, in jsval info, in unsigned long subscriptionId);
  nsIDOMDOMRequest setCardLock(in nsIDOMWindow window, in jsval info, in unsigned long subscriptionId);
nsIDOMDOMRequest setCardLock(in nsIDOMWindow window, in jsval info, in unsigned long subscriptionId);
  nsIDOMDOMRequest sendMMI(in nsIDOMWindow window, in DOMString mmi, in unsigned long subscriptionId);
nsIDOMDOMRequest sendMMI(in nsIDOMWindow window, in DOMString mmi, in unsigned long subscriptionId);
  nsIDOMDOMRequest cancelMMI(in nsIDOMWindow window, in unsigned long subscriptionId);
nsIDOMDOMRequest cancelMMI(in nsIDOMWindow window, in unsigned long subscriptionId);
  void sendStkResponse(in nsIDOMWindow window, in jsval command, in jsval response);
void sendStkResponse(in nsIDOMWindow window, in jsval command, in jsval response);
  void sendStkMenuSelection(in nsIDOMWindow  window, in unsigned short itemIdentifier, in boolean helpRequested);
void sendStkMenuSelection(in nsIDOMWindow  window, in unsigned short itemIdentifier, in boolean helpRequested);
  void sendStkEventDownload(in nsIDOMWindow window, in jsval event);
void sendStkEventDownload(in nsIDOMWindow window, in jsval event);
};
};
 
</pre>
The data structures of cardState, iccInfo, voiceConnectionInfo, dataConnectionInfo, and networkSelectionMode are changed to be the array format in RILContentHelper.js for storing the information among different SIM.
<p>The data structures of cardState, iccInfo, voiceConnectionInfo, dataConnectionInfo, and networkSelectionMode are changed to be the array format in RILContentHelper.js for storing the information among different SIM.  
 
</p>
  // nsIRILContentHelper
<pre class="_fck_mw_lspace"> // nsIRILContentHelper
  cardState:            [],
cardState:            [],
  iccInfo:              [],
iccInfo:              [],
  voiceConnectionInfo:  [],
voiceConnectionInfo:  [],
  dataConnectionInfo:  [],
dataConnectionInfo:  [],
  networkSelectionMode: [],
networkSelectionMode: [],
</pre>


== Proposal: Architecture ==
== Proposal: Architecture ==
Confirmed users
258

edits

Navigation menu