|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 * |
|
5 * Part of this idl is from: |
|
6 * http://w3c.github.io/nfc/proposals/common/nfc.html#nfctag-interface |
|
7 * |
|
8 * Copyright © 2013 Deutsche Telekom, Inc. |
|
9 */ |
|
10 |
|
11 enum NFCTechType { |
|
12 "NFC_A", |
|
13 "NFC_B", |
|
14 "NFC_ISO_DEP", |
|
15 "NFC_F", |
|
16 "NFC_V", |
|
17 "NDEF", |
|
18 "NDEF_FORMATABLE", |
|
19 "MIFARE_CLASSIC", |
|
20 "MIFARE_ULTRALIGHT", |
|
21 "NFC_BARCODE", |
|
22 "P2P", |
|
23 "UNKNOWN_TECH" |
|
24 }; |
|
25 |
|
26 [JSImplementation="@mozilla.org/nfc/NFCTag;1"] |
|
27 interface MozNFCTag { |
|
28 DOMRequest getDetailsNDEF(); |
|
29 DOMRequest readNDEF(); |
|
30 DOMRequest writeNDEF(sequence<MozNDEFRecord> records); |
|
31 DOMRequest makeReadOnlyNDEF(); |
|
32 |
|
33 DOMRequest connect(NFCTechType techType); |
|
34 DOMRequest close(); |
|
35 }; |
|
36 |
|
37 // Mozilla Only |
|
38 partial interface MozNFCTag { |
|
39 [ChromeOnly] |
|
40 attribute DOMString session; |
|
41 [ChromeOnly] |
|
42 void setSessionToken(DOMString sessionToken); |
|
43 }; |