diff options
author | Mathias Agopian <mathias@google.com> | 2010-07-14 23:41:37 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2010-07-19 17:57:29 -0700 |
commit | 1bf797857e025e8a71db86fb9e79765a767ec1eb (patch) | |
tree | e8d1aabae069f2b7368be746b99667eb150363f5 /include | |
parent | ff7049ab2886acc73e145367118646f7741ce333 (diff) | |
download | frameworks_base-1bf797857e025e8a71db86fb9e79765a767ec1eb.zip frameworks_base-1bf797857e025e8a71db86fb9e79765a767ec1eb.tar.gz frameworks_base-1bf797857e025e8a71db86fb9e79765a767ec1eb.tar.bz2 |
new SensorService
remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.
Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
Diffstat (limited to 'include')
-rw-r--r-- | include/gui/ISensorServer.h | 2 | ||||
-rw-r--r-- | include/gui/Sensor.h | 3 | ||||
-rw-r--r-- | include/gui/SensorEventQueue.h | 9 | ||||
-rw-r--r-- | include/gui/SensorManager.h | 6 |
4 files changed, 15 insertions, 5 deletions
diff --git a/include/gui/ISensorServer.h b/include/gui/ISensorServer.h index 3e05076..9c8afc5 100644 --- a/include/gui/ISensorServer.h +++ b/include/gui/ISensorServer.h @@ -36,7 +36,7 @@ class ISensorServer : public IInterface public: DECLARE_META_INTERFACE(SensorServer); - virtual Vector<Sensor> getSensorList()= 0; + virtual Vector<Sensor> getSensorList() = 0; virtual sp<ISensorEventConnection> createSensorEventConnection() = 0; }; diff --git a/include/gui/Sensor.h b/include/gui/Sensor.h index 86a16f1..e696d63 100644 --- a/include/gui/Sensor.h +++ b/include/gui/Sensor.h @@ -51,7 +51,8 @@ public: TYPE_PROXIMITY = ASENSOR_TYPE_PROXIMITY }; - Sensor(); + Sensor(); + Sensor(struct sensor_t const* hwSensor); virtual ~Sensor(); const String8& getName() const; diff --git a/include/gui/SensorEventQueue.h b/include/gui/SensorEventQueue.h index d8d8128..bb03c12 100644 --- a/include/gui/SensorEventQueue.h +++ b/include/gui/SensorEventQueue.h @@ -42,6 +42,7 @@ namespace android { class ISensorEventConnection; class Sensor; +class PollLoop; // ---------------------------------------------------------------------------- @@ -56,13 +57,21 @@ public: ssize_t write(ASensorEvent const* events, size_t numEvents); ssize_t read(ASensorEvent* events, size_t numEvents); + status_t waitForEvent() const; + status_t wake() const; + status_t enableSensor(Sensor const* sensor) const; status_t disableSensor(Sensor const* sensor) const; + status_t enableSensor(int32_t handle) const; + status_t disableSensor(int32_t handle) const; status_t setEventRate(Sensor const* sensor, nsecs_t ns) const; private: + sp<PollLoop> getPollLoop() const; sp<ISensorEventConnection> mSensorEventConnection; sp<SensorChannel> mSensorChannel; + mutable Mutex mLock; + mutable sp<PollLoop> mPollLoop; }; // ---------------------------------------------------------------------------- diff --git a/include/gui/SensorManager.h b/include/gui/SensorManager.h index 0d65334..e1b1a7b 100644 --- a/include/gui/SensorManager.h +++ b/include/gui/SensorManager.h @@ -47,13 +47,13 @@ public: SensorManager(); ~SensorManager(); - ssize_t getSensorList(Sensor**) const; - Sensor* getDefaultSensor(int type); + ssize_t getSensorList(Sensor const* const** list) const; + Sensor const* getDefaultSensor(int type); sp<SensorEventQueue> createEventQueue(); private: sp<ISensorServer> mSensorServer; - Sensor* mSensorList; + Sensor const** mSensorList; Vector<Sensor> mSensors; }; |