dom/system/gonk/nsIRadioInterfaceLayer.idl
author Wes Kocher <wkocher@mozilla.com>
Thu, 28 Aug 2014 16:51:41 -0700
changeset 224047 de824c1ec349b605618a5641bd4aa81e18c56775
parent 224036 e31b86ef0e80e3e281a0c4ab50ef4cda61cd0240
child 226375 3b97cf01b88a5f1be7e1c1ed682834663a3f4e14
permissions -rw-r--r--
Backed out 17 changesets (bug 843452) Backed out changeset e72a0297d488 (bug 843452) Backed out changeset 73f62ce4190f (bug 843452) Backed out changeset 6d4a49ebd9fc (bug 843452) Backed out changeset ac93e396669f (bug 843452) Backed out changeset cf4fc721821e (bug 843452) Backed out changeset 9a94ea71d232 (bug 843452) Backed out changeset b95ff097374d (bug 843452) Backed out changeset 8d6428a93500 (bug 843452) Backed out changeset e31b86ef0e80 (bug 843452) Backed out changeset bd4efde535cd (bug 843452) Backed out changeset 02bbcd8ac571 (bug 843452) Backed out changeset f7f41bf82b22 (bug 843452) Backed out changeset 20f42764cd38 (bug 843452) Backed out changeset 82f8670f5c17 (bug 843452) Backed out changeset 52f25f1278e3 (bug 843452) Backed out changeset 181337820a7c (bug 843452) Backed out changeset 9bd12641af03 (bug 843452)

/* 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"
#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(8f33281f-b262-4bc6-9862-2cab897245ac)]
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 nsIMobileConnectionInfo voice;

  readonly attribute nsIMobileConnectionInfo data;
};

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