summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAbhay Agarwal <ay.agarwal@samsung.com>2021-01-22 09:57:48 +0530
committerAbhay Agarwal <ay.agarwal@samsung.com>2021-01-27 10:03:59 +0530
commit3d0dceb08a27b8837427c9e8e5f4c751c344c0c4 (patch)
tree1817cf9dc7efc1decd367430d196484aad5954e9 /src
parent3861ad10d8debe36e97ef1a688791610397d49cc (diff)
downloaduser-awareness-3d0dceb08a27b8837427c9e8e5f4c751c344c0c4.tar.gz
user-awareness-3d0dceb08a27b8837427c9e8e5f4c751c344c0c4.tar.bz2
user-awareness-3d0dceb08a27b8837427c9e8e5f4c751c344c0c4.zip
Modify monitor API's
This patch modifies monitor based API's and callbacks (renames/parameter modifications) New API's to be used in place of deprecated API's - ua_monitor_start_scan_devices() => ua_monitor_start_scan() - ua_monitor_stop_scan_devices() => ua_monitor_stop_scan() - Added service_handle in ua_presence_detected_cb - Added service_handle in ua_absence_detected_cb Change-Id: I603952908ce2d7ece527e0ee15cfb1aeca7945ea Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/user-awareness-monitors.c79
1 files changed, 60 insertions, 19 deletions
diff --git a/src/user-awareness-monitors.c b/src/user-awareness-monitors.c
index b542588..466c3de 100755
--- a/src/user-awareness-monitors.c
+++ b/src/user-awareness-monitors.c
@@ -406,17 +406,32 @@ static void __ua_send_presence_detection(char *svc_name)
for (l = ua_monitor_list; NULL != l; l = g_slist_next(l)) {
ua_monitor_s *monitor = l->data;
+ ua_service_info_s *service = NULL;
+ ua_service_h service_handle = NULL;
if (!monitor || g_strcmp0(monitor->service, svc_name))
continue;
if (monitor->presence_mode != UA_DETECT_MODE_ANY_SENSOR) {
- UA_INFO("monitor->sensor_bitmask: 0x%8.8X, monitor->presence_detected_bitmask: 0x%8.8X",
- monitor->sensor_bitmask, monitor->presence_detected_bitmask);
- if (monitor->sensor_bitmask == monitor->presence_detected_bitmask) {
- if (monitor->presence_cb)
+ /* Send callbacks for 'ALL' mode */
+ UA_INFO("monitor->sensor_bitmask: 0x%8.8X, " \
+ "monitor->presence_detected_bitmask: 0x%8.8X",
+ monitor->sensor_bitmask,
+ monitor->presence_detected_bitmask);
+
+ if (monitor->sensor_bitmask
+ == monitor->presence_detected_bitmask) {
+ if (monitor->presence_cb) {
+ service = __ua_get_service_from_list(
+ monitor->service);
+ if (service)
+ service_handle = service->service_handle;
+
monitor->presence_cb(UA_ERROR_NONE, monitor,
- monitor->presence_detected_bitmask, NULL, NULL, monitor->user_data);
+ monitor->presence_detected_bitmask,
+ service_handle, NULL, NULL,
+ monitor->user_data);
+ }
}
}
@@ -446,6 +461,8 @@ static void __ua_monitor_send_sensor_presence_cb(ua_monitor_s *monitor,
FUNC_ENTRY;
ua_sensor_e bitmask = sensor_info->bitmask;
ua_sensor_h sensor_handle;
+ ua_service_info_s *service = NULL;
+ ua_service_h service_handle = NULL;
int ret;
ret = ua_sensor_get_by_sensor_info(sensor_info, &sensor_handle);
@@ -465,9 +482,12 @@ static void __ua_monitor_send_sensor_presence_cb(ua_monitor_s *monitor,
UA_INFO("UA_DETECT_MODE_ALL_SENSOR [%d][%d]",
bitmask, monitor->presence_detected_bitmask);
- if (((bitmask == UA_SENSOR_BLE) && (monitor->sensor_bitmask & UA_SENSOR_WIFI))
- || ((bitmask == UA_SENSOR_WIFI) && (monitor->sensor_bitmask & UA_SENSOR_BLE)))
- monitor->presence_detected_bitmask |= (UA_SENSOR_BLE | UA_SENSOR_WIFI);
+ if (((bitmask == UA_SENSOR_BLE)
+ && (monitor->sensor_bitmask & UA_SENSOR_WIFI))
+ || ((bitmask == UA_SENSOR_WIFI)
+ && (monitor->sensor_bitmask & UA_SENSOR_BLE)))
+ monitor->presence_detected_bitmask |=
+ (UA_SENSOR_BLE | UA_SENSOR_WIFI);
else
monitor->presence_detected_bitmask |= bitmask;
@@ -485,9 +505,14 @@ static void __ua_monitor_send_sensor_presence_cb(ua_monitor_s *monitor,
UA_INFO("UA_DETECT_MODE_ANY_SENSOR [%d][%d]",
bitmask, monitor->presence_detected_bitmask);
- if (monitor->presence_cb)
+ if (monitor->presence_cb) {
+ service = __ua_get_service_from_list(monitor->service);
+ if (service)
+ service_handle = service->service_handle;
monitor->presence_cb(UA_ERROR_NONE, monitor,
- bitmask, device_handle, sensor_handle, monitor->user_data);
+ bitmask, service_handle, device_handle,
+ sensor_handle, monitor->user_data);
+ }
}
break;
@@ -660,6 +685,8 @@ static void __ua_send_absence_detection(char *svc_name)
for (l = ua_monitor_list; NULL != l; l = g_slist_next(l)) {
ua_monitor_s *monitor = l->data;
+ ua_service_info_s *service = NULL;
+ ua_service_h service_handle = NULL;
if (!monitor || g_strcmp0(monitor->service, svc_name))
continue;
@@ -682,13 +709,18 @@ static void __ua_send_absence_detection(char *svc_name)
monitor->sensor_bitmask, monitor->absence_detected_bitmask);
if (monitor->sensor_bitmask == monitor->absence_detected_bitmask) {
- if (monitor->absence_cb)
- monitor->absence_cb(UA_ERROR_NONE, monitor,
- monitor->absence_detected_bitmask, NULL, monitor->user_data);
+ if (monitor->absence_cb) {
+ service = __ua_get_service_from_list(monitor->service);
+ if (service)
+ service_handle = service->service_handle;
+
+ monitor->absence_cb(UA_ERROR_NONE, monitor,
+ service_handle, monitor->absence_detected_bitmask,
+ NULL, monitor->user_data);
+ }
}
}
-
if (monitor->absence_user_cb.callback) {
for (l1 = monitor->user_state; NULL != l1; l1 = g_slist_next(l1)) {
ua_user_state_info_s *user_state = l1->data;
@@ -719,6 +751,8 @@ static void __ua_sensor_absence_detected(ua_monitor_s *monitor,
ua_sensor_e bitmask = sensor_info->bitmask;
ret_if(NULL == monitor);
ua_sensor_h sensor_handle;
+ ua_service_info_s *service = NULL;
+ ua_service_h service_handle = NULL;
if (account) {
for (l = monitor->user_state; l; l = g_slist_next(l)) {
@@ -750,23 +784,30 @@ static void __ua_sensor_absence_detected(ua_monitor_s *monitor,
_ua_get_error_string(ret));
}
+ service = __ua_get_service_from_list(monitor->service);
+ if (service)
+ service_handle = service->service_handle;
+
switch (monitor->absence_mode) {
case UA_DETECT_MODE_ALL_SENSOR:
break;
case UA_DETECT_MODE_ANY_SENSOR:
/* First add user info to local users list and then invoke callback */
if (account) {
- all_absence = __ua_check_all_users_absence_state(monitor->user_state, bitmask);
+ all_absence = __ua_check_all_users_absence_state(
+ monitor->user_state, bitmask);
if (all_absence) {
if (monitor->absence_cb)
monitor->absence_cb(UA_ERROR_NONE, monitor,
- bitmask, sensor_handle, monitor->user_data);
+ service_handle, bitmask, sensor_handle,
+ monitor->user_data);
}
} else {
if (monitor->absence_cb)
monitor->absence_cb(UA_ERROR_NONE, monitor,
- bitmask, sensor_handle, monitor->user_data);
+ service_handle, bitmask, sensor_handle,
+ monitor->user_data);
}
break;
@@ -1318,7 +1359,7 @@ int ua_monitor_foreach_sensor(
return UA_ERROR_NONE;
}
-int ua_monitor_start_scan_devices(
+int ua_monitor_start_scan(
ua_monitor_h handle,
int scan_time,
ua_scan_completed_cb callback,
@@ -1357,7 +1398,7 @@ int ua_monitor_start_scan_devices(
return UA_ERROR_NONE;
}
-int ua_monitor_stop_scan_devices(ua_monitor_h handle)
+int ua_monitor_stop_scan(ua_monitor_h handle)
{
FUNC_ENTRY;
int ret;