|
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
5 */ |
|
6 |
|
7 [Pref="dom.telephony.enabled"] |
|
8 interface Telephony : EventTarget { |
|
9 /** |
|
10 * There are multiple telephony services in multi-sim architecture. We use |
|
11 * |serviceId| to indicate the target telephony service. If not specified, |
|
12 * the implementation MUST use the default service. |
|
13 * |
|
14 * Possible values of |serviceId| are 0 ~ (number of services - 1), which is |
|
15 * simply the index of a service. Get number of services by acquiring |
|
16 * |navigator.mozMobileConnections.length|. |
|
17 */ |
|
18 |
|
19 // Promise<TelephonyCall> |
|
20 Promise dial(DOMString number, optional unsigned long serviceId); |
|
21 |
|
22 // Promise<TelephonyCall> |
|
23 Promise dialEmergency(DOMString number, optional unsigned long serviceId); |
|
24 |
|
25 [Throws] |
|
26 void startTone(DOMString tone, optional unsigned long serviceId); |
|
27 |
|
28 [Throws] |
|
29 void stopTone(optional unsigned long serviceId); |
|
30 |
|
31 [Throws] |
|
32 attribute boolean muted; |
|
33 |
|
34 [Throws] |
|
35 attribute boolean speakerEnabled; |
|
36 |
|
37 readonly attribute (TelephonyCall or TelephonyCallGroup)? active; |
|
38 |
|
39 // A call is contained either in Telephony or in TelephonyCallGroup. |
|
40 readonly attribute CallsList calls; |
|
41 readonly attribute TelephonyCallGroup conferenceGroup; |
|
42 |
|
43 attribute EventHandler onincoming; |
|
44 attribute EventHandler oncallschanged; |
|
45 attribute EventHandler onremoteheld; |
|
46 attribute EventHandler onremoteresumed; |
|
47 }; |