1// Copyright (c) 2013 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_H_
6#define CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_H_
7
8#include "content/common/content_export.h"
9#include "content/public/browser/location_provider.h"
10
11namespace content {
12
13class CONTENT_EXPORT LocationProviderBase
14    : NON_EXPORTED_BASE(public LocationProvider) {
15 public:
16  LocationProviderBase();
17  virtual ~LocationProviderBase();
18
19 protected:
20  void NotifyCallback(const Geoposition& position);
21
22  // Overridden from LocationProvider:
23  virtual void SetUpdateCallback(
24      const LocationProviderUpdateCallback& callback) OVERRIDE;
25  virtual void RequestRefresh() OVERRIDE;
26
27 private:
28  LocationProviderUpdateCallback callback_;
29
30  DISALLOW_COPY_AND_ASSIGN(LocationProviderBase);
31};
32
33}  // namespace content
34
35#endif  // CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_H_
36