location_provider_android.h revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_ANDROID_H_ 6#define CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_ANDROID_H_ 7 8#include "base/compiler_specific.h" 9#include "content/browser/geolocation/location_provider_base.h" 10#include "content/public/common/geoposition.h" 11 12namespace content { 13class AndroidLocationApiAdapter; 14struct Geoposition; 15 16// Location provider for Android using the platform provider over JNI. 17class LocationProviderAndroid : public LocationProviderBase { 18 public: 19 LocationProviderAndroid(); 20 virtual ~LocationProviderAndroid(); 21 22 // Called by the AndroidLocationApiAdapter. 23 void NotifyNewGeoposition(const Geoposition& position); 24 25 // LocationProvider. 26 virtual bool StartProvider(bool high_accuracy) OVERRIDE; 27 virtual void StopProvider() OVERRIDE; 28 virtual void GetPosition(Geoposition* position) OVERRIDE; 29 virtual void RequestRefresh() OVERRIDE; 30 virtual void OnPermissionGranted() OVERRIDE; 31 32 private: 33 Geoposition last_position_; 34}; 35 36} // namespace content 37 38#endif // CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_ANDROID_H_ 39