author Edgar Chen <>
Wed, 02 Jul 2014 18:08:59 +0800
changeset 224036 e31b86ef0e80e3e281a0c4ab50ef4cda61cd0240
parent 216080 6474f3075112c5ea240a86b1916074db4db07530
child 224047 de824c1ec349b605618a5641bd4aa81e18c56775
permissions -rw-r--r--
Bug 843452 - Part 4-1: Interface changes for gonk backend. r=hsinyi

/* 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 */

#include "nsISupports.idl"
#include "nsINetworkManager.idl"

interface nsIDOMMozIccInfo;
interface nsIMobileConnectionInfo;
interface nsIMobileMessageCallback;
interface nsINeighboringCellIdsCallback;
interface nsICellInfoListCallback;

[scriptable, uuid(6e0f45b8-410e-11e3-8c8e-b715b2cd0128)]
interface nsIRilNetworkInterface : nsINetworkInterface
  readonly attribute unsigned long serviceId;
  readonly attribute DOMString iccId;

  /* The following attributes are for MMS proxy settings. */
  readonly attribute DOMString mmsc;     // Empty string if not set.
  readonly attribute DOMString mmsProxy; // Empty string if not set.
  readonly attribute long      mmsPort;  // -1 if not set.

[scriptable, uuid(c0c5cb9f-6372-4b5a-b74c-baacc2da5e4f)]
interface nsIVoicemailInfo : nsISupports
  readonly attribute DOMString number;

  readonly attribute DOMString displayName;

[scriptable, uuid(0226a2c1-a3b9-416a-92cb-c89e4dad4be0)]
interface nsIRilContext : nsISupports
  readonly attribute DOMString cardState;

  readonly attribute DOMString imsi;

  readonly attribute nsIDOMMozIccInfo iccInfo;

[scriptable, function, uuid(3bc96351-53b0-47a1-a888-c74c64b60f25)]
interface nsIRilSendWorkerMessageCallback : nsISupports
  boolean handleResponse(in jsval response);

[scriptable, uuid(c13a8890-797b-4557-b92f-6b959f56c1d8)]
interface nsIRadioInterface : nsISupports
  readonly attribute nsIRilContext rilContext;

   * PDP APIs
  void setupDataCallByType(in DOMString apntype);
  void deactivateDataCallByType(in DOMString apntype);
  long getDataCallStateByType(in DOMString apntype);

  void updateRILNetworkInterface();

   * SMS-related functionality.
  void getSegmentInfoForText(in DOMString text,
                             in nsIMobileMessageCallback request);

  void sendSMS(in DOMString number,
               in DOMString message,
               in boolean silent,
               in nsIMobileMessageCallback request);

  void sendWorkerMessage(in DOMString type,
              [optional] in jsval message,
              [optional] in nsIRilSendWorkerMessageCallback callback);

  void getSmscAddress(in nsIMobileMessageCallback request);

   * Request neighboring cell ids in GSM/UMTS network.
  void getNeighboringCellIds(in nsINeighboringCellIdsCallback callback);

   * Request all of the current cell information known to the radio, including
   * neighboring cells.
  void getCellInfoList(in nsICellInfoListCallback callback);

[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);