fake_location_provider.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright (c) 2018 GitHub, Inc.
  2. // Use of this source code is governed by the MIT license that can be
  3. // found in the LICENSE file.
  4. #ifndef ELECTRON_SHELL_BROWSER_FAKE_LOCATION_PROVIDER_H_
  5. #define ELECTRON_SHELL_BROWSER_FAKE_LOCATION_PROVIDER_H_
  6. #include "services/device/public/cpp/geolocation/location_provider.h"
  7. #include "services/device/public/mojom/geoposition.mojom.h"
  8. namespace electron {
  9. class FakeLocationProvider : public device::LocationProvider {
  10. public:
  11. FakeLocationProvider();
  12. ~FakeLocationProvider() override;
  13. // disable copy
  14. FakeLocationProvider(const FakeLocationProvider&) = delete;
  15. FakeLocationProvider& operator=(const FakeLocationProvider&) = delete;
  16. // LocationProvider Implementation:
  17. void SetUpdateCallback(
  18. const LocationProviderUpdateCallback& callback) override;
  19. void StartProvider(bool high_accuracy) override;
  20. void StopProvider() override;
  21. const device::mojom::Geoposition& GetPosition() override;
  22. void OnPermissionGranted() override;
  23. private:
  24. device::mojom::Geoposition position_;
  25. LocationProviderUpdateCallback callback_;
  26. };
  27. } // namespace electron
  28. #endif // ELECTRON_SHELL_BROWSER_FAKE_LOCATION_PROVIDER_H_