OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ | 5 #ifndef IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ |
6 #define IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ | 6 #define IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #import "base/mac/scoped_nsobject.h" | 9 #import "base/mac/scoped_nsobject.h" |
10 #include "components/physical_web/data_source/physical_web_data_source.h" | 10 #include "components/physical_web/data_source/physical_web_data_source_impl.h" |
11 | 11 |
12 namespace base { | 12 namespace base { |
13 class ListValue; | 13 class ListValue; |
14 } | 14 } |
15 class PhysicalWebListener; | 15 class PhysicalWebListener; |
16 | 16 |
17 @class PhysicalWebScanner; | 17 @class PhysicalWebScanner; |
18 | 18 |
19 // iOS implementation of PhysicalWebDataSource | 19 // iOS implementation of PhysicalWebDataSource |
20 class IOSChromePhysicalWebDataSource : public PhysicalWebDataSource { | 20 class IOSChromePhysicalWebDataSource |
21 : public PhysicalWebDataSourceWithListener { | |
cco3
2016/09/20 22:11:33
Update
hayesjordan
2016/09/20 22:21:47
Done.
| |
21 public: | 22 public: |
22 IOSChromePhysicalWebDataSource(); | 23 IOSChromePhysicalWebDataSource(); |
23 ~IOSChromePhysicalWebDataSource() override; | 24 ~IOSChromePhysicalWebDataSource() override; |
24 | 25 |
25 // Starts scanning for Physical Web URLs. If |network_request_enabled| is | 26 // Starts scanning for Physical Web URLs. If |network_request_enabled| is |
26 // true, discovered URLs will be sent to a resolution service. | 27 // true, discovered URLs will be sent to a resolution service. |
27 void StartDiscovery(bool network_request_enabled) override; | 28 void StartDiscovery(bool network_request_enabled) override; |
28 | 29 |
29 // Stops scanning for Physical Web URLs and clears cached URL content. | 30 // Stops scanning for Physical Web URLs and clears cached URL content. |
30 void StopDiscovery() override; | 31 void StopDiscovery() override; |
31 | 32 |
32 // Returns a list of resolved URLs and associated page metadata. If network | 33 // Returns a list of resolved URLs and associated page metadata. If network |
33 // requests are disabled, the list will be empty. | 34 // requests are disabled, the list will be empty. |
34 std::unique_ptr<base::ListValue> GetMetadata() override; | 35 std::unique_ptr<base::ListValue> GetMetadata() override; |
35 | 36 |
36 // Returns boolean |true| if network requests are disabled and there are one | 37 // Returns boolean |true| if network requests are disabled and there are one |
37 // or more discovered URLs that have not been sent to the resolution service. | 38 // or more discovered URLs that have not been sent to the resolution service. |
38 bool HasUnresolvedDiscoveries() override; | 39 bool HasUnresolvedDiscoveries() override; |
39 | 40 |
40 // Register for changes to Physical Web URLs and associated page metadata. | |
41 void RegisterListener(PhysicalWebListener* physical_web_listener) override; | |
42 | |
43 // Unregister for changes to Physical Web URLs and associated page metadata. | |
44 void UnregisterListener(PhysicalWebListener* physical_web_listener) override; | |
45 | |
46 private: | 41 private: |
47 // Scanner for nearby Physical Web URL devices. | 42 // Scanner for nearby Physical Web URL devices. |
48 base::scoped_nsobject<PhysicalWebScanner> scanner_; | 43 base::scoped_nsobject<PhysicalWebScanner> scanner_; |
49 | 44 |
50 DISALLOW_COPY_AND_ASSIGN(IOSChromePhysicalWebDataSource); | 45 DISALLOW_COPY_AND_ASSIGN(IOSChromePhysicalWebDataSource); |
51 }; | 46 }; |
52 | 47 |
53 #endif // IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ | 48 #endif // IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ |
OLD | NEW |