michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: #include "nsINetworkManager.idl" michael@0: michael@0: interface nsIDOMMozIccInfo; michael@0: interface nsIDOMMozMobileConnectionInfo; michael@0: interface nsIMobileMessageCallback; michael@0: michael@0: [scriptable, uuid(6e0f45b8-410e-11e3-8c8e-b715b2cd0128)] michael@0: interface nsIRilNetworkInterface : nsINetworkInterface michael@0: { michael@0: readonly attribute unsigned long serviceId; michael@0: readonly attribute DOMString iccId; michael@0: michael@0: /* The following attributes are for MMS proxy settings. */ michael@0: readonly attribute DOMString mmsc; // Empty string if not set. michael@0: readonly attribute DOMString mmsProxy; // Empty string if not set. michael@0: readonly attribute long mmsPort; // -1 if not set. michael@0: }; michael@0: michael@0: [scriptable, uuid(c0c5cb9f-6372-4b5a-b74c-baacc2da5e4f)] michael@0: interface nsIVoicemailInfo : nsISupports michael@0: { michael@0: readonly attribute DOMString number; michael@0: michael@0: readonly attribute DOMString displayName; michael@0: }; michael@0: michael@0: [scriptable, uuid(95e1be50-c912-11e2-8b8b-0800200c9a66)] michael@0: interface nsIRilContext : nsISupports michael@0: { michael@0: readonly attribute DOMString radioState; michael@0: michael@0: readonly attribute DOMString cardState; michael@0: michael@0: readonly attribute long retryCount; michael@0: michael@0: readonly attribute DOMString imsi; michael@0: michael@0: readonly attribute DOMString networkSelectionMode; michael@0: michael@0: readonly attribute nsIDOMMozIccInfo iccInfo; michael@0: michael@0: readonly attribute nsIDOMMozMobileConnectionInfo voice; michael@0: michael@0: readonly attribute nsIDOMMozMobileConnectionInfo data; michael@0: }; michael@0: michael@0: [scriptable, function, uuid(3bc96351-53b0-47a1-a888-c74c64b60f25)] michael@0: interface nsIRilSendWorkerMessageCallback : nsISupports michael@0: { michael@0: boolean handleResponse(in jsval response); michael@0: }; michael@0: michael@0: [scriptable, uuid(181d460e-220e-4274-8ba4-43f122eb518d)] michael@0: interface nsIRadioInterface : nsISupports michael@0: { michael@0: readonly attribute nsIRilContext rilContext; michael@0: michael@0: /** michael@0: * PDP APIs michael@0: */ michael@0: void setupDataCallByType(in DOMString apntype); michael@0: void deactivateDataCallByType(in DOMString apntype); michael@0: long getDataCallStateByType(in DOMString apntype); michael@0: michael@0: void updateRILNetworkInterface(); michael@0: michael@0: /** michael@0: * SMS-related functionality. michael@0: */ michael@0: void getSegmentInfoForText(in DOMString text, michael@0: in nsIMobileMessageCallback request); michael@0: michael@0: void sendSMS(in DOMString number, michael@0: in DOMString message, michael@0: in boolean silent, michael@0: in nsIMobileMessageCallback request); michael@0: michael@0: void sendWorkerMessage(in DOMString type, michael@0: [optional] in jsval message, michael@0: [optional] in nsIRilSendWorkerMessageCallback callback); michael@0: michael@0: void getSmscAddress(in nsIMobileMessageCallback request); michael@0: }; michael@0: michael@0: [scriptable, uuid(d035c32e-b491-11e3-9f9d-c716fab88bd6)] michael@0: interface nsIRadioInterfaceLayer : nsISupports michael@0: { michael@0: readonly attribute unsigned long numRadioInterfaces; michael@0: michael@0: nsIRadioInterface getRadioInterface(in unsigned long clientId); michael@0: michael@0: void setMicrophoneMuted(in boolean muted); michael@0: };