ids_get_properties()

Issue a request for a property.

Synopsis:

#include <ids.h>
 
IDS_API ids_result_t ids_get_properties(ids_provider_t *provider, int type, int count, const char *propertyList[], get_properties_cb_t success_cb, failure_cb_t failure_cb, void *cb_data, ids_request_id_t *request_id)

Arguments:

provider

A pointer to the identity provider to send this request to.

type

The type of properties contained in the propertyList parameter. Each identity provider may have a unique set of types that it can accept. See the identity providers' documentation for details on valid types.

count

The number of properties contained in the propertyList parameter.

propertyList

An array of strings listing each of the properties requested.

success_cb

The function that is invoked upon successful operation of this function.

failure_cb

The function that is invoked when this function fails. This callback contains an errorCode parameter to specify the failure condition.

cb_data

This parameter can be set to NULL if callback data is not required. This pointer for callback data is passed in to the calling application's success or failure callback without being modified. The application can determine whether it passes it in to the API or leaves it NULL, and also determine how to use it in the callback functions.

request_id

An updated pointer to the request ID that can be used to match the response to the request.

Library:

libids

Description:

Error Handling:

The value of errno when IDS_FAILURE is returned can be one of the following: EFAULT: The library has not been initialized.E2BIG: The message is too big to send to the identity provider.ECOMM: Unable to communicate with the identity provider.EINVAL: An invalid parameter was passed to the function.ENOMEM: There is not enough memory to complete the operation.

Requests that do not complete successfully result in the failure callback being called with one of the following result codes: IDS_DEFAULT_ERROR: An internal error occurred while attempting to process the request.IDS_NOT_READY: The identity provider is not ready to process the request.IDS_NOT_ENOUGH_RESOURCES: There are not enough resources available to process the request.IDS_ACCOUNT_LOCALLY_LOCKED_OUT: The account is currently locked; access is unavailable while the account is locked.IDS_USER_COULD_NOT_BE_AUTHENTICATED: The user could not be authenticated.IDS_NAME_MUST_BE_SET: The value of count must be greater than 1 and match the number of properties in the propertyList.IDS_TOO_MANY_NAMES_PASSED: Too many properties were requested. See IDS_MAX_PROPERTY_COUNT.IDS_NAME_TOO_LONG: The length of a property name in the list exceeds the maximum name length as defined by IDS_MAX_PROPERTY_NAME_LEN.IDS_PROPERTY_NOT_AUTHORIZED: The application does not have access to one of the requested properties.IDS_PROPERTY_DOES_NOT_EXIST: Property does not exist.IDS_BAD_PROPERTY_NAME: Invalid property name.IDS_NULL_OR_UNKNOWN_PARAMETERS: Null or invalid parameter.IDS_NON_EXISTING_PROPERTY: Property does not exist.IDS_PROFILE_SERVER_ERROR: Server error.IDS_PROPERTY_VALUE_TOO_LARGE: Property value is too large.IDS_GET_FAIL: Get failed.

Returns:

IDS_SUCCESS when the request is issued successfully, or IDS_FAILURE with the errno value set otherwise.

Last modified: 2013-12-21

comments powered by Disqus