#ifndef SERVICES_DEVICE_GEOLOCATION_MOCK_WIFI_DATA_PROVIDER_H_
#define SERVICES_DEVICE_GEOLOCATION_MOCK_WIFI_DATA_PROVIDER_H_
#include "base/memory/weak_ptr.h"
#include "services/device/geolocation/wifi_data.h"
#include "services/device/geolocation/wifi_data_provider.h"
namespace device {
class MockWifiDataProvider : public WifiDataProvider {
public:
static WifiDataProvider* GetInstance();
static MockWifiDataProvider* CreateInstance();
MockWifiDataProvider();
MockWifiDataProvider(const MockWifiDataProvider&) = delete;
MockWifiDataProvider& operator=(const MockWifiDataProvider&) = delete;
void StartDataProvider() override;
void StopDataProvider() override;
bool DelayedByPolicy() override;
bool GetData(WifiData* data_out) override;
void ForceRescan() override;
void SetData(const WifiData& new_data);
void set_got_data(bool got_data) { got_data_ = got_data; }
private:
~MockWifiDataProvider() override;
static MockWifiDataProvider* instance_;
WifiData data_;
bool got_data_ = true;
base::WeakPtrFactory<MockWifiDataProvider> weak_factory_{this};
};
}
#endif