LassoIdWsf2Discovery

LassoIdWsf2Discovery

Synopsis

struct              LassoIdWsf2Discovery;
LassoIdWsf2Discovery * lasso_idwsf2_discovery_new       (LassoServer *server);
lasso_error_t       lasso_idwsf2_discovery_init_metadata_register
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_init_metadata_association_add
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_init_query   (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_init_metadata_query
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_init_metadata_replace
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_init_metadata_delete
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_init_metadata_association_delete
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_init_metadata_association_query
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_add_service_metadata
                                                        (LassoIdWsf2Discovery *idwsf2_discovery,
                                                         LassoIdWsf2DiscoSvcMetadata *service_metadata);
lasso_error_t       lasso_idwsf2_discovery_add_simple_service_metadata
                                                        (LassoIdWsf2Discovery *idwsf2_discovery,
                                                         const char *abstract,
                                                         const char *provider_id,
                                                         GList *service_types,
                                                         GList *options,
                                                         const char *address,
                                                         GList *security_mechanisms);
GList *             lasso_idwsf2_discovery_get_metadatas
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_add_requested_service
                                                        (LassoIdWsf2Discovery *discovery,
                                                         GList *service_types,
                                                         GList *provider_ids,
                                                         GList *options,
                                                         GList *security_mechanisms,
                                                         GList *frameworks,
                                                         GList *actions,
                                                         LassoIdWsf2DiscoveryQueryResultType result_type,
                                                         const char *req_id);
lasso_error_t       lasso_idwsf2_discovery_build_request_msg
                                                        (LassoIdWsf2Discovery *discovery,
                                                         const char *security_mechanism);
lasso_error_t       lasso_idwsf2_discovery_process_request_msg
                                                        (LassoIdWsf2Discovery *discovery,
                                                         const char *message);
LassoIdWsf2DiscoveryRequestType lasso_idwsf2_discovery_get_request_type
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_validate_request
                                                        (LassoIdWsf2Discovery *discovery);
lasso_error_t       lasso_idwsf2_discovery_fail_request (LassoIdWsf2Discovery *discovery,
                                                         const char *status_code,
                                                         const char *status_code2);
lasso_error_t       lasso_idwsf2_discovery_process_response_msg
                                                        (LassoIdWsf2Discovery *discovery,
                                                         const char *msg);
GList *             lasso_idwsf2_discovery_get_endpoint_references
                                                        (LassoIdWsf2Discovery *discovery);
GList *             lasso_idwsf2_discovery_get_svcmdids (LassoIdWsf2Discovery *discovery);
void                lasso_idwsf2_discovery_set_svcmdids (LassoIdWsf2Discovery *discovery,
                                                         GList *svcmdids);

Description

Details

struct LassoIdWsf2Discovery

struct LassoIdWsf2Discovery {
	LassoIdWsf2Profile parent;
};

lasso_idwsf2_discovery_new ()

LassoIdWsf2Discovery * lasso_idwsf2_discovery_new       (LassoServer *server);

Create a new LassoIdWsf2Discovery.

server:(allow-none) :

a LassoServer object, for resolving ProviderID names

Returns :

a newly created LassoIdWsf2Discovery object; or NULL if an error occured.

lasso_idwsf2_discovery_init_metadata_register ()

lasso_error_t       lasso_idwsf2_discovery_init_metadata_register
                                                        (LassoIdWsf2Discovery *discovery);

Initialise a ID-WSF service metadata registration request to a Discovery service.

discovery :

a LassoIdWsf2Discovery object

Returns :

0 on success; an error code otherwise.

lasso_idwsf2_discovery_init_metadata_association_add ()

lasso_error_t       lasso_idwsf2_discovery_init_metadata_association_add
                                                        (LassoIdWsf2Discovery *discovery);

Initialise a request to associate a user account to a service metadata, allowing a WSC to request this service for data related to this user account.

discovery :

a LassoIdWsf2Discovery

svcMDID :

identifier of the service metadata the user wants to associate with

Returns :

0 on success; or a negative value otherwise.

lasso_idwsf2_discovery_init_query ()

lasso_error_t       lasso_idwsf2_discovery_init_query   (LassoIdWsf2Discovery *discovery);

Initialise a request for ID-WSF discovery Query to a discovery service.

discovery :

a LassoIdWsf2Discovery

Returns :

0 on success; or a negative value otherwise.

lasso_idwsf2_discovery_init_metadata_query ()

lasso_error_t       lasso_idwsf2_discovery_init_metadata_query
                                                        (LassoIdWsf2Discovery *discovery);

Initialise a ID-WSF service metadata query request to a Discovery service

discovery :

a LassoIdWsf2Discovery object

Returns :

0 on success; an error code otherwise.

lasso_idwsf2_discovery_init_metadata_replace ()

lasso_error_t       lasso_idwsf2_discovery_init_metadata_replace
                                                        (LassoIdWsf2Discovery *discovery);

Initialise a ID-WSF service metadata replace request to a Discovery service.

discovery :

a LassoIdWsf2Discovery object

Returns :

0 on success; an error code otherwise.

lasso_idwsf2_discovery_init_metadata_delete ()

lasso_error_t       lasso_idwsf2_discovery_init_metadata_delete
                                                        (LassoIdWsf2Discovery *discovery);

Initialise a ID-WSF service metadata query request to a Discovery service

discovery :

a LassoIdWsf2Discovery object

Returns :

0 on success; an error code otherwise.

lasso_idwsf2_discovery_init_metadata_association_delete ()

lasso_error_t       lasso_idwsf2_discovery_init_metadata_association_delete
                                                        (LassoIdWsf2Discovery *discovery);

lasso_idwsf2_discovery_init_metadata_association_query ()

lasso_error_t       lasso_idwsf2_discovery_init_metadata_association_query
                                                        (LassoIdWsf2Discovery *discovery);

lasso_idwsf2_discovery_add_service_metadata ()

lasso_error_t       lasso_idwsf2_discovery_add_service_metadata
                                                        (LassoIdWsf2Discovery *idwsf2_discovery,
                                                         LassoIdWsf2DiscoSvcMetadata *service_metadata);

Add a new metadata object to a request.

idwsf2_discovery :

a LassoIdWsf2Discovery object

service_metadata :

a LassoIdWsf2DiscoSvcMetadata object to add to the register request.

Returns :

0 if successful, an error code otherwise.

lasso_idwsf2_discovery_add_simple_service_metadata ()

lasso_error_t       lasso_idwsf2_discovery_add_simple_service_metadata
                                                        (LassoIdWsf2Discovery *idwsf2_discovery,
                                                         const char *abstract,
                                                         const char *provider_id,
                                                         GList *service_types,
                                                         GList *options,
                                                         const char *address,
                                                         GList *security_mechanisms);

Add new metadata to the current Metadata Register request.

idwsf2_discovery :

a LassoIdWsf2Discovery object

abstract:(allow-none) :

a human description of the service

provider_id:(allow-none) :

the provider id of the service to register, if none is given, providerId of the current LassoServer object is used

service_types :

an array of service type URIs. [element-type utf8][allow-none]

options :

an array of option string. [element-type LassoIdWsf2DiscoOptions][allow-none]

address:(allow-none) :

the URI of the service endpoint for the default EndpointContext

security_mechanisms :

the security mechanisms supported by the service. [allow-none][element-type utf8]

Returns :

0 if successful, an error code otherwise.

lasso_idwsf2_discovery_get_metadatas ()

GList *             lasso_idwsf2_discovery_get_metadatas
                                                        (LassoIdWsf2Discovery *discovery);

Return the current list of metadatas in the discovery object. They can be metadatas just received through a LASSO_IDWSF2_DISCOVERY_REQUEST_TYPE_MD_REGISTER request or added through lasso_idwsf2_discovery_add_service_metadata() or lasso_idwsf2_discovery_add_simple_service_metadata().

discovery :

a LassoIdWsf2Discovery object

Returns :

the list of metadatas. [transfer none][element-type LassoIdWsf2DiscoSvcMetadata]

lasso_idwsf2_discovery_add_requested_service ()

lasso_error_t       lasso_idwsf2_discovery_add_requested_service
                                                        (LassoIdWsf2Discovery *discovery,
                                                         GList *service_types,
                                                         GList *provider_ids,
                                                         GList *options,
                                                         GList *security_mechanisms,
                                                         GList *frameworks,
                                                         GList *actions,
                                                         LassoIdWsf2DiscoveryQueryResultType result_type,
                                                         const char *req_id);

Add a new request to find some specific services associated to the current principal at the discovery service.

discovery :

a LassoIdWsf2Discovery

service_types :

the service type (or data profile) requested. [element-type utf8][allow-none]

provider_ids :

the providers ids to select. [element-type utf8][allow-none]

options :

the options to select. [element-type utf8][allow-none]

security_mechanisms :

the security mechanisms to select. [element-type utf8][allow-none]

frameworks :

the ID-WSF framework version to select. [element-type utf8][allow-none]

actions :

the actions to select. [element-type utf8][allow-none]

result_type :

how to filter the generated EPRs. [allow-none][default LASSO_IDWSF2_DISCOVERY_QUERY_RESULT_TYPE_NONE]

req_id:(allow-none) :

an eventual ID to put on the request, that can be matched with the generated EndpointReferences

Returns :

0 on success; or a negative value otherwise.

lasso_idwsf2_discovery_build_request_msg ()

lasso_error_t       lasso_idwsf2_discovery_build_request_msg
                                                        (LassoIdWsf2Discovery *discovery,
                                                         const char *security_mechanism);

Build the request message using a security mechanism to authenticate the requester and the target identity. If none is given Bearer mechanism is used.

discovery :

a LassoIdWsf2Discovery object

security_mechanism:(allow-none) :

the security mech id to use, if NULL a Bearer mechanism is used.

Returns :

0 if successful, an error code otherwise.

lasso_idwsf2_discovery_process_request_msg ()

lasso_error_t       lasso_idwsf2_discovery_process_request_msg
                                                        (LassoIdWsf2Discovery *discovery,
                                                         const char *message);

Parse a Discovery service request.

discovery :

a LassoIdWsf2Discovery object

message :

a received SOAP message

Returns :

0 if sucessful, an error code otherwise among:
  • LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ if profile is not a LassoIdWsf2Profile object,

  • LASSO_PARAM_ERROR_INVALID_VALUE if message is NULL,

  • LASSO_PROFILE_ERROR_INVALID_MSG if we cannot parse the message,

  • LASSO_SOAP_ERROR_MISSING_BODY if the message has no body content.


lasso_idwsf2_discovery_get_request_type ()

LassoIdWsf2DiscoveryRequestType lasso_idwsf2_discovery_get_request_type
                                                        (LassoIdWsf2Discovery *discovery);

Return the type of the last parsed request.

discovery :

a LassoIdWsf2Discovery object

Returns :

the type of the last parsed request.

lasso_idwsf2_discovery_validate_request ()

lasso_error_t       lasso_idwsf2_discovery_validate_request
                                                        (LassoIdWsf2Discovery *discovery);

Accept the discovery request, and produce the response.

discovery :

a LassoIdWsf2Discovery object

Returns :

0 on success; or a negative value otherwise.

lasso_idwsf2_discovery_fail_request ()

lasso_error_t       lasso_idwsf2_discovery_fail_request (LassoIdWsf2Discovery *discovery,
                                                         const char *status_code,
                                                         const char *status_code2);

Fail the last request with the given status code.

discovery :

a LassoIdWsf2Discovery

status_code :

a status code string

status_code2:(allow-none) :

a second-level status code

Returns :

0 on success; or a negative value otherwise.

lasso_idwsf2_discovery_process_response_msg ()

lasso_error_t       lasso_idwsf2_discovery_process_response_msg
                                                        (LassoIdWsf2Discovery *discovery,
                                                         const char *msg);

discovery :

a LassoIdWsf2Discovery object

msg :

a string containing the response messages

Returns :

0 if successful, an error code otherwise.

lasso_idwsf2_discovery_get_endpoint_references ()

GList *             lasso_idwsf2_discovery_get_endpoint_references
                                                        (LassoIdWsf2Discovery *discovery);

Return the list of wsa:EndpointReference returned by the last discovery query.

discovery :

a LassoIdWsf2Discovery object

Returns :

a GList of LassoWsAddrEndpointReference objects, or NULL if none is found. [transfer none][element-type LassoWsAddrEndpointReference]

lasso_idwsf2_discovery_get_svcmdids ()

GList *             lasso_idwsf2_discovery_get_svcmdids (LassoIdWsf2Discovery *discovery);

Return the list of SvcMDID, or service metadata ids, returned by the last discovery query.

discovery :

a LassoIdWsf2Discovery object

Returns :

a list of SvcMDID's. [transfer none][element-type utf8][allow-none]

lasso_idwsf2_discovery_set_svcmdids ()

void                lasso_idwsf2_discovery_set_svcmdids (LassoIdWsf2Discovery *discovery,
                                                         GList *svcmdids);

Set the list of SvcMDID, or service metadata ids.

discovery :

a LassoIdWsf2Discovery object

svcmdids :

a list of service metadata IDs. [element-type utf8][allow-none]