/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIDOMMozMobileICCInfo; interface nsIDOMMozMobileConnectionInfo; interface nsIDOMMozMobileNetworkInfo; interface nsIDOMMozMobileCFInfo; interface nsIDOMDOMRequest; interface nsIDOMWindow; /** * XPCOM component (in the content process) that provides the mobile * network information. */ [scriptable, uuid(0fb90831-801d-4a84-a56f-7cbc77ba9d61)] interface nsIMobileConnectionProvider : nsISupports { /** * Called when a content process registers receiving unsolicited messages from * RadioInterfaceLayer in the chrome process. Only a content process that has * the 'mobileconnection' permission is allowed to register. Note that content * doesn't need to unregister because the chrome process will remove it from * the registration list once the chrome receives a 'child-process-shutdown' * message. */ void registerMobileConnectionMsg(); readonly attribute DOMString cardState; readonly attribute nsIDOMMozMobileICCInfo iccInfo; readonly attribute nsIDOMMozMobileConnectionInfo voiceConnectionInfo; readonly attribute nsIDOMMozMobileConnectionInfo dataConnectionInfo; readonly attribute DOMString networkSelectionMode; nsIDOMDOMRequest getNetworks(in nsIDOMWindow window); nsIDOMDOMRequest selectNetwork(in nsIDOMWindow window, in nsIDOMMozMobileNetworkInfo network); nsIDOMDOMRequest selectNetworkAutomatically(in nsIDOMWindow window); nsIDOMDOMRequest getCardLock(in nsIDOMWindow window, in DOMString lockType); nsIDOMDOMRequest unlockCardLock(in nsIDOMWindow window, in jsval info); nsIDOMDOMRequest setCardLock(in nsIDOMWindow window, in jsval info); nsIDOMDOMRequest sendMMI(in nsIDOMWindow window, in DOMString mmi); nsIDOMDOMRequest cancelMMI(in nsIDOMWindow window); void sendStkResponse(in nsIDOMWindow window, in jsval command, in jsval response); void sendStkMenuSelection(in nsIDOMWindow window, in unsigned short itemIdentifier, in boolean helpRequested); void sendStkTimerExpiration(in nsIDOMWindow window, in jsval timer); void sendStkEventDownload(in nsIDOMWindow window, in jsval event); nsIDOMDOMRequest getCallForwardingOption(in nsIDOMWindow window, in unsigned short reason); nsIDOMDOMRequest setCallForwardingOption(in nsIDOMWindow window, in nsIDOMMozMobileCFInfo CFInfo); /** * Secure Card Icc communication channel */ nsIDOMDOMRequest iccOpenChannel(in nsIDOMWindow window, in DOMString aid); nsIDOMDOMRequest iccExchangeAPDU(in nsIDOMWindow window, in long channel, in jsval apdu); nsIDOMDOMRequest iccCloseChannel(in nsIDOMWindow window, in long channel); };