| Index: content/browser/geolocation/wifi_data_provider_chromeos.h
|
| diff --git a/content/browser/geolocation/wifi_data_provider_chromeos.h b/content/browser/geolocation/wifi_data_provider_chromeos.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..df74768fa49891bff63cd8f8c012d59b1adacfd6
|
| --- /dev/null
|
| +++ b/content/browser/geolocation/wifi_data_provider_chromeos.h
|
| @@ -0,0 +1,67 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_CHROMEOS_H_
|
| +#define CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_CHROMEOS_H_
|
| +
|
| +#include <memory>
|
| +
|
| +#include "base/compiler_specific.h"
|
| +#include "base/macros.h"
|
| +#include "content/browser/geolocation/wifi_data_provider.h"
|
| +#include "content/browser/geolocation/wifi_polling_policy.h"
|
| +
|
| +namespace content {
|
| +
|
| +class CONTENT_EXPORT WifiDataProviderChromeOs : public WifiDataProvider {
|
| + public:
|
| + WifiDataProviderChromeOs();
|
| +
|
| + // WifiDataProvider
|
| + void StartDataProvider() override;
|
| + void StopDataProvider() override;
|
| + bool GetData(WifiData* data) override;
|
| +
|
| + private:
|
| + friend class GeolocationChromeOsWifiDataProviderTest;
|
| + ~WifiDataProviderChromeOs() override;
|
| +
|
| + // UI thread
|
| + void DoWifiScanTaskOnUIThread(); // The polling task
|
| + void DoStartTaskOnUIThread();
|
| +
|
| + // Client thread
|
| + void DidWifiScanTaskNoResults();
|
| + void DidWifiScanTask(const WifiData& new_data);
|
| +
|
| + // Will schedule a scan; i.e. enqueue DoWifiScanTask deferred task.
|
| + void ScheduleNextScan(int interval);
|
| +
|
| + // Will schedule starting of the scanning process.
|
| + void ScheduleStart();
|
| +
|
| + // Will schedule stopping of the scanning process.
|
| + void ScheduleStop();
|
| +
|
| + // Get access point data from chromeos.
|
| + bool GetAccessPointData(WifiData::AccessPointDataSet* data);
|
| +
|
| + // Controls the polling update interval. (client thread)
|
| + std::unique_ptr<WifiPollingPolicy> polling_policy_;
|
| +
|
| + // The latest wifi data. (client thread)
|
| + WifiData wifi_data_;
|
| +
|
| + // Whether we have strated the data provider. (client thread)
|
| + bool started_;
|
| +
|
| + // Whether we've successfully completed a scan for WiFi data. (client thread)
|
| + bool is_first_scan_complete_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(WifiDataProviderChromeOs);
|
| +};
|
| +
|
| +} // namespace content
|
| +
|
| +#endif // CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_CHROMEOS_H_
|
|
|