Modify callback signature for sensor_presence_cb
authorAbhay Agarwal <ay.agarwal@samsung.com>
Tue, 1 Oct 2019 04:17:26 +0000 (13:17 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Tue, 1 Oct 2019 12:38:19 +0000 (21:38 +0900)
This patch modify callback sensor_presence_cb to not provide sensor information
using user data and add a seprate field for this parameter.

Change-Id: Ia0c6159225be99595516f9dc10ecf58f2e16fa16
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
include/user-awareness.h
src/user-awareness-monitors.c
test/uat-detections.c

index 20abf9fde4a432ba72759e9d86ddbebc7cb5f02f..06122919dc63de72abc46fa4f5c7a6bd45fe32d8 100644 (file)
@@ -382,6 +382,7 @@ typedef void (*ua_presence_detected_cb)(
                ua_monitor_h handle,
                ua_sensor_e sensor,
                ua_device_h device_handle,
+               ua_sensor_info_s *sensor_info,
                void *user_data);
 
 /**
index 1235bda963eee269938c5436236a64f1d54ac0c4..9c619457adef338fb8af612865ae898cc222d050 100644 (file)
@@ -206,7 +206,7 @@ static void __ua_send_presence_detection()
                if (monitor->sensor_bitmask == monitor->presence_detected_bitmask) {
                        if (monitor->presence_cb)
                                monitor->presence_cb(UA_ERROR_NONE, monitor,
-                                               monitor->presence_detected_bitmask, NULL, monitor->user_data);
+                                               monitor->presence_detected_bitmask, NULL, NULL, monitor->user_data);
                }
 
                monitor->presence_detected_bitmask = 0;
@@ -330,9 +330,10 @@ static void __ua_monitor_send_user_presence_cb(ua_monitor_s *monitor,
 }
 
 static void __ua_monitor_send_sensor_presence_cb(ua_monitor_s *monitor,
-               ua_device_h device_handle, ua_sensor_e bitmask)
+               ua_device_h device_handle, ua_sensor_info_s *sensor_info)
 {
        FUNC_ENTRY;
+       ua_sensor_e bitmask = sensor_info->bitmask;
        switch (monitor->presence_mode) {
        case UA_DETECT_MODE_ALL_SENSOR:
                /*
@@ -356,7 +357,7 @@ static void __ua_monitor_send_sensor_presence_cb(ua_monitor_s *monitor,
                if ((monitor->presence_detected_bitmask & bitmask) == 0)
                        if (monitor->presence_cb)
                                monitor->presence_cb(UA_ERROR_NONE, monitor,
-                                       bitmask, device_handle, monitor->user_data);
+                                       bitmask, device_handle, sensor_info, monitor->user_data);
 
                monitor->presence_detected_bitmask |= bitmask;
 
@@ -373,8 +374,8 @@ static void __ua_monitor_send_sensor_presence_cb(ua_monitor_s *monitor,
        return;
 }
 
-static void __ua_sensor_presence_detected(ua_monitor_s *monitor,
-               ua_sensor_e bitmask, char *account, long timestamp, char *device_id)
+static void __ua_sensor_presence_detected(ua_monitor_s *monitor, ua_sensor_info_s *sensor_info,
+               char *account, long timestamp, char *device_id)
 {
        FUNC_ENTRY;
 
@@ -384,6 +385,7 @@ static void __ua_sensor_presence_detected(ua_monitor_s *monitor,
        int ret = UA_ERROR_NONE;
        ua_user_state_info_s *user_state = NULL;
        ua_device_h device_handle = NULL;
+       ua_sensor_e bitmask = sensor_info->bitmask;
 
        ret_if(NULL == monitor);
 
@@ -427,7 +429,7 @@ static void __ua_sensor_presence_detected(ua_monitor_s *monitor,
                return;
        }
 
-       __ua_monitor_send_sensor_presence_cb(monitor, device_handle, bitmask);
+       __ua_monitor_send_sensor_presence_cb(monitor, device_handle, sensor_info);
 
        if (account && user_state) {
                __ua_monitor_send_user_presence_cb(monitor, user_state);
@@ -711,8 +713,7 @@ void _ua_monitor_handle_user_presence_detected(uam_sensor_info_s *info,
 
                if (!service || !g_strcmp0(service, monitor->service)) {
                        /* Presence detection ongoing */
-                       monitor->user_data = sensor_info;
-                       __ua_sensor_presence_detected(monitor, bitmask, account,
+                       __ua_sensor_presence_detected(monitor, sensor_info, account,
                                                      timestamp, device_id);
                }
        }
index ce6ce7733c90da51629dd0dac0239e27dcc8e652..b87adadf6b36cbae600c30e21330a11ad288448b 100644 (file)
@@ -71,7 +71,8 @@ static void __sensor_presence_detected_device(ua_device_h device_handle)
 }
 
 static void __sensor_presence_detected_cb(int result, ua_monitor_h monitor,
-               ua_sensor_e sensor, ua_device_h device_handle, void *user_data)
+               ua_sensor_e sensor, ua_device_h device_handle, ua_sensor_info_s *info,
+               void *user_data)
 {
        char buf[MENU_DATA_SIZE] = {0, };
        char final_buf[MENU_DATA_SIZE * 4] = {0, };
@@ -79,9 +80,6 @@ static void __sensor_presence_detected_cb(int result, ua_monitor_h monitor,
        msg("\n[%s] Sensor PRESENCE [%d]", pbuf, sensor);
        free(pbuf);
 
-       ua_sensor_info_s *info = NULL;
-       info = user_data;
-
        if (UA_SENSOR_BLE == (UA_SENSOR_BLE & sensor)) {
                msgb("[%s] PRESENCE detected [%s]",
                        uat_get_sensor_bitmask_str(UA_SENSOR_BLE), uat_get_error_str(result));