DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (fddffdeab170)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/.
 */

[Pref="dom.telephony.enabled"]
interface TelephonyCall : EventTarget {
  // Indicate which service the call comes from.
  readonly attribute unsigned long serviceId;

  readonly attribute TelephonyCallId id;

  // In CDMA networks, the 2nd waiting call shares the connection with the 1st
  // call. We need an additional attribute for the CDMA waiting call.
  readonly attribute TelephonyCallId? secondId;

  readonly attribute TelephonyCallState state;

  // The property "emergency" indicates whether the call number is an emergency
  // number. Only the outgoing call could have a value with true and it is
  // available after dialing state.
  readonly attribute boolean emergency;

  // Indicate whether the call state can be switched between "connected" and
  // "held".
  readonly attribute boolean switchable;

  // Indicate whether the call can be added into TelephonyCallGroup.
  readonly attribute boolean mergeable;

  readonly attribute DOMError? error;

  readonly attribute TelephonyCallDisconnectedReason? disconnectedReason;

  readonly attribute TelephonyCallGroup? group;

  [NewObject]
  Promise<void> answer();
  [NewObject]
  Promise<void> hangUp();
  [NewObject]
  Promise<void> hold();
  [NewObject]
  Promise<void> resume();

  attribute EventHandler onstatechange;
  attribute EventHandler ondialing;
  attribute EventHandler onalerting;
  attribute EventHandler onconnected;
  attribute EventHandler ondisconnected;
  attribute EventHandler onheld;
  attribute EventHandler onerror;

  // Fired whenever the group attribute changes.
  attribute EventHandler ongroupchange;
};

enum TelephonyCallState {
  "dialing",
  "alerting",
  "connected",
  "held",
  "disconnected",
  "incoming",
};

enum TelephonyCallDisconnectedReason {
  "BadNumber",
  "NoRouteToDestination",
  "ChannelUnacceptable",
  "OperatorDeterminedBarring",
  "NormalCallClearing",
  "Busy",
  "NoUserResponding",
  "UserAlertingNoAnswer",
  "CallRejected",
  "NumberChanged",
  "CallRejectedDestinationFeature",
  "PreEmption",
  "DestinationOutOfOrder",
  "InvalidNumberFormat",
  "FacilityRejected",
  "ResponseToStatusEnquiry",
  "Congestion",
  "NetworkOutOfOrder",
  "NetworkTempFailure",
  "SwitchingEquipCongestion",
  "AccessInfoDiscarded",
  "RequestedChannelNotAvailable",
  "ResourceUnavailable",
  "QosUnavailable",
  "RequestedFacilityNotSubscribed",
  "IncomingCallsBarredWithinCug",
  "BearerCapabilityNotAuthorized",
  "BearerCapabilityNotAvailable",
  "BearerNotImplemented",
  "ServiceNotAvailable",
  "IncomingCallExceeded",
  "RequestedFacilityNotImplemented",
  "UnrestrictedBearerNotAvailable",
  "ServiceNotImplemented",
  "InvalidTransactionId",
  "NotCugMember",
  "IncompatibleDestination",
  "InvalidTransitNetworkSelection",
  "SemanticallyIncorrectMessage",
  "InvalidMandatoryInfo",
  "MessageTypeNotImplemented",
  "MessageTypeIncompatibleProtocolState",
  "InfoElementNotImplemented",
  "ConditionalIe",
  "MessageIncompatibleProtocolState",
  "RecoveryOnTimerExpiry",
  "Protocol",
  "Interworking",
  "Barred",
  "FDNBlocked",
  "SubscriberUnknown",
  "DeviceNotAccepted",
  "ModifiedDial",
  "CdmaLockedUntilPowerCycle",
  "CdmaDrop",
  "CdmaIntercept",
  "CdmaReorder",
  "CdmaSoReject",
  "CdmaRetryOrder",
  "CdmaAcess",
  "CdmaPreempted",
  "CdmaNotEmergency",
  "CdmaAccessBlocked",
  "Unspecified",
};