17d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
27d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
37d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// found in the LICENSE file.
47d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
57d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#ifndef CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_H_
67d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#define CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_H_
77d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
87d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "content/common/content_export.h"
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "content/public/browser/location_provider.h"
107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)namespace content {
127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)class CONTENT_EXPORT LocationProviderBase
147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    : NON_EXPORTED_BASE(public LocationProvider) {
157d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) public:
167d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  LocationProviderBase();
177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  virtual ~LocationProviderBase();
187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) protected:
207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  void NotifyCallback(const Geoposition& position);
217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  // Overridden from LocationProvider:
237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  virtual void SetUpdateCallback(
247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)      const LocationProviderUpdateCallback& callback) OVERRIDE;
257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  virtual void RequestRefresh() OVERRIDE;
267d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) private:
287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  LocationProviderUpdateCallback callback_;
297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(LocationProviderBase);
317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)};
327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
337d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}  // namespace content
347d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#endif  // CONTENT_BROWSER_GEOLOCATION_LOCATION_PROVIDER_H_
36