gecko/dom/network/interfaces/nsIMobileConnectionProvider.idl

113 lines
5.3 KiB
Plaintext

/* 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 nsIDOMDOMRequest;
interface nsIDOMMozMobileCFInfo;
interface nsIDOMMozMobileConnectionInfo;
interface nsIDOMMozMobileNetworkInfo;
interface nsIDOMWindow;
[scriptable, uuid(f02c50d5-9d34-4f24-80eb-527a280e31fa)]
interface nsIMobileConnectionListener : nsISupports
{
void notifyVoiceChanged();
void notifyDataChanged();
void notifyUssdReceived(in DOMString message,
in boolean sessionEnded);
void notifyDataError(in DOMString message);
void notifyCFStateChange(in boolean success,
in unsigned short action,
in unsigned short reason,
in DOMString number,
in unsigned short timeSeconds,
in unsigned short serviceClass);
void notifyEmergencyCbModeChanged(in boolean active,
in unsigned long timeoutMs);
void notifyOtaStatusChanged(in DOMString status);
void notifyIccChanged();
};
/**
* XPCOM component (in the content process) that provides the mobile
* network information.
*/
[scriptable, uuid(84278a49-0f05-4585-b3f4-c74882ae5719)]
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 unsigned long clientId,
in nsIMobileConnectionListener listener);
void unregisterMobileConnectionMsg(in unsigned long clientId,
in nsIMobileConnectionListener listener);
nsIDOMMozMobileConnectionInfo getVoiceConnectionInfo(in unsigned long clientId);
nsIDOMMozMobileConnectionInfo getDataConnectionInfo(in unsigned long clientId);
DOMString getIccId(in unsigned long clientId);
DOMString getNetworkSelectionMode(in unsigned long clientId);
nsIDOMDOMRequest getNetworks(in unsigned long clientId,
in nsIDOMWindow window);
nsIDOMDOMRequest selectNetwork(in unsigned long clientId,
in nsIDOMWindow window,
in nsIDOMMozMobileNetworkInfo network);
nsIDOMDOMRequest selectNetworkAutomatically(in unsigned long clientId,
in nsIDOMWindow window);
nsIDOMDOMRequest setRoamingPreference(in unsigned long clientId,
in nsIDOMWindow window,
in DOMString mode);
nsIDOMDOMRequest getRoamingPreference(in unsigned long clientId,
in nsIDOMWindow window);
nsIDOMDOMRequest setVoicePrivacyMode(in unsigned long clientId,
in nsIDOMWindow window,
in bool enabled);
nsIDOMDOMRequest getVoicePrivacyMode(in unsigned long clientId,
in nsIDOMWindow window);
nsIDOMDOMRequest sendMMI(in unsigned long clientId,
in nsIDOMWindow window,
in DOMString mmi);
nsIDOMDOMRequest cancelMMI(in unsigned long clientId,
in nsIDOMWindow window);
nsIDOMDOMRequest getCallForwardingOption(in unsigned long clientId,
in nsIDOMWindow window,
in unsigned short reason);
nsIDOMDOMRequest setCallForwardingOption(in unsigned long clientId,
in nsIDOMWindow window,
in nsIDOMMozMobileCFInfo CFInfo);
nsIDOMDOMRequest getCallBarringOption(in unsigned long clientId,
in nsIDOMWindow window,
in jsval option);
nsIDOMDOMRequest setCallBarringOption(in unsigned long clientId,
in nsIDOMWindow window,
in jsval option);
nsIDOMDOMRequest changeCallBarringPassword(in unsigned long clientId,
in nsIDOMWindow window,
in jsval info);
nsIDOMDOMRequest setCallWaitingOption(in unsigned long clientId,
in nsIDOMWindow window,
in bool enabled);
nsIDOMDOMRequest getCallWaitingOption(in unsigned long clientId,
in nsIDOMWindow window);
nsIDOMDOMRequest setCallingLineIdRestriction(in unsigned long clientId,
in nsIDOMWindow window,
in unsigned short clirMode);
nsIDOMDOMRequest getCallingLineIdRestriction(in unsigned long clientId,
in nsIDOMWindow window);
nsIDOMDOMRequest exitEmergencyCbMode(in unsigned long clientId,
in nsIDOMWindow window);
};