/* 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 nsIDOMMozIccInfo; interface nsIDOMMozMobileConnectionInfo; interface nsIDOMMozSmsSegmentInfo; interface nsIMobileMessageCallback; [scriptable, uuid(1e602d20-d066-4399-8997-daf36b3158ef)] interface nsIRILDataCallInfo : nsISupports { /** * Current data call state, one of the * nsINetworkInterface::NETWORK_STATE_* constants. */ readonly attribute unsigned long state; readonly attribute AString cid; readonly attribute AString apn; readonly attribute AString ifname; readonly attribute AString ip; readonly attribute AString netmask; readonly attribute AString broadcast; readonly attribute AString gw; readonly attribute jsval dns; }; [scriptable, uuid(5bcac053-c245-46f0-bb45-d0039bfb89f5)] interface nsIRILDataCallback : nsISupports { /** * Notified when a data call changes state. * * @param dataCall * A nsIRILDataCallInfo object. */ void dataCallStateChanged(in nsIRILDataCallInfo dataCall); /** * Called when nsIRadioInterfaceLayer is asked to enumerate the current * data call state. * * @param datacalls * Array of nsIRILDataCallInfo objects. * @param length * Lenght of the aforementioned array. */ void receiveDataCallList([array,size_is(length)] in nsIRILDataCallInfo dataCalls, in unsigned long length); }; [scriptable, uuid(c0c5cb9f-6372-4b5a-b74c-baacc2da5e4f)] interface nsIVoicemailInfo : nsISupports { readonly attribute DOMString number; readonly attribute DOMString displayName; }; [scriptable, uuid(95e1be50-c912-11e2-8b8b-0800200c9a66)] interface nsIRilContext : nsISupports { readonly attribute DOMString radioState; readonly attribute DOMString cardState; readonly attribute long retryCount; readonly attribute DOMString imsi; readonly attribute DOMString networkSelectionMode; readonly attribute nsIDOMMozIccInfo iccInfo; readonly attribute nsIDOMMozMobileConnectionInfo voice; readonly attribute nsIDOMMozMobileConnectionInfo data; }; [scriptable, uuid(6dde3eaf-243d-4afa-abdb-95c94c2b1c7a)] interface nsIRadioInterface : nsISupports { /** * Activates or deactivates radio power. */ void setRadioEnabled(in bool value); readonly attribute nsIRilContext rilContext; readonly attribute nsIVoicemailInfo voicemailInfo; /** * PDP APIs */ void setupDataCallByType(in DOMString apntype); void deactivateDataCallByType(in DOMString apntype); long getDataCallStateByType(in DOMString apntype); void setupDataCall(in long radioTech, in DOMString apn, in DOMString user, in DOMString passwd, in long chappap, in DOMString pdptype); void deactivateDataCall(in DOMString cid, in DOMString reason); void getDataCallList(); void registerDataCallCallback(in nsIRILDataCallback callback); void unregisterDataCallCallback(in nsIRILDataCallback callback); void updateRILNetworkInterface(); /** * SMS-related functionality. */ nsIDOMMozSmsSegmentInfo getSegmentInfoForText(in DOMString text); void sendSMS(in DOMString number, in DOMString message, in nsIMobileMessageCallback request); }; [scriptable, uuid(44b03951-1444-4c03-bd37-0bcb3a01b56f)] interface nsIRadioInterfaceLayer : nsISupports { readonly attribute unsigned long numRadioInterfaces; nsIRadioInterface getRadioInterface(in long clientId); };