WebAPI/WebIccManager/Multi-SIM: Difference between revisions

Line 124: Line 124:
   interface nsIIccProvider: nsISupports
   interface nsIIccProvider: nsISupports
   {
   {
     void registerIccMsg(in DOMString iccId, in nsIIccListener listener);
     void registerIccMsg(in unsigned long clientId, in nsIIccListener listener);
     void unregisterIccMsg(in DOMString iccId, in nsIIccListener listener);
     void unregisterIccMsg(in unsigned long clientId, in nsIIccListener listener);
      
      
     DOMString getCardState(in DOMString iccId);
     DOMString getCardState(in unsigned long clientId);
     nsIDOMMozIccInfo getIccInfo(in DOMString iccId);
     nsIDOMMozIccInfo getIccInfo(in unsigned long clientId);
      
      
     void sendStkResponse(in DOMString iccId, in nsIDOMWindow window, in jsval command, in jsval response);
     void sendStkResponse(in unsigned long clientId, in nsIDOMWindow window, in jsval command, in jsval response);
     void sendStkMenuSelection(in DOMString iccId, in nsIDOMWindow window, in unsigned short itemIdentifier, in boolean helpRequested);
     void sendStkMenuSelection(in unsigned long clientId, in nsIDOMWindow window, in unsigned short itemIdentifier, in boolean helpRequested);
     void sendStkTimerExpiration(in DOMString iccId, in nsIDOMWindow window, in jsval timer);
     void sendStkTimerExpiration(in unsigned long clientId, in nsIDOMWindow window, in jsval timer);
     void sendStkEventDownload(in DOMString iccId, in nsIDOMWindow window, in jsval event);
     void sendStkEventDownload(in unsigned long clientId, in nsIDOMWindow window, in jsval event);
      
      
     nsIDOMDOMRequest readContacts(in DOMString iccId, in nsIDOMWindow window, in DOMString contactType);
     nsIDOMDOMRequest readContacts(in unsigned long clientId, in nsIDOMWindow window, in DOMString contactType);
     nsIDOMDOMRequest updateContact(in DOMString iccId, in nsIDOMWindow window, in DOMString contactType, in nsIDOMContact contact, in DOMString pin2);
     nsIDOMDOMRequest updateContact(in unsigned long clientId, in nsIDOMWindow window, in DOMString contactType, in nsIDOMContact contact, in DOMString pin2);
      
      
     nsIDOMDOMRequest iccOpenChannel(in DOMString iccId, in nsIDOMWindow window, in DOMString aid);
     nsIDOMDOMRequest iccOpenChannel(in unsigned long clientId, in nsIDOMWindow window, in DOMString aid);
     nsIDOMDOMRequest iccExchangeAPDU(in DOMString iccId, in nsIDOMWindow window, in long channel, in jsval apdu);
     nsIDOMDOMRequest iccExchangeAPDU(in unsigned long clientId, in nsIDOMWindow window, in long channel, in jsval apdu);
     nsIDOMDOMRequest iccCloseChannel(in DOMString iccId, in nsIDOMWindow window, in long channel);
     nsIDOMDOMRequest iccCloseChannel(in unsigned long clientId, in nsIDOMWindow window, in long channel);
      
      
     nsIDOMDOMRequest getCardLock(in DOMString iccId, in nsIDOMWindow window, in DOMString lockType);
     nsIDOMDOMRequest getCardLock(in unsigned long clientId, in nsIDOMWindow window, in DOMString lockType);
     nsIDOMDOMRequest unlockCardLock(in DOMString iccId, in nsIDOMWindow window, in jsval info);
     nsIDOMDOMRequest unlockCardLock(in unsigned long clientId, in nsIDOMWindow window, in jsval info);
     nsIDOMDOMRequest setCardLock(in DOMString iccId, in nsIDOMWindow window, in jsval info);
     nsIDOMDOMRequest setCardLock(in unsigned long clientId, in nsIDOMWindow window, in jsval info);
   }
   }


RILContentHelper needs to implement a table for the mapping between iccId and serviceId.
DOM needs to implement the mapping between iccId and clientId. And need to dispatch event to correct icc object.


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

edits