27. mutablesp<ISensorServer>mSensorServer;//SensorService 客户端rr
28. mutableSensorconst**mSensorList;//sensor 列表rr
29. mutableVector<Sensor>mSensors;//sensor 列表rr
30. mutablesp<IBinder::DeathRecipient>mDeathObserver;
31. }
[cpp]view plaincopy
1. classISensorEventConnection:publicIInterface
2. {
3. public:
4. DECLARE_META_INTERFACE(SensorEventConnection);
5.
6. virtualsp<SensorChannel>getSensorChannel()const=0;
7. virtualstatus_tenableDisable(inthandle,boolenabled)=0;
8. virtualstatus_tsetEventRate(inthandle,nsecs_tns)=0;
9. };
2.4 SensorService.cpp
SensorService 作为一个轻量级的 system service,它运行于 SystemServer 内,即在
system_init<system_init.cpp>调用 SensorService::instantiate();
SensorService 主要功能如下:
1) SensorService::instantiate 创建实例对象,并增加到 ServiceManager 中,且创建并启动线程,并执行
threadLoop
2) threadLoop 从 sensor 驱动获取原始数据,然后通过 SensorEventConnection 把事件发送给客户端
3) BnSensorServer 的成员函数负责让客户端获取 sensor 列表和创建 SensorEventConnection
SensorService 与客户端的接口定义如下:
[cpp]view plaincopy
1. classISensorServer:publicIInterface
2. {
3. public:
4. DECLARE_META_INTERFACE(SensorServer);
5.
6. virtualVector<Sensor>getSensorList()=0;
7. virtualsp<ISensorEventConnection>createSensorEventConnection()=0;
8. };
SensorService 定义如下:
评论0
最新资源