Index: device/sensor/sensor_manager.h |
diff --git a/device/sensor/sensor_manager.h b/device/sensor/sensor_manager.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9f82cf94af2b6c9807d815530bc4bc37fd6ca618 |
--- /dev/null |
+++ b/device/sensor/sensor_manager.h |
@@ -0,0 +1,36 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef DEVICE_SENSOR_SENSOR_MANAGER_H_ |
+#define DEVICE_SENSOR_SENSOR_MANAGER_H_ |
+ |
+#include "base/memory/scoped_ptr.h" |
+#include "device/sensor/sensor_service.h" |
+ |
+namespace device { |
+ |
+// Platform specific manager class for fetching sensor data (as of now only |
+// ALS). |
+class SensorManager { |
+ public: |
+ // Creates a SensorManager object. |callback| should be called when the |
+ // ALS reading changes. |
+ static scoped_ptr<SensorManager> Create( |
+ const SensorService::SensorUpdateCallback& callback); |
+ |
+ virtual ~SensorManager() {} |
+ |
+ // Start listening for sensor reading changes. New updates are signalled |
+ // by invoking the callback provided at construction time. |
+ // Note that this is called in the IO thread. |
+ virtual bool StartListeningSensorChange() = 0; |
+ |
+ // Stop listening for sensor reading changes. |
+ // Note that this is called in the IO thread. |
+ virtual void StopListeningSensorChange() = 0; |
+}; |
+ |
+} // namespace device |
+ |
+#endif // DEVICE_SENSOR_SENSOR_MANAGER_H_ |