AXIS2_EXTERN int AXIS2_CALL saml_query_build()

in src/omxmlsec/saml/query.c [588:636]


AXIS2_EXTERN int AXIS2_CALL saml_query_build(saml_query_t *query, axiom_node_t *node, const axutil_env_t *env)
{
	if(!axutil_strcmp(query->type,SAML_SUBJECT_QUERY))
	{
		query->query = saml_subject_query_create(env);
		if(query->query)
		{
			saml_subject_query_build((saml_subject_query_t*)query->query, node, env);
			return AXIS2_SUCCESS;
		}
		else 
			return AXIS2_FAILURE;
	}
	if(!axutil_strcmp(query->type, SAML_AUTHENTICATION_QUERY))
	{
		query->query = saml_authentication_query_create(env);
		if(query->query)
		{	
			saml_authentication_query_build((saml_authentication_query_t*)query->query, node, env);
			return AXIS2_SUCCESS;
		}
		else 
			return AXIS2_FAILURE;
	}
	if(!axutil_strcmp(query->type, SAML_ATTRIBUTE_QUERY))
	{
		query->query = saml_attr_query_create(env);
		if(query->query)
		{
			saml_attr_query_build((saml_attr_query_t*)query->query, node, env);
			return AXIS2_SUCCESS;
		}
		else
			return AXIS2_FAILURE;
	}
	if(!axutil_strcmp(query->type, SAML_AUTHORIZATION_DECISION_QUERY))
	{
		query->query = saml_autho_decision_query_create(env);
		if(query->query)
		{
			saml_autho_decision_query_build((saml_autho_decision_query_t*)query->query, node, env);
			return AXIS2_SUCCESS;
		}
		else 
			return AXIS2_FAILURE;
	}
	else
		return AXIS2_FAILURE;
}