/* 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 nsIIccInfo; interface nsIMobileConnectionInfo; interface nsIMobileMessageCallback; [scriptable, function, uuid(3bc96351-53b0-47a1-a888-c74c64b60f25)] interface nsIRilSendWorkerMessageCallback : nsISupports { boolean handleResponse(in jsval response); }; [scriptable, uuid(1a3ef88a-e4d1-11e4-8512-176220f2b32b)] interface nsIRadioInterface : nsISupports { /** * PDP APIs * * @param networkType * Mobile network type, that is, nsINetworkInterface.NETWORK_TYPE_MOBILE * or one of the nsINetworkInterface.NETWORK_TYPE_MOBILE_* values. */ void setupDataCallByType(in long networkType); void deactivateDataCallByType(in long networkType); long getDataCallStateByType(in long networkType); void updateRILNetworkInterface(); void sendWorkerMessage(in DOMString type, [optional] in jsval message, [optional] in nsIRilSendWorkerMessageCallback callback); }; %{C++ #define NS_RADIOINTERFACELAYER_CID \ { 0x2d831c8d, 0x6017, 0x435b, \ { 0xa8, 0x0c, 0xe5, 0xd4, 0x22, 0x81, 0x0c, 0xea } } #define NS_RADIOINTERFACELAYER_CONTRACTID "@mozilla.org/ril;1" %} [scriptable, uuid(78b65e8c-68e7-4510-9a05-65bba12b283e)] interface nsIRadioInterfaceLayer : nsISupports { readonly attribute unsigned long numRadioInterfaces; nsIRadioInterface getRadioInterface(in unsigned long clientId); /** * Select a proper client for dialing emergency call. * * @return clientId or -1 if none of the clients are avaialble. */ unsigned long getClientIdForEmergencyCall(); void setMicrophoneMuted(in boolean muted); };