OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 module device; | 5 module device.nfc; |
6 | 6 |
7 enum NFCErrorType { | 7 enum NFCErrorType { |
8 SECURITY, | 8 SECURITY, |
9 NOT_SUPPORTED, | 9 NOT_SUPPORTED, |
10 DEVICE_DISABLED, | 10 DEVICE_DISABLED, |
11 NOT_FOUND, | 11 NOT_FOUND, |
12 INVALID_MESSAGE, | 12 INVALID_MESSAGE, |
13 OPERATION_CANCELLED, | 13 OPERATION_CANCELLED, |
14 TIMER_EXPIRED, | 14 TIMER_EXPIRED, |
15 CANNOT_CANCEL, | 15 CANNOT_CANCEL, |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 }; | 61 }; |
62 | 62 |
63 struct NFCWatchOptions { | 63 struct NFCWatchOptions { |
64 string? url; | 64 string? url; |
65 NFCRecordTypeFilter? recordFilter; | 65 NFCRecordTypeFilter? recordFilter; |
66 string? mediaType; | 66 string? mediaType; |
67 NFCWatchMode mode; | 67 NFCWatchMode mode; |
68 }; | 68 }; |
69 | 69 |
70 interface NFC { | 70 interface NFC { |
| 71 // NFCClient interface is used to notify |client| when NFCMessage matches one |
| 72 // or more pending watch operations. |
71 SetClient(NFCClient client); | 73 SetClient(NFCClient client); |
| 74 |
| 75 // Pushes data to NFC device. |
| 76 // NFCPushOptions specify timeout and type of device where data should be |
| 77 // pushed. If timeout is defined and data is not pushed before timeout is |
| 78 // expired, callback with corresponding error is called. |
72 Push(NFCMessage message, NFCPushOptions? options) => (NFCError? error); | 79 Push(NFCMessage message, NFCPushOptions? options) => (NFCError? error); |
| 80 |
| 81 // Cancels pending push request. |
73 CancelPush(NFCPushTarget target) => (NFCError? error); | 82 CancelPush(NFCPushTarget target) => (NFCError? error); |
| 83 |
| 84 // Starts watching for nearby NFC devices with data that matches |
| 85 // NFCWatchOptions filtering criteria. On success, watch ID is returned. |
74 Watch(NFCWatchOptions options) => (uint32 id, NFCError? error); | 86 Watch(NFCWatchOptions options) => (uint32 id, NFCError? error); |
| 87 |
| 88 // Cancels watch operation with provided id. |
75 CancelWatch (uint32 id) => (NFCError? error); | 89 CancelWatch (uint32 id) => (NFCError? error); |
| 90 |
| 91 // Cancels all watch operations. |
76 CancelAllWatches () => (NFCError? error); | 92 CancelAllWatches () => (NFCError? error); |
| 93 |
| 94 // Suspends all pending NFC operations. Could be used when web page |
| 95 // visibility or focus is lost. |
77 SuspendNFCOperations(); | 96 SuspendNFCOperations(); |
| 97 |
| 98 // Resumes all suspended NFC operations. |
78 ResumeNFCOperations(); | 99 ResumeNFCOperations(); |
79 }; | 100 }; |
80 | 101 |
81 interface NFCClient { | 102 interface NFCClient { |
82 OnWatch(uint32 id, NFCMessage message); | 103 OnWatch(array<uint32> watchIDs, NFCMessage message); |
83 }; | 104 }; |
OLD | NEW |