summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhay agarwal <ay.agarwal@samsung.com>2019-12-02 12:49:32 +0530
committerDoHyun Pyun <dh79.pyun@samsung.com>2019-12-30 16:45:56 +0900
commit083c77566609d985175376abab54109dc1741260 (patch)
treea93ed87b58ee87a451bfd3115eefa234d9532d36
parent81f5eb29a74ca3f165063159fd72e5fed447121c (diff)
downloaduser-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.h16
-rw-r--r--include/user-awareness.h21
-rw-r--r--src/user-awareness-payload.c31
-rw-r--r--src/user-awareness-service.c2
-rw-r--r--test/uat-payload.c20
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, },
};