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/sensors_listener.h" | 11 #include "content/common/sensors_listener.h" |
11 | 12 |
12 // 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 |
13 // channels, each of which provides change events and periodic updates. | 14 // channels, each of which provides change events and periodic updates. |
14 // | 15 // |
15 // 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 |
16 // 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 |
17 // will declare generic |OnSensorChanged| and |OnSensorUpdated| methods, rather | 18 // will declare generic |OnSensorChanged| and |OnSensorUpdated| methods, rather |
18 // than the special-purpose |OnScreenOrientationChanged|. | 19 // than the special-purpose |OnScreenOrientationChanged|. |
19 | 20 |
20 namespace sensors { | 21 namespace sensors { |
21 | 22 |
22 // 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 |
23 // with the generic sensor provider. | 24 // with the generic sensor provider. |
24 // | 25 // |
25 class Provider { | 26 class CONTENT_EXPORT Provider { |
26 public: | 27 public: |
27 static Provider* GetInstance(); | 28 static Provider* GetInstance(); |
28 | 29 |
29 // Adds a sensor listener. The listener will receive callbacks to indicate | 30 // Adds a sensor listener. The listener will receive callbacks to indicate |
30 // sensor changes and updates until it is removed. | 31 // sensor changes and updates until it is removed. |
31 // | 32 // |
32 // 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 |
33 // always be executed in the thread which added that listener. | 34 // always be executed in the thread which added that listener. |
34 virtual void AddListener(Listener* listener) = 0; | 35 virtual void AddListener(Listener* listener) = 0; |
35 | 36 |
(...skipping 12 matching lines...) Expand all Loading... |
48 protected: | 49 protected: |
49 Provider(); | 50 Provider(); |
50 virtual ~Provider(); | 51 virtual ~Provider(); |
51 | 52 |
52 DISALLOW_COPY_AND_ASSIGN(Provider); | 53 DISALLOW_COPY_AND_ASSIGN(Provider); |
53 }; | 54 }; |
54 | 55 |
55 } // namespace sensors | 56 } // namespace sensors |
56 | 57 |
57 #endif // CONTENT_BROWSER_SENSORS_PROVIDER_H_ | 58 #endif // CONTENT_BROWSER_SENSORS_PROVIDER_H_ |
OLD | NEW |