AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
rp_supporting_tokens_create(
    const axutil_env_t * env)
{
    rp_supporting_tokens_t *supporting_tokens = NULL;

    AXIS2_ENV_CHECK(env, NULL);

    supporting_tokens = (rp_supporting_tokens_t *) AXIS2_MALLOC(env->allocator,
                                                                sizeof
                                                                (rp_supporting_tokens_t));

    if (supporting_tokens == NULL)
    {
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return NULL;
    }
    supporting_tokens->tokens = NULL;
    supporting_tokens->tokens = axutil_array_list_create(env, 0);
    if (!(supporting_tokens->tokens))
    {
        rp_supporting_tokens_free(supporting_tokens, env);
        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
        return NULL;
    }

    supporting_tokens->algorithmsuite = NULL;
    supporting_tokens->signed_parts = NULL;
    supporting_tokens->signed_elements = NULL;
    supporting_tokens->encrypted_parts = NULL;
    supporting_tokens->encrypted_elements = NULL;
    supporting_tokens->type = 0;
    supporting_tokens->ref = 0;
    return supporting_tokens;
}
Exemplo n.º 2
0
AXIS2_EXTERN void AXIS2_CALL
rp_binding_commons_free(
    rp_binding_commons_t *binding_commons,
    const axutil_env_t *env)
{
    if(binding_commons)
    {
        if(binding_commons->algorithmsuite)
        {
            rp_algorithmsuite_free(binding_commons->algorithmsuite, env);
            binding_commons->algorithmsuite = NULL;
        }
        if(binding_commons->layout)
        {
            rp_layout_free(binding_commons->layout, env);
            binding_commons->layout = NULL;
        }
        if(binding_commons->signed_supporting_tokens)
        {
            rp_supporting_tokens_free(binding_commons->signed_supporting_tokens, env);
            binding_commons->signed_supporting_tokens = NULL;
        }
        if(binding_commons->signed_endorsing_supporting_tokens)
        {
            rp_supporting_tokens_free(binding_commons-> signed_endorsing_supporting_tokens, env);
            binding_commons->signed_endorsing_supporting_tokens = NULL;
        }
        if(binding_commons->endorsing_supporting_tokens)
        {
            rp_supporting_tokens_free(binding_commons-> endorsing_supporting_tokens, env);
            binding_commons->endorsing_supporting_tokens = NULL;
        }
        if(binding_commons->supporting_tokens)
        {
            rp_supporting_tokens_free(binding_commons->supporting_tokens, env);
            binding_commons->supporting_tokens = NULL;
        }
        AXIS2_FREE(env->allocator, binding_commons);
        binding_commons = NULL;

    }
    return;
}