// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // A wifi data provider provides wifi data from the device that is used by a // NetworkLocationProvider to obtain a position fix. We use a singleton // instance of the wifi data provider manager, which is used by multiple // NetworkLocationProvider objects. // // This file provides WifiDataProviderHandle, which provides static methods to // access the singleton instance. The singleton instance uses a private // implementation of WifiDataProvider to abstract across platforms and also to // allow mock providers to be used for testing. #ifndef SERVICES_DEVICE_GEOLOCATION_WIFI_DATA_PROVIDER_HANDLE_H_ #define SERVICES_DEVICE_GEOLOCATION_WIFI_DATA_PROVIDER_HANDLE_H_ #include "base/functional/bind.h" #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" #include "base/memory/scoped_refptr.h" #include "base/strings/string_util.h" #include "services/device/geolocation/wifi_data.h" namespace device { class WifiDataProvider; // A handle for using wifi data providers. // // We use a singleton instance of WifiDataProvider which is shared by multiple // network location providers. class WifiDataProviderHandle { … }; } // namespace device #endif // SERVICES_DEVICE_GEOLOCATION_WIFI_DATA_PROVIDER_HANDLE_H_