From: kibak.yoon Date: Tue, 5 Apr 2016 10:16:11 +0000 (+0900) Subject: capi-sensor: store batch_latency in listener X-Git-Tag: submit/tizen/20160426.040753^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=802dc26f1cb470a99c8650c22ebe15ec34d0860d;p=platform%2Fcore%2Fapi%2Fsensor.git capi-sensor: store batch_latency in listener - when sensor_register_event_cb() is called after calling set_max_batch_latency(), batch_latency is reset to 0. - so it has to be modified to store the value of batch_latency in listener. Change-Id: I424a4b94df423a75ff18ee9459fa2a846039ce13 Signed-off-by: kibak.yoon --- diff --git a/include/sensor_private.h b/include/sensor_private.h index 6633db5..05769c9 100644 --- a/include/sensor_private.h +++ b/include/sensor_private.h @@ -21,6 +21,7 @@ struct sensor_listener_s { int id; int type; int option; + unsigned int batch_latency; unsigned int magic; void *sensor; void *callback; diff --git a/src/sensor.cpp b/src/sensor.cpp index d8f1ef9..befb32c 100644 --- a/src/sensor.cpp +++ b/src/sensor.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -42,6 +43,7 @@ #define SENSOR_SHIFT_TYPE 16 #define SENSOR_UNDEFINED_ID -1 +#define SENSOR_BATCH_LATENCY_DEFAULT UINT_MAX #define SENSOR_LISTENER_MAGIC 0xCAFECAFE @@ -252,6 +254,7 @@ int sensor_create_listener(sensor_h sensor, sensor_listener_h *listener) _listener->sensor = sensor; _listener->option = SENSOR_OPTION_DEFAULT; + _listener->batch_latency = SENSOR_BATCH_LATENCY_DEFAULT; _listener->magic = SENSOR_LISTENER_MAGIC; *listener = (sensor_listener_h) _listener; @@ -348,6 +351,7 @@ int sensor_listener_set_event_cb(sensor_listener_h listener, { int id; unsigned int event_id; + unsigned int batch_latency; if (!listener || !callback) return SENSOR_ERROR_INVALID_PARAMETER; @@ -360,11 +364,12 @@ int sensor_listener_set_event_cb(sensor_listener_h listener, id = listener->id; event_id = (listener->type) << SENSOR_SHIFT_TYPE | 0x1; + batch_latency = listener->batch_latency; listener->callback = (void *)callback; listener->user_data = user_data; - if (!sensord_register_event(id, event_id, interval, 0, + if (!sensord_register_event(id, event_id, interval, batch_latency, sensor_callback, listener)) { listener->callback = NULL; listener->user_data = NULL; @@ -522,6 +527,8 @@ int sensor_listener_set_max_batch_latency(sensor_listener_h listener, unsigned i if (!sensord_change_event_max_batch_latency(id, event_id, max_batch_latency)) return SENSOR_ERROR_NOT_SUPPORTED; + listener->batch_latency = max_batch_latency; + _D("success sensor_set_max_batch_latency"); return SENSOR_ERROR_NONE;