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_BROWSER_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_BROWSER_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ |
mattreynolds
2016/11/04 00:28:53
The data source implementation shouldn't be in ios
| |
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_impl.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 class PrefService; | |
16 | 17 |
17 @class PhysicalWebScanner; | 18 @class PhysicalWebScanner; |
19 @class PhysicalWebInitialStateRecorder; | |
18 | 20 |
19 // iOS implementation of PhysicalWebDataSource | 21 // iOS implementation of PhysicalWebDataSource |
20 class IOSChromePhysicalWebDataSource : public PhysicalWebDataSourceImpl { | 22 class IOSChromePhysicalWebDataSource : public PhysicalWebDataSourceImpl { |
21 public: | 23 public: |
22 IOSChromePhysicalWebDataSource(); | 24 IOSChromePhysicalWebDataSource(); |
23 ~IOSChromePhysicalWebDataSource() override; | 25 ~IOSChromePhysicalWebDataSource() override; |
24 | 26 |
25 // Starts scanning for Physical Web URLs. If |network_request_enabled| is | 27 // Starts scanning for Physical Web URLs. If |network_request_enabled| is |
26 // true, discovered URLs will be sent to a resolution service. | 28 // true, discovered URLs will be sent to a resolution service. |
27 void StartDiscovery(bool network_request_enabled) override; | 29 void StartDiscovery(bool network_request_enabled) override; |
28 | 30 |
29 // Stops scanning for Physical Web URLs and clears cached URL content. | 31 // Stops scanning for Physical Web URLs and clears cached URL content. |
30 void StopDiscovery() override; | 32 void StopDiscovery() override; |
31 | 33 |
32 // Returns a list of resolved URLs and associated page metadata. If network | 34 // Returns a list of resolved URLs and associated page metadata. If network |
33 // requests are disabled, the list will be empty. | 35 // requests are disabled, the list will be empty. |
34 std::unique_ptr<base::ListValue> GetMetadata() override; | 36 std::unique_ptr<base::ListValue> GetMetadata() override; |
35 | 37 |
36 // Returns boolean |true| if network requests are disabled and there are one | 38 // 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. | 39 // or more discovered URLs that have not been sent to the resolution service. |
38 bool HasUnresolvedDiscoveries() override; | 40 bool HasUnresolvedDiscoveries() override; |
39 | 41 |
42 // Records the initial state of settings relevant to the Physical Web feature. | |
43 void RecordInitialState(PrefService* prefService); | |
44 | |
40 private: | 45 private: |
41 // Scanner for nearby Physical Web URL devices. | 46 // Scanner for nearby Physical Web URL devices. |
42 base::scoped_nsobject<PhysicalWebScanner> scanner_; | 47 base::scoped_nsobject<PhysicalWebScanner> scanner_; |
43 | 48 |
49 // Utility for fetching initial application state for logging purposes. | |
50 base::scoped_nsobject<PhysicalWebInitialStateRecorder> initialStateRecorder_; | |
51 | |
44 DISALLOW_COPY_AND_ASSIGN(IOSChromePhysicalWebDataSource); | 52 DISALLOW_COPY_AND_ASSIGN(IOSChromePhysicalWebDataSource); |
45 }; | 53 }; |
46 | 54 |
47 #endif // IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ | 55 #endif // IOS_CHROME_COMMON_PHYSICAL_WEB_IOS_CHROME_PHYSICAL_WEB_DATA_SOURCE_H_ |
OLD | NEW |