diff options
author | Nishant Chaprana <n.chaprana@samsung.com> | 2019-07-23 21:09:08 +0530 |
---|---|---|
committer | saerome.kim <saerome.kim@samsung.com> | 2019-07-24 08:43:50 +0900 |
commit | df828955358d899b5aaa69a9485f0e5039c5005b (patch) | |
tree | adf3dbc737eba17bdbc74819fe5adb333046995f | |
parent | 083b2a826b05f0dd475f468f83c751b25e989a6e (diff) | |
download | user-awareness-submit/tizen/20190724.080451.tar.gz user-awareness-submit/tizen/20190724.080451.tar.bz2 user-awareness-submit/tizen/20190724.080451.zip |
Add ua_device_get_last_presence() API for getting last presence timestamp for device handle.submit/tizen/20190724.080451accepted/tizen/unified/20190724.130113
Change-Id: I9cede9c9b603f608d8bdb8da039f9361b6a46d5c
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
-rw-r--r-- | include/user-awareness-private.h | 1 | ||||
-rw-r--r-- | include/user-awareness.h | 21 | ||||
-rw-r--r-- | src/user-awareness-users.c | 19 | ||||
-rw-r--r-- | test/uat-devices.c | 5 |
4 files changed, 46 insertions, 0 deletions
diff --git a/include/user-awareness-private.h b/include/user-awareness-private.h index a4e878b..e3792dc 100644 --- a/include/user-awareness-private.h +++ b/include/user-awareness-private.h @@ -247,6 +247,7 @@ typedef struct { ua_os_type_e os; /**< OS type */ gboolean isadded; /**< Is the device addition completed? */ gboolean create_by_app; /**< Did app add this device information? */ + long last_presence_timestamp; /**< timestamp of last presence */ } ua_dev_info_s; /** diff --git a/include/user-awareness.h b/include/user-awareness.h index db2e19e..51f7030 100644 --- a/include/user-awareness.h +++ b/include/user-awareness.h @@ -2093,6 +2093,27 @@ int ua_device_get_wifi_ipv4_address( /** * @ingroup CAPI_NETWORK_UA_MODULE + * @brief Gets last presence timestamp info for device handle. + * @since_tizen 5.5 + * + * @param[in] device_handle The device handle + * @param[out] timestamp The last presence timestamp information for UA device + * + * @return 0 on success, otherwise a negative error value + * @retval #UA_ERROR_NONE Successful + * @retval #UA_ERROR_INVALID_PARAMETER Invalid parameter + * + * @exception + * @pre + * @post + * + */ +int ua_device_get_last_presence( + ua_device_h device_handle, + long *timestamp); + +/** + * @ingroup CAPI_NETWORK_UA_MODULE * @brief Gets whether pairing is required for the user device. * @since_tizen 5.5 * diff --git a/src/user-awareness-users.c b/src/user-awareness-users.c index d72e95f..67ee906 100644 --- a/src/user-awareness-users.c +++ b/src/user-awareness-users.c @@ -1265,6 +1265,22 @@ done: return UA_ERROR_NONE; } +int ua_device_get_last_presence( + ua_device_h device_handle, + long *timestamp) +{ + FUNC_ENTRY; + ua_dev_info_s *device = (ua_dev_info_s *)device_handle; + + UA_VALIDATE_INPUT_PARAMETER(device_handle); + UA_VALIDATE_INPUT_PARAMETER(timestamp); + UA_PRINT_DEVICE_HANDLE(device_handle); + + *timestamp = device->last_presence_timestamp; + FUNC_EXIT; + return UA_ERROR_NONE; +} + int ua_device_get_handle_by_mac_address( const char *mac, ua_device_h *device_handle) @@ -1599,6 +1615,7 @@ int ua_device_clone(ua_device_h *cloned, device->isadded = org_device->isadded; device->type = org_device->type; device->os = org_device->os; + device->last_presence_timestamp = org_device->last_presence_timestamp; if (!device->user) { /* Currently user info will be create and store at this point */ @@ -1871,6 +1888,7 @@ int ua_foreach_all_registered_dev_info( device_info->handle = (ua_device_h)device_info; device_info->type = __to_ua_mac_type(ptr->type); device_info->os = ptr->operating_system; + device_info->last_presence_timestamp = ptr->last_seen; ua_devices_db_list = g_slist_append(ua_devices_db_list, device_info); } else { UA_ERR("OPERATION_FAILED(0x%08x)", @@ -1972,6 +1990,7 @@ int ua_foreach_registered_dev_info_by_user( device_info->handle = (ua_device_h)device_info; device_info->type = __to_ua_mac_type(ptr->type); device_info->os = ptr->operating_system; + device_info->last_presence_timestamp = ptr->last_seen; device_info->user = (ua_user_h)user; ua_devices_db_list = g_slist_append(ua_devices_db_list, device_info); } else { diff --git a/test/uat-devices.c b/test/uat-devices.c index bd2a9ba..468e97d 100644 --- a/test/uat-devices.c +++ b/test/uat-devices.c @@ -84,6 +84,7 @@ static bool __foreach_registered_dev_cb( char *wifi_bssid = NULL; char *ipv4 = NULL; bool required = false; + long timestamp = 0; if (device_handle) { ua_device_h handle = NULL; @@ -133,6 +134,10 @@ static bool __foreach_registered_dev_cb( if (UA_ERROR_NONE == ret_temp) msgb("Pairing Required : %s", required ? "YES" : "NO"); + ret_temp = ua_device_get_last_presence(handle, ×tamp); + if (UA_ERROR_NONE == ret_temp) + msgb("Last present at : %ld", timestamp); + g_device_list = g_slist_append(g_device_list, handle); } } |