Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Unified Diff: content/browser/geolocation/wifi_data_provider_manager.cc

Issue 2192683002: Reland 2:Geolocation: move from content/browser to device/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ignore size_t_to_int truncation warning Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/geolocation/wifi_data_provider_manager.cc
diff --git a/content/browser/geolocation/wifi_data_provider_manager.cc b/content/browser/geolocation/wifi_data_provider_manager.cc
deleted file mode 100644
index cf53657e53a61ba13ffbac13d8307ac6e6761c82..0000000000000000000000000000000000000000
--- a/content/browser/geolocation/wifi_data_provider_manager.cc
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2014 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.
-
-#include "content/browser/geolocation/wifi_data_provider_manager.h"
-
-#include "content/browser/geolocation/wifi_data_provider.h"
-
-namespace content {
-
-// static
-WifiDataProviderManager* WifiDataProviderManager::instance_ = NULL;
-
-// static
-WifiDataProviderManager::ImplFactoryFunction
- WifiDataProviderManager::factory_function_ = DefaultFactoryFunction;
-
-// static
-void WifiDataProviderManager::SetFactoryForTesting(
- ImplFactoryFunction factory_function_in) {
- factory_function_ = factory_function_in;
-}
-
-// static
-void WifiDataProviderManager::ResetFactoryForTesting() {
- factory_function_ = DefaultFactoryFunction;
-}
-
-// static
-WifiDataProviderManager* WifiDataProviderManager::Register(
- WifiDataUpdateCallback* callback) {
- bool need_to_start_data_provider = false;
- if (!instance_) {
- instance_ = new WifiDataProviderManager();
- need_to_start_data_provider = true;
- }
- DCHECK(instance_);
- instance_->AddCallback(callback);
- // Start the provider after adding the callback, to avoid any race in
- // it running early.
- if (need_to_start_data_provider)
- instance_->StartDataProvider();
- return instance_;
-}
-
-// static
-bool WifiDataProviderManager::Unregister(WifiDataUpdateCallback* callback) {
- DCHECK(instance_);
- DCHECK(instance_->has_callbacks());
- if (!instance_->RemoveCallback(callback)) {
- return false;
- }
- if (!instance_->has_callbacks()) {
- // Must stop the data provider (and any implementation threads) before
- // destroying to avoid any race conditions in access to the provider in
- // the destructor chain.
- instance_->StopDataProvider();
- delete instance_;
- instance_ = NULL;
- }
- return true;
-}
-
-WifiDataProviderManager::WifiDataProviderManager() {
- DCHECK(factory_function_);
- impl_ = (*factory_function_)();
- DCHECK(impl_.get());
-}
-
-WifiDataProviderManager::~WifiDataProviderManager() {
- DCHECK(impl_.get());
-}
-
-bool WifiDataProviderManager::GetData(WifiData* data) {
- return impl_->GetData(data);
-}
-
-void WifiDataProviderManager::AddCallback(WifiDataUpdateCallback* callback) {
- impl_->AddCallback(callback);
-}
-
-bool WifiDataProviderManager::RemoveCallback(WifiDataUpdateCallback* callback) {
- return impl_->RemoveCallback(callback);
-}
-
-bool WifiDataProviderManager::has_callbacks() const {
- return impl_->has_callbacks();
-}
-
-void WifiDataProviderManager::StartDataProvider() {
- impl_->StartDataProvider();
-}
-
-void WifiDataProviderManager::StopDataProvider() {
- impl_->StopDataProvider();
-}
-
-} // namespace content
« no previous file with comments | « content/browser/geolocation/wifi_data_provider_manager.h ('k') | content/browser/geolocation/wifi_data_provider_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698