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;
/**
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
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, ×tamp);
+ g_variant_get(parameters, "(u&s&s&sx)", &sensor_bitmask, &account,
+ &service, &device_id, ×tamp);
- 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);
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;
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);
}
}
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;
}