WebAPI/WebIccManager/Multi-SIM: Difference between revisions

Jump to navigation Jump to search
(Created page with "== Proposal: WebIccManager API for Multi-SIM == Currently B2G supports a single SIM architecture. This proposal wants to extend WebIccManager to support multi-SIMs. In multi-...")
 
Line 1: Line 1:
== Proposal: WebIccManager API for Multi-SIM  ==
== Proposal: WebIccManager API for Multi-SIM  ==
Currently B2G supports a single SIM architecture. This proposal wants to extend WebIccManager to support multi-SIMs. In multi-SIM device, each SIM card is independent and has it own information and operation. Here we introduce multiple nsIDOMMozIcc objects, each instance represents a icc card, you can use iccId as index to get corresponding icc object.
Currently B2G supports a single SIM architecture. This proposal wants to extend WebIccManager to support multi-SIMs. In multi-SIM device, each SIM card is independent and has it own information and operation. Here we introduce multiple nsIDOMMozIcc objects, each instance represents a icc card, you can use iccId as index to get corresponding icc object.
=== Web API ===
  interface nsIDOMMozIcc : nsIDOMEventTarget
  {
    readonly attribute nsIDOMMozMobileICCInfo iccInfo;
    readonly attribute DOMString cardState;
    readonly attribute long retryCount;
 
    nsIDOMDOMRequest getCardLock(in DOMString lockType);
    nsIDOMDOMRequest unlockCardLock(in jsval info);
    nsIDOMDOMRequest setCardLock(in jsval info);
 
    void sendStkResponse(in jsval command, in jsval response);
    void sendStkMenuSelection(in unsigned short itemIdentifier, in boolean helpRequested);
    void sendStkTimerExpiration(in jsval timer);
    void sendStkEventDownload(in jsval event);
 
    nsIDOMDOMRequest readContacts(in DOMString contactType);
    nsIDOMDOMRequest updateContact(in DOMString contactType, in nsIDOMContact contact, [optional] in DOMString pin2);
 
    nsIDOMDOMRequest iccOpenChannel(in DOMString aid);
    nsIDOMDOMRequest iccExchangeAPDU(in long channel, in jsval apdu);
    nsIDOMDOMRequest iccCloseChannel(in long channe);
 
    [implicit_jscontext] attribute jsval onstkcommand;
    [implicit_jscontext] attribute jsval onstksessionend;
    [implicit_jscontext] attribute jsval onicccardlockerror;
    [implicit_jscontext] attribute jsval oniccinfochange;
    [implicit_jscontext] attribute jsval oncardstatechange;
  }
  interface nsIDOMMozIccManager : nsIDOMEventTarget
  {
    readonly attribute jsval iccIds;
    nsIDOMMozIcc getIccById(in DOMString iccId);
 
    [implicit_jscontext] attribute jsval oniccadd;
    [implicit_jscontext] attribute jsval oniccremove;
  }
Confirmed users
258

edits

Navigation menu