OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_BROWSER_GEOLOCATION_LOCATION_ARBITRATOR_H_ | 5 #ifndef DEVICE_GEOLOCATION_LOCATION_ARBITRATOR_H_ |
6 #define CONTENT_BROWSER_GEOLOCATION_LOCATION_ARBITRATOR_H_ | 6 #define DEVICE_GEOLOCATION_LOCATION_ARBITRATOR_H_ |
7 | 7 |
8 #include "content/common/content_export.h" | 8 #include "device/geolocation/geolocation_export.h" |
9 | 9 |
10 namespace content { | 10 namespace device { |
11 | 11 |
12 // This class is responsible for handling updates from multiple underlying | 12 // This class is responsible for handling updates from multiple underlying |
13 // providers and resolving them to a single 'best' location fix at any given | 13 // providers and resolving them to a single 'best' location fix at any given |
14 // moment. | 14 // moment. |
15 class CONTENT_EXPORT LocationArbitrator { | 15 class DEVICE_GEOLOCATION_EXPORT LocationArbitrator { |
16 public: | 16 public: |
17 virtual ~LocationArbitrator() {}; | 17 virtual ~LocationArbitrator() {}; |
18 | 18 |
19 // See more details in geolocation_provider. | 19 // See more details in geolocation_provider. |
20 virtual void StartProviders(bool enable_high_accuracy) = 0; | 20 virtual void StartProviders(bool enable_high_accuracy) = 0; |
21 virtual void StopProviders() = 0; | 21 virtual void StopProviders() = 0; |
22 | 22 |
23 // Called everytime permission is granted to a page for using geolocation. | 23 // Called everytime permission is granted to a page for using geolocation. |
24 // This may either be through explicit user action (e.g. responding to the | 24 // This may either be through explicit user action (e.g. responding to the |
25 // infobar prompt) or inferred from a persisted site permission. | 25 // infobar prompt) or inferred from a persisted site permission. |
26 // The arbitrator will inform all providers of this, which may in turn use | 26 // The arbitrator will inform all providers of this, which may in turn use |
27 // this information to modify their internal policy. | 27 // this information to modify their internal policy. |
28 virtual void OnPermissionGranted() = 0; | 28 virtual void OnPermissionGranted() = 0; |
29 | 29 |
30 // Returns true if this arbitrator has received at least one call to | 30 // Returns true if this arbitrator has received at least one call to |
31 // OnPermissionGranted(). | 31 // OnPermissionGranted(). |
32 virtual bool HasPermissionBeenGranted() const = 0; | 32 virtual bool HasPermissionBeenGranted() const = 0; |
33 }; | 33 }; |
34 | 34 |
35 } // namespace content | 35 } // namespace device |
36 | 36 |
37 #endif // CONTENT_BROWSER_GEOLOCATION_LOCATION_ARBITRATOR_H_ | 37 #endif // DEVICE_GEOLOCATION_LOCATION_ARBITRATOR_H_ |
OLD | NEW |