Send device_id in USER_PRESENCE_DETECTED event 13/212213/1
authorNishant Chaprana <n.chaprana@samsung.com>
Mon, 12 Aug 2019 10:12:33 +0000 (15:42 +0530)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 19 Aug 2019 04:35:54 +0000 (13:35 +0900)
Change-Id: I9146db9747cc18fc34e04bc6ac78f9d606e5b7e0
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
include/ua-api.h
packaging/ua-manager.spec
ua-api/src/ua-event-handler.c
ua-daemon/src/ua-manager-core.c

index 380ebda..83c97e6 100644 (file)
@@ -478,6 +478,7 @@ typedef struct {
        char account[UAM_USER_ACCOUNT_MAX_STRING_LEN]; /**< User account */
        char service[UAM_SERVICE_MAX_STRING_LEN]; /**< Service name */
        long timestamp; /**< Timestamp of detection */
+       char device_id[UAM_DEVICE_ID_MAX_STRING_LEN]; /**< Device's unique ID */
 } uam_detection_event_data_s;
 
 /**
index fd8da8b..8abf1d9 100644 (file)
@@ -1,6 +1,6 @@
 Name:       ua-manager
 Summary:    User awareness manager
-Version:    0.6.2
+Version:    0.6.3
 Release:    1
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
index e3233d1..66ac919 100644 (file)
@@ -74,20 +74,23 @@ static void __uam_event_handler(GDBusConnection *connection,
        if (0 == strcasecmp(signal_name, UAM_SIGNAL_USER_PRESENCE_DETECTED)) {
                uam_detection_event_data_s event_data;
                unsigned int sensor_bitmask;
-               char *account = NULL;
-               char *service = NULL;
+               const char *account = NULL;
+               const char *service = NULL;
+               const char *device_id = NULL;
                long timestamp;
 
-               g_variant_get(parameters, "(u&s&sx)", &sensor_bitmask, &account,
-                             &service, &timestamp);
+               g_variant_get(parameters, "(u&s&s&sx)", &sensor_bitmask, &account,
+                             &service, &device_id, &timestamp);
 
-               UAM_DBG("Sensor: 0x%8.8X, User: %s", sensor_bitmask, account);
+               UAM_DBG("Sensor: 0x%8.8X, User: %s, Device: %s", sensor_bitmask,
+                       account, device_id);
                event = UAM_EVENT_USER_PRESENCE_DETECTED;
                event_data.sensor_bitmask = sensor_bitmask;
                g_strlcpy(event_data.account, account,
                                UAM_USER_ACCOUNT_MAX_STRING_LEN);
                g_strlcpy(event_data.service, service, UAM_SERVICE_MAX_STRING_LEN);
                event_data.timestamp = timestamp;
+               g_strlcpy(event_data.device_id, device_id, UAM_DEVICE_ID_MAX_STRING_LEN);
 
                __uam_send_event(event, result, &event_data,
                                event_info->cb, event_info->user_data);
index 8fb62aa..8f2a826 100644 (file)
@@ -2292,7 +2292,8 @@ void _uam_core_handle_device_added(int status,
        FUNC_EXIT;
 }
 
-void __send_user_presence_event(uam_db_tech_info_t *tech, unsigned int sensor)
+void __send_user_presence_event(uam_db_tech_info_t *tech, unsigned int sensor,
+                               char *device_id)
 {
        FUNC_ENTRY;
        uam_db_user_info_t *user;
@@ -2325,14 +2326,15 @@ void __send_user_presence_event(uam_db_tech_info_t *tech, unsigned int sensor)
                        UAM_INFO("sensor [%d]", sensor);
                        _uam_manager_send_event(mon->name,
                                        UAM_EVENT_USER_PRESENCE_DETECTED,
-                                       g_variant_new("(ussx)", sensor,
+                                       g_variant_new("(usssx)", sensor,
                                                user->account, svc->name,
-                                               user->timestamp));
+                                               device_id, user->timestamp));
                        UAM_DBG("Sent UAM_EVENT_USER_PRESENCE_DETECTED to %s"
-                                       " for 0x%8.8X, User: %s Service: %s"
-                                       " timestamp [%ld]",
-                                       mon->name, sensor, user->account,
-                                       svc->name, user->timestamp);
+                                       " on device %s"
+                                       " for 0x%8.8X, User: %s Service: %s",
+                                       mon->name, device_id,
+                                       sensor, user->account,
+                                       svc->name);
                }
        }
 
@@ -2441,7 +2443,7 @@ void _uam_core_handle_presence_detected(unsigned int sensor,
                                dev_info->type, dev_info->mac, tech->presence_state))
                UAM_WARN("_ua_device_db_update_device_presence failed");
 
-       __send_user_presence_event(tech, sensor);
+       __send_user_presence_event(tech, sensor, dev_info->device_id);
 
        FUNC_EXIT;
 }