OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_SENSORS_PROVIDER_H_ | 5 #ifndef CONTENT_BROWSER_SENSORS_PROVIDER_H_ |
6 #define CONTENT_BROWSER_SENSORS_PROVIDER_H_ | 6 #define CONTENT_BROWSER_SENSORS_PROVIDER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
11 #include "content/common/sensors_listener.h" | 11 #include "content/public/browser/sensors_listener.h" |
12 | 12 |
13 // The sensors API will unify various types of sensor data into a set of | 13 // The sensors API will unify various types of sensor data into a set of |
14 // channels, each of which provides change events and periodic updates. | 14 // channels, each of which provides change events and periodic updates. |
15 // | 15 // |
16 // This version of the API is intended only to support the experimental screen | 16 // This version of the API is intended only to support the experimental screen |
17 // rotation code and is not for general use. In particular, the final listener | 17 // rotation code and is not for general use. In particular, the final listener |
18 // will declare generic |OnSensorChanged| and |OnSensorUpdated| methods, rather | 18 // will declare generic |OnSensorChanged| and |OnSensorUpdated| methods, rather |
19 // than the special-purpose |OnScreenOrientationChanged|. | 19 // than the special-purpose |OnScreenOrientationChanged|. |
20 | 20 |
21 namespace sensors { | 21 namespace sensors { |
22 | 22 |
23 // TODO(cwolfe): Finish defining the initial set of channels and replace this | 23 // TODO(cwolfe): Finish defining the initial set of channels and replace this |
24 // with the generic sensor provider. | 24 // with the generic sensor provider. |
25 // | 25 // |
26 class CONTENT_EXPORT Provider { | 26 class CONTENT_EXPORT Provider { |
27 public: | 27 public: |
28 static Provider* GetInstance(); | 28 static Provider* GetInstance(); |
29 | 29 |
30 // Adds a sensor listener. The listener will receive callbacks to indicate | 30 // Adds a sensor listener. The listener will receive callbacks to indicate |
31 // sensor changes and updates until it is removed. | 31 // sensor changes and updates until it is removed. |
32 // | 32 // |
33 // This method may be called in any thread. Callbacks on a listener will | 33 // This method may be called in any thread. Callbacks on a listener will |
34 // always be executed in the thread which added that listener. | 34 // always be executed in the thread which added that listener. |
35 virtual void AddListener(Listener* listener) = 0; | 35 virtual void AddListener(content::SensorsListener* listener) = 0; |
36 | 36 |
37 // Removes a sensor listener. | 37 // Removes a sensor listener. |
38 // | 38 // |
39 // This method must be called in the same thread which added the listener. | 39 // This method must be called in the same thread which added the listener. |
40 // If the listener is not currently subscribed, this method may be called in | 40 // If the listener is not currently subscribed, this method may be called in |
41 // any thread. | 41 // any thread. |
42 virtual void RemoveListener(Listener* listener) = 0; | 42 virtual void RemoveListener(content::SensorsListener* listener) = 0; |
43 | 43 |
44 // Broadcasts a change to the coarse screen orientation. | 44 // Broadcasts a change to the coarse screen orientation. |
45 // | 45 // |
46 // This method may be called in any thread. | 46 // This method may be called in any thread. |
47 virtual void ScreenOrientationChanged(const ScreenOrientation& change) = 0; | 47 virtual void ScreenOrientationChanged( |
| 48 content::ScreenOrientation change) = 0; |
48 | 49 |
49 protected: | 50 protected: |
50 Provider(); | 51 Provider(); |
51 virtual ~Provider(); | 52 virtual ~Provider(); |
52 | 53 |
53 DISALLOW_COPY_AND_ASSIGN(Provider); | 54 DISALLOW_COPY_AND_ASSIGN(Provider); |
54 }; | 55 }; |
55 | 56 |
56 } // namespace sensors | 57 } // namespace sensors |
57 | 58 |
58 #endif // CONTENT_BROWSER_SENSORS_PROVIDER_H_ | 59 #endif // CONTENT_BROWSER_SENSORS_PROVIDER_H_ |
OLD | NEW |