summaryrefslogtreecommitdiff
path: root/src/user-awareness-service.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user-awareness-service.c')
-rw-r--r--src/user-awareness-service.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/user-awareness-service.c b/src/user-awareness-service.c
index de38275..9949572 100644
--- a/src/user-awareness-service.c
+++ b/src/user-awareness-service.c
@@ -719,6 +719,33 @@ int ua_service_set_device_discriminant(ua_service_h service_handle,
return UA_ERROR_NONE;
}
+int ua_service_get_device_discriminant(ua_service_h service_handle,
+ ua_device_h device_handle, gboolean *discriminant)
+{
+ FUNC_ENTRY;
+ int ret;
+
+ ua_service_info_s* service_info = (ua_service_info_s*)service_handle;
+ ua_dev_info_s* device_info = (ua_dev_info_s*)device_handle;
+
+ UA_VALIDATE_INPUT_PARAMETER(service_info);
+ UA_VALIDATE_INPUT_PARAMETER(device_handle);
+ UA_VALIDATE_HANDLE(service_handle, ua_services_list);
+ UA_PRINT_DEVICE_HANDLE(device_handle);
+ retv_if(device_info->isadded == FALSE, UA_ERROR_INVALID_PARAMETER);
+
+ ret = _ua_get_error_code(_uam_service_get_device_discriminant(service_info->name,
+ device_info->device_id, _ua_to_uam_tech_type(device_info->type),
+ discriminant));
+ if (UA_ERROR_NONE != ret) {
+ UA_ERR("_uam_service_get_device_discriminant returned %s",
+ _ua_get_error_string(ret));
+ return ret;
+ }
+
+ FUNC_EXIT;
+ return UA_ERROR_NONE;
+}
int ua_service_foreach_added_services(ua_service_added_service_cb foreach_cb,
void *user_data)