diff options
author | Abhay agarwal <ay.agarwal@samsung.com> | 2019-12-02 12:49:32 +0530 |
---|---|---|
committer | DoHyun Pyun <dh79.pyun@samsung.com> | 2019-12-30 16:45:56 +0900 |
commit | 083c77566609d985175376abab54109dc1741260 (patch) | |
tree | a93ed87b58ee87a451bfd3115eefa234d9532d36 | |
parent | 81f5eb29a74ca3f165063159fd72e5fed447121c (diff) | |
download | user-awareness-083c77566609d985175376abab54109dc1741260.tar.gz user-awareness-083c77566609d985175376abab54109dc1741260.tar.bz2 user-awareness-083c77566609d985175376abab54109dc1741260.zip |
Add API to insert device payload in a service
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
-rw-r--r-- | include/user-awareness-private.h | 16 | ||||
-rw-r--r-- | include/user-awareness.h | 21 | ||||
-rw-r--r-- | src/user-awareness-payload.c | 31 | ||||
-rw-r--r-- | src/user-awareness-service.c | 2 | ||||
-rw-r--r-- | test/uat-payload.c | 20 |
5 files changed, 88 insertions, 2 deletions
diff --git a/include/user-awareness-private.h b/include/user-awareness-private.h index 7e047f7..28bcd3e 100644 --- a/include/user-awareness-private.h +++ b/include/user-awareness-private.h @@ -706,6 +706,22 @@ int _ua_service_add_info_to_list(ua_service_info_s* ua_info); int _ua_service_add_info_to_list_from_uam_data(uam_service_info_s *uam_info); /** + * @brief Gets a service info as uam_service_info_s from the the list. + * @since_tizen 5.5 + * + * @param[in] service_name Service name. + * + * @return 0 on success, otherwise a negative error value + * @retval #UA_ERROR_NONE Successful + * @retval #UA_ERROR_OUT_OF_MEMORY Out of memory + * + * @exception + * @pre + * @post + */ +ua_service_info_s* __ua_get_service_from_list(const char *service_name); + +/** * @brief Removes a service info from the list. * @since_tizen 5.5 * diff --git a/include/user-awareness.h b/include/user-awareness.h index 21fdc2d..aad6a2c 100644 --- a/include/user-awareness.h +++ b/include/user-awareness.h @@ -3044,6 +3044,27 @@ int ua_payload_add( /** * @ingroup CAPI_NETWORK_UA_MODULE + * @brief Adds device's payload to a service. + * @since_tizen 5.5 + * + * @param[in] payload_handle The payload handle. + * @param[in] service_handle The service handle. + * + * @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_payload_add_service( + ua_payload_h payload_handle, + ua_service_h service_handle); + +/** + * @ingroup CAPI_NETWORK_UA_MODULE * @brief Gets sensor's status. * @since_tizen 5.5 * diff --git a/src/user-awareness-payload.c b/src/user-awareness-payload.c index 71b8a27..ec0ed4d 100644 --- a/src/user-awareness-payload.c +++ b/src/user-awareness-payload.c @@ -222,7 +222,36 @@ int ua_payload_add(ua_payload_h payload_handle, ua_device_h device_handle) ret = _ua_get_error_code(_uam_request_add_payload(&uam_payload, dev_info->device_id, _ua_to_uam_tech_type(dev_info->type))); if (UA_ERROR_NONE != ret) { - UA_ERR("_uam_payload_add returned %s", + UA_ERR("_uam_request_add_payload returned %s", + _ua_get_error_string(ret)); + return ret; + } + + FUNC_EXIT; + return UA_ERROR_NONE; +} + +int ua_payload_add_service(ua_payload_h payload_handle, + ua_service_h service_handle) +{ + FUNC_ENTRY; + int ret; + uam_ble_payload_s uam_payload; + + ua_payload_info_s* payload_info = (ua_payload_info_s*)payload_handle; + ua_service_info_s* service_info = (ua_service_info_s*)service_handle; + + UA_VALIDATE_INPUT_PARAMETER(payload_handle); + UA_VALIDATE_INPUT_PARAMETER(service_handle); + UA_VALIDATE_INPUT_PARAMETER(service_info); + + UA_IS_EXIST(__ua_get_service_from_list(service_info->name)); + + _ua_get_uam_payload_from_ua(&uam_payload, payload_info); + + ret = _ua_get_error_code(_uam_service_add_payload(service_info->name, &uam_payload)); + if (UA_ERROR_NONE != ret) { + UA_ERR("_uam_service_add_payload returned %s", _ua_get_error_string(ret)); return ret; } diff --git a/src/user-awareness-service.c b/src/user-awareness-service.c index c7e3dc4..cc18dd5 100644 --- a/src/user-awareness-service.c +++ b/src/user-awareness-service.c @@ -26,7 +26,7 @@ extern GSList *ua_users_list; GSList *ua_services_list; -static ua_service_info_s* __ua_get_service_from_list(const char *service_name) +ua_service_info_s* __ua_get_service_from_list(const char *service_name) { GSList *l; ua_service_info_s *service_info; diff --git a/test/uat-payload.c b/test/uat-payload.c index 2e062f8..fddef8e 100644 --- a/test/uat-payload.c +++ b/test/uat-payload.c @@ -24,6 +24,7 @@ #include "uat-common.h" extern ua_device_h g_device_h; /**< Device handle */ +extern ua_service_h g_service_h; /**< Service handle */ ua_payload_h g_payload_h = NULL; /**< Payload handle */ static char g_payload_primary_key[MENU_DATA_SIZE + 1] = {0,}; /**< payload primary_key for the selected device */ @@ -178,6 +179,23 @@ static int run_ua_payload_add( return RET_SUCCESS; } +static int run_ua_payload_add_service( + MManager *mm, struct menu_data *menu) +{ + int ret = UA_ERROR_NONE; + + msg("ua_payload_add_service"); + + check_if(NULL == g_payload_h); + + ret = ua_payload_add_service(g_payload_h, g_service_h); + + msg(" - ua_payload_add_service() ret: [0x%X] [%s]", + ret, uat_get_error_str(ret)); + + return RET_SUCCESS; +} + static struct menu_data menu_ua_payload_set_primary_key[] = { { "1", "Primary Key (0 to 255)", NULL, NULL, g_payload_primary_key }, @@ -229,5 +247,7 @@ struct menu_data menu_ua_payloads[] = { menu_ua_payload_set_device_uid, NULL, g_payload_device_uid_str }, { "7", ANSI_COLOR_LIGHTGREEN "ua_payload_add" ANSI_COLOR_NORMAL, NULL, run_ua_payload_add, NULL }, + { "8", ANSI_COLOR_LIGHTGREEN "ua_payload_add_service" ANSI_COLOR_NORMAL, + NULL, run_ua_payload_add_service, NULL }, { NULL, NULL, }, }; |