From: kibak.yoon Date: Wed, 8 Jun 2016 04:40:53 +0000 (+0900) Subject: capi-sensor: clean up attribute/option feature X-Git-Tag: submit/tizen/20160622.045445~1^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F00%2F75100%2F1;p=platform%2Fcore%2Fapi%2Fsensor.git capi-sensor: clean up attribute/option feature - SENSOR_ATTRIBUTE_PAUSE_POLICY - SENSOR_ATTRIBUTE_AXIS_ORIENTATION - attribute for each sensors Change-Id: I6f85da39452fff9c4d831a5655884b41f02056a0 Signed-off-by: kibak.yoon --- diff --git a/include/sensor_private.h b/include/sensor_private.h index 05769c9..7d99272 100644 --- a/include/sensor_private.h +++ b/include/sensor_private.h @@ -20,7 +20,7 @@ struct sensor_listener_s { int id; int type; - int option; + int pause; unsigned int batch_latency; unsigned int magic; void *sensor; diff --git a/src/sensor.cpp b/src/sensor.cpp index 4f676b2..259f0fd 100644 --- a/src/sensor.cpp +++ b/src/sensor.cpp @@ -49,6 +49,10 @@ #define CONVERT_AXIS_ENUM(X) ((X) < 3 ? (X) + 0x81 : (X) - 2) +#define CONVERT_OPTION_PAUSE_POLICY(option) \ + (option == SENSOR_OPTION_DEFAULT || option == SENSOR_OPTION_ALWAYS_ON) ? \ + (option ^ 0b11) : option + static int sensor_connect(sensor_h sensor, sensor_listener_h listener) { int id = SENSOR_UNDEFINED_ID; @@ -255,7 +259,7 @@ int sensor_create_listener(sensor_h sensor, sensor_listener_h *listener) } _listener->sensor = sensor; - _listener->option = SENSOR_OPTION_DEFAULT; + _listener->pause = SENSOR_PAUSE_ALL; _listener->batch_latency = SENSOR_BATCH_LATENCY_DEFAULT; _listener->magic = SENSOR_LISTENER_MAGIC; @@ -289,7 +293,7 @@ int sensor_destroy_listener(sensor_listener_h listener) int sensor_listener_start(sensor_listener_h listener) { int id; - unsigned int option = 0; + unsigned int pause = SENSOR_PAUSE_ALL; _D("called sensor_listener_start : listener[0x%x]", listener); @@ -300,9 +304,12 @@ int sensor_listener_start(sensor_listener_h listener) return SENSOR_ERROR_INVALID_PARAMETER; id = listener->id; - option = listener->option; + pause = listener->pause; + + if (!sensord_start(id, 0)) + return SENSOR_ERROR_OPERATION_FAILED; - if (!sensord_start(id, option)) + if (sensord_set_attribute_int(id, SENSOR_ATTRIBUTE_PAUSE_POLICY, pause) < 0) return SENSOR_ERROR_OPERATION_FAILED; _D("success sensor_listener_start : id[%d]", id); @@ -566,7 +573,7 @@ int sensor_listener_set_attribute_int(sensor_listener_h listener, sensor_attribu return SENSOR_ERROR_OPERATION_FAILED; if (attribute == SENSOR_ATTRIBUTE_PAUSE_POLICY) - listener->option = value; + listener->pause = value; _D("success sensor_set_attribute_int"); @@ -587,10 +594,10 @@ int sensor_listener_set_option(sensor_listener_h listener, sensor_option_e optio id = listener->id; - if (!sensord_set_option(id, (int)option)) + if (sensord_set_attribute_int(id, SENSOR_ATTRIBUTE_PAUSE_POLICY, CONVERT_OPTION_PAUSE_POLICY(option)) < 0) return SENSOR_ERROR_OPERATION_FAILED; - listener->option = option; + listener->pause = CONVERT_OPTION_PAUSE_POLICY(option); _D("success sensor_set_option");