AXIS2_EXTERN void AXIS2_CALL saml_autho_decision_query_free()

in src/omxmlsec/saml/query.c [137:169]


AXIS2_EXTERN void AXIS2_CALL saml_autho_decision_query_free(saml_autho_decision_query_t* autho_decision_query, 
														   const axutil_env_t *env)
{
	int size = 0, i = 0;
	saml_action_t *action = NULL;

	if(autho_decision_query->evidence)
	{
		saml_evidence_free(autho_decision_query->evidence, env);
	}
	if(autho_decision_query->resource)
	{
		AXIS2_FREE(env->allocator, autho_decision_query->resource);
	}
	if(autho_decision_query->subject)
	{
		saml_subject_free(autho_decision_query->subject, env);
	}
	if(autho_decision_query->saml_actions)
	{
		size = axutil_array_list_size(autho_decision_query->saml_actions, env);
		for(i = 0; i < size ; i++)
		{
			action = (saml_action_t *)axutil_array_list_get(autho_decision_query->saml_actions, env, i);
			if(action)
				saml_action_free(action, env);
		}
		axutil_array_list_free(autho_decision_query->saml_actions, env);
	}
	AXIS2_FREE(env->allocator, autho_decision_query);
	autho_decision_query = NULL;
	
}