OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef WebNFCWatchOptions_h | |
6 #define WebNFCWatchOptions_h | |
7 | |
8 #include "public/platform/WebString.h" | |
9 | |
10 namespace blink { | |
11 | |
12 enum class WebNFCRecordType; | |
13 | |
14 // Enumeration that is mapped to NFCWatchMode as specified in IDL. | |
15 enum class WebNFCWatchMode { | |
16 WebNFCOnly, | |
17 Any, | |
18 ENUM_MAX_VALUE = Any | |
19 }; | |
20 | |
21 // Helper wrapper that is used to represent filter for all types of NFC records. | |
22 class WebNFCRecordTypeFilter final { | |
23 public: | |
24 WebNFCRecordTypeFilter() : m_matchAnyRecord(true) { } | |
25 explicit WebNFCRecordTypeFilter(const WebNFCRecordType& recordType) : | |
26 m_matchAnyRecord(false), m_recordType(recordType) { } | |
27 | |
28 bool matchAnyRecord() const { return m_matchAnyRecord; } | |
29 WebNFCRecordType recordType() const { return m_recordType; } | |
30 | |
31 private: | |
32 bool m_matchAnyRecord; | |
33 WebNFCRecordType m_recordType; | |
34 }; | |
35 | |
36 // Contains members of NFCWatchOptions dictionary as specified in the IDL. | |
37 struct WebNFCWatchOptions { | |
38 WebNFCWatchOptions(const WebString& url = "", const WebNFCRecordTypeFilter&
recordFilter = WebNFCRecordTypeFilter(), | |
39 const WebString& mediaType = "", const WebNFCWatchMode& mode = WebNFCWat
chMode::WebNFCOnly) | |
40 : url(url) | |
41 , recordFilter(recordFilter) | |
42 , mediaType(mediaType) | |
43 , mode(mode) | |
44 { | |
45 } | |
46 | |
47 WebString url; | |
48 WebNFCRecordTypeFilter recordFilter; | |
49 WebString mediaType; | |
50 WebNFCWatchMode mode; | |
51 }; | |
52 | |
53 } // namespace blink | |
54 | |
55 #endif // WebNFCWatchOptions_h | |
OLD | NEW |