WebAPI/WebMobileConnection/Multi-SIM: Difference between revisions

Line 68: Line 68:


=== Implementation ===
=== Implementation ===
Add nsIDOMMozMobileConnectionManager interface to control mobileConnections in nsIDOMMozMobileConnectionManager.idl
Use nsIMozNavigatorMobileConnectionManager to instead of nsIMozNavigatorMobileConnection in nsINavigatorMobileConnection.idl.


...
interface nsIMozNavigatorMobileConnectionManager: nsISupports
interface nsIDOMMozMobileConnectionManager : nsIDOMEventTarget
{
{
   readonly attribute jsval mobileConnections;
   readonly attribute nsIDOMMozMobileConnectionManager mozMobileConnectionManager;
  readonly attribute nsIDOMMozMobileConnection defaultMobileConnection;
};
};
...
 
Add subscription ID in the interface of nsIMobileConnectionProvider.idl and change the implementation of getCardState, getIccInfo, getVoiceConnectionInfo, getDataConnectionInfo, and getNetworkSelectionMode.
 
interface nsIMobileConnectionProvider: nsISupports
{
  void registerMobileConnectionMsg(in unsigned long subscriptionId);
  DOMString getCardState(in unsigned long subscriptionId);
  nsIDOMMozMobileICCInfo getIccInfo(in unsigned long subscriptionId);
  nsIDOMMozMobileConnectionInfo getVoiceConnectionInfo(in unsigned long subscriptionId);
  nsIDOMMozMobileConnectionInfo getDataConnectionInfo(in unsigned long subscriptionId);
  DOMString getNetworkSelectionMode(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 selectNetworkAutomatically(in nsIDOMWindow window, 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 setCardLock(in nsIDOMWindow window, in jsval info, 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);
  void sendStkResponse(in nsIDOMWindow window, in jsval command, in jsval response);
  void sendStkMenuSelection(in nsIDOMWindow  window, in unsigned short itemIdentifier, in boolean helpRequested);
  void sendStkEventDownload(in nsIDOMWindow window, in jsval event);
};
 
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.
 
  // nsIRILContentHelper
  cardState:            [],
  iccInfo:              [],
  voiceConnectionInfo:  [],
  dataConnectionInfo:  [],
  networkSelectionMode: [],


== Proposal: Architecture ==
== Proposal: Architecture ==
Confirmed users
489

edits