/* 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; [scriptable, uuid(d919e279-b0e4-4bc0-8464-f5b37aa41484)] interface nsIMobileConnectionListener : nsISupports { void notifyVoiceChanged(); void notifyDataChanged(); void notifyCardStateChanged(); void notifyIccInfoChanged(); void notifyUssdReceived(in DOMString message, in boolean sessionEnded); void notifyDataError(in DOMString message); void notifyIccCardLockError(in DOMString lockType, in unsigned long retryCount); void notifyCFStateChange(in boolean success, in unsigned short action, in unsigned short reason, in DOMString number, in unsigned short timeSeconds, in unsigned short serviceClass); }; /** * XPCOM component (in the content process) that provides the mobile * network information. */ [scriptable, uuid(0abc25f7-372e-4398-8b49-ae8fcdb575d3)] 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. */ void registerMobileConnectionMsg(in nsIMobileConnectionListener listener); void unregisterMobileConnectionMsg(in nsIMobileConnectionListener listener); readonly attribute DOMString cardState; readonly attribute long retryCount; 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); nsIDOMDOMRequest getCallForwardingOption(in nsIDOMWindow window, in unsigned short reason); nsIDOMDOMRequest setCallForwardingOption(in nsIDOMWindow window, in nsIDOMMozMobileCFInfo CFInfo); nsIDOMDOMRequest getCallBarringOption(in nsIDOMWindow window, in jsval option); nsIDOMDOMRequest setCallBarringOption(in nsIDOMWindow window, in jsval option); nsIDOMDOMRequest setCallWaitingOption(in nsIDOMWindow window, in bool enabled); nsIDOMDOMRequest getCallWaitingOption(in nsIDOMWindow window); };