| // Copyright (c) 2010 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 "device/geolocation/wifi_data_provider_mac.h" |
| |
| #include "device/geolocation/wifi_data_provider_common.h" |
| #include "device/geolocation/wifi_data_provider_manager.h" |
| |
| namespace device { |
| namespace { |
| // The time periods, in milliseconds, between successive polls of the wifi data. |
| const int kDefaultPollingInterval = 120000; // 2 mins |
| const int kNoChangePollingInterval = 300000; // 5 mins |
| const int kTwoNoChangePollingInterval = 600000; // 10 mins |
| const int kNoWifiPollingIntervalMilliseconds = 20 * 1000; // 20s |
| } // namespace |
| |
| // static |
| WifiDataProvider* WifiDataProviderManager::DefaultFactoryFunction() { |
| return new WifiDataProviderMac(); |
| } |
| |
| WifiDataProviderMac::WifiDataProviderMac() {} |
| |
| WifiDataProviderMac::~WifiDataProviderMac() {} |
| |
| WifiDataProviderMac::WlanApiInterface* WifiDataProviderMac::NewWlanApi() { |
| WifiDataProviderMac::WlanApiInterface* core_wlan_api = NewCoreWlanApi(); |
| if (core_wlan_api) |
| return core_wlan_api; |
| |
| DVLOG(1) << "WifiDataProviderMac : failed to initialize any wlan api"; |
| return NULL; |
| } |
| |
| WifiPollingPolicy* WifiDataProviderMac::NewPollingPolicy() { |
| return new GenericWifiPollingPolicy< |
| kDefaultPollingInterval, kNoChangePollingInterval, |
| kTwoNoChangePollingInterval, kNoWifiPollingIntervalMilliseconds>; |
| } |
| |
| } // namespace device |