diff options
author | Abhay Agarwal <ay.agarwal@samsung.com> | 2019-10-04 20:20:04 +0900 |
---|---|---|
committer | saerome.kim <saerome.kim@samsung.com> | 2019-10-04 20:26:23 +0900 |
commit | 860f7a089534c650e61dd0cca78745b89f5711aa (patch) | |
tree | e8571bd50d5f13ead0050c33657ba11fa98f55e1 /src | |
parent | bc903f646ce332f2a2b527de03ce94ecc2369c95 (diff) | |
download | user-awareness-860f7a089534c650e61dd0cca78745b89f5711aa.tar.gz user-awareness-860f7a089534c650e61dd0cca78745b89f5711aa.tar.bz2 user-awareness-860f7a089534c650e61dd0cca78745b89f5711aa.zip |
Provide sensor info in user absence detected callback
Change-Id: I5c7164a7dd9f8e71f7b5a6654f736ef71acd0a59
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/user-awareness-monitors.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/user-awareness-monitors.c b/src/user-awareness-monitors.c index d0a3ba6..20bb907 100644 --- a/src/user-awareness-monitors.c +++ b/src/user-awareness-monitors.c @@ -472,6 +472,7 @@ static void __ua_monitor_send_user_absence_cb(ua_monitor_s *monitor, gboolean and_condition = 0; gboolean or_condition = 0; gboolean condition_result = 0; + GSList *sensors = 0; ua_user_h user_handle = _ua_get_user_handle_by_account( user_state->account); @@ -523,8 +524,11 @@ static void __ua_monitor_send_user_absence_cb(ua_monitor_s *monitor, return; } + /** Get sensor list*/ + sensors = ua_sensor_get_sensor_handle_list(monitor->absence_detected_bitmask); + ((ua_absence_user_detected_cb)monitor->absence_user_cb.callback)( - UA_ERROR_NONE, monitor, user_handle, + UA_ERROR_NONE, monitor, user_handle, sensors, monitor->absence_user_cb.user_data); FUNC_EXIT; @@ -590,10 +594,12 @@ static void __ua_sensor_absence_detected(ua_monitor_s *monitor, FUNC_ENTRY; bool all_absence; GSList *l; + int ret = UA_ERROR_NONE; int found = 0; ua_user_state_info_s *user_state = NULL; ua_sensor_e bitmask = sensor_info->bitmask; ret_if(NULL == monitor); + ua_sensor_h sensor_handle; if (account) { for (l = monitor->user_state; l; l = g_slist_next(l)) { @@ -619,6 +625,12 @@ static void __ua_sensor_absence_detected(ua_monitor_s *monitor, monitor->absence_detected_bitmask |= bitmask; } + ret = ua_sensor_get_by_sensor_info(sensor_info, &sensor_handle); + if (UA_ERROR_NONE != ret) { + UA_INFO("ua_device_get_by_device_id returned %s", + _ua_get_error_string(ret)); + } + switch (monitor->absence_mode) { case UA_DETECT_MODE_ALL_SENSOR: break; @@ -630,12 +642,12 @@ static void __ua_sensor_absence_detected(ua_monitor_s *monitor, if (all_absence) { if (monitor->absence_cb) monitor->absence_cb(UA_ERROR_NONE, monitor, - bitmask, sensor_info, monitor->user_data); + bitmask, sensor_handle, monitor->user_data); } } else { if (monitor->absence_cb) monitor->absence_cb(UA_ERROR_NONE, monitor, - bitmask, sensor_info, monitor->user_data); + bitmask, sensor_handle, monitor->user_data); } break; |