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 : public PhysicalWebDataSourceImpl { |
21 public: | 21 public: |
22 IOSChromePhysicalWebDataSource(); | 22 IOSChromePhysicalWebDataSource(); |
23 ~IOSChromePhysicalWebDataSource() override; | 23 ~IOSChromePhysicalWebDataSource() override; |
24 | 24 |
25 // Starts scanning for Physical Web URLs. If |network_request_enabled| is | 25 // Starts scanning for Physical Web URLs. If |network_request_enabled| is |
26 // true, discovered URLs will be sent to a resolution service. | 26 // true, discovered URLs will be sent to a resolution service. |
27 void StartDiscovery(bool network_request_enabled) override; | 27 void StartDiscovery(bool network_request_enabled) override; |
28 | 28 |
29 // Stops scanning for Physical Web URLs and clears cached URL content. | 29 // Stops scanning for Physical Web URLs and clears cached URL content. |
30 void StopDiscovery() override; | 30 void StopDiscovery() override; |
31 | 31 |
32 // Returns a list of resolved URLs and associated page metadata. If network | 32 // Returns a list of resolved URLs and associated page metadata. If network |
33 // requests are disabled, the list will be empty. | 33 // requests are disabled, the list will be empty. |
34 std::unique_ptr<base::ListValue> GetMetadata() override; | 34 std::unique_ptr<base::ListValue> GetMetadata() override; |
35 | 35 |
36 // Returns boolean |true| if network requests are disabled and there are one | 36 // 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. | 37 // or more discovered URLs that have not been sent to the resolution service. |
38 bool HasUnresolvedDiscoveries() override; | 38 bool HasUnresolvedDiscoveries() override; |
39 | 39 |
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: | 40 private: |
47 // Scanner for nearby Physical Web URL devices. | 41 // Scanner for nearby Physical Web URL devices. |
48 base::scoped_nsobject<PhysicalWebScanner> scanner_; | 42 base::scoped_nsobject<PhysicalWebScanner> scanner_; |
49 | 43 |
50 DISALLOW_COPY_AND_ASSIGN(IOSChromePhysicalWebDataSource); | 44 DISALLOW_COPY_AND_ASSIGN(IOSChromePhysicalWebDataSource); |
51 }; | 45 }; |
52 | 46 |
53 #endif // IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ | 47 #endif // IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ |
OLD | NEW |