diff options
Diffstat (limited to 'src/user-awareness-service.c')
-rw-r--r-- | src/user-awareness-service.c | 27 |
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) |