#define SENSOR_EVENT(type) ((type) << 16 | 0x1)
+bool sensor_adapter::is_batch_mode = false;
+
bool sensor_adapter::is_supported(sensor_type_t type)
{
sensor_t sensor;
{
int err;
int count;
- sensor_t *sensors;
+ sensor_t *sensors = NULL;
err = sensord_get_sensors(info.type, &sensors, &count);
ASSERT_EQ(err, 0);
handle = sensord_connect(sensors[info.index]);
+ ASSERT_FREE((handle < 0), sensors);
ASSERT_GE(handle, 0);
+ free(sensors);
+ sensors = NULL;
+
return true;
}
ASSERT_FREE((handle < 0), sensors);
ASSERT_GE(handle, 0);
- ret = sensord_register_event(handle, SENSOR_EVENT(info.type), info.interval, info.batch_latency, info.cb, NULL);
- ASSERT_FREE((ret != true), sensors);
+ if (is_batch_mode) {
+ ret = sensord_register_events(handle, SENSOR_EVENT(info.type), info.batch_latency, info.events_cb, NULL);
+ } else {
+ ret = sensord_register_event(handle, SENSOR_EVENT(info.type), info.interval, info.batch_latency, info.cb, NULL);
+ }
ASSERT_TRUE(ret);
ret = sensord_start(handle, info.powersave);
ret = sensord_stop(handle);
EXPECT_TRUE(ret);
- ret = sensord_unregister_event(handle, SENSOR_EVENT(info.type));
+ if (is_batch_mode) {
+ ret = sensord_unregister_events(handle, SENSOR_EVENT(info.type));
+ } else {
+ ret = sensord_unregister_event(handle, SENSOR_EVENT(info.type));
+ }
EXPECT_TRUE(ret);
ret = sensord_disconnect(handle);