blob: c780107a16e3b60642093be78506dd4443d3f36e [file] [log] [blame]
#include <axis2_wsdl_binding_op.h>
/**
* @brief Wsdl Component struct impl
* Axis2 Wsdl Component impl
*/
typedef struct axis2_wsdl_binding_op_impl
{
axis2_wsdl_binding_op_t binding_op;
/**
* Field name
*/
axis2_qname_t *qname;
/**
* Field in_faults
*/
axis2_linked_list_t *in_faults;
/**
* Field out_faults
*/
axis2_linked_list_t *out_faults;
/**
* Field op
*/
void *op;
/**
* Field input
*/
axis2_wsdl_binding_msg_ref_t *input;
/**
* Field output
*/
axis2_wsdl_binding_msg_ref_t *output;
} axis2_wsdl_binding_op_impl_t;
#define AXIS2_INTF_TO_IMPL(wsdl_binding_op) \
((axis2_wsdl_binding_op_impl_t *)(wsdl_binding_op))
/***************************** Function headers *******************************/
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_free (axis2_wsdl_binding_op_t *wsdl_binding_op,
axis2_env_t **env);
axis2_wsdl_binding_msg_ref_t * AXIS2_CALL
axis2_wsdl_binding_op_get_input(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_input(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_msg_ref_t *input);
void *AXIS2_CALL
axis2_wsdl_binding_op_get_op(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_op(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
void *op);
axis2_wsdl_binding_msg_ref_t * AXIS2_CALL
axis2_wsdl_binding_op_get_output(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_output(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_msg_ref_t *output);
axis2_qname_t *AXIS2_CALL
axis2_wsdl_binding_op_get_qname(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_qname(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_qname_t *qname);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_add_in_fault(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_fault_t *in_fault);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_add_out_fault(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_fault_t *out_fault);
axis2_linked_list_t * AXIS2_CALL
axis2_wsdl_binding_op_get_in_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_in_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_linked_list_t *in_faults);
axis2_linked_list_t * AXIS2_CALL
axis2_wsdl_binding_op_get_out_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env);
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_out_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_linked_list_t *out_faults);
/***************************** End of function headers ************************/
axis2_wsdl_binding_op_t * AXIS2_CALL
axis2_wsdl_binding_op_create (axis2_env_t **env)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
binding_op_impl = (axis2_wsdl_binding_op_impl_t *)
AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_binding_op_impl_t));
if(NULL == binding_op_impl)
{
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
binding_op_impl->qname = NULL;
binding_op_impl->op = NULL;
binding_op_impl->input = NULL;
binding_op_impl->output = NULL;
binding_op_impl->in_faults = NULL;
binding_op_impl->out_faults = NULL;
binding_op_impl->binding_op.extensible_component = NULL;
binding_op_impl->binding_op.ops = NULL;
binding_op_impl->in_faults = axis2_linked_list_create (env);
if(NULL == binding_op_impl->in_faults)
{
axis2_wsdl_binding_op_free(&(binding_op_impl->binding_op),
env);
AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
binding_op_impl->out_faults = axis2_linked_list_create (env);
if(NULL == binding_op_impl->out_faults)
{
axis2_wsdl_binding_op_free(&(binding_op_impl->binding_op),
env);
AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
binding_op_impl->binding_op.extensible_component =
axis2_wsdl_extensible_component_create(env);
if(NULL == binding_op_impl->binding_op.extensible_component)
{
axis2_wsdl_binding_op_free(&(binding_op_impl->binding_op),
env);
AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
binding_op_impl->binding_op.ops = (axis2_wsdl_binding_op_ops_t *)
AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_binding_op_ops_t));
if(NULL == binding_op_impl->binding_op.ops)
{
axis2_wsdl_binding_op_free(&(binding_op_impl->binding_op),
env);
AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
binding_op_impl->binding_op.ops->free = axis2_wsdl_binding_op_free;
binding_op_impl->binding_op.ops->get_input =
axis2_wsdl_binding_op_get_input;
binding_op_impl->binding_op.ops->set_input =
axis2_wsdl_binding_op_set_input;
binding_op_impl->binding_op.ops->get_op =
axis2_wsdl_binding_op_get_op;
binding_op_impl->binding_op.ops->set_op =
axis2_wsdl_binding_op_set_op;
binding_op_impl->binding_op.ops->get_output =
axis2_wsdl_binding_op_get_output;
binding_op_impl->binding_op.ops->set_output =
axis2_wsdl_binding_op_set_output;
binding_op_impl->binding_op.ops->get_qname =
axis2_wsdl_binding_op_get_qname;
binding_op_impl->binding_op.ops->set_qname =
axis2_wsdl_binding_op_set_qname;
binding_op_impl->binding_op.ops->add_in_fault =
axis2_wsdl_binding_op_add_in_fault;
binding_op_impl->binding_op.ops->add_out_fault =
axis2_wsdl_binding_op_add_out_fault;
binding_op_impl->binding_op.ops->get_in_faults =
axis2_wsdl_binding_op_get_in_faults;
binding_op_impl->binding_op.ops->set_in_faults =
axis2_wsdl_binding_op_set_in_faults;
binding_op_impl->binding_op.ops->get_out_faults =
axis2_wsdl_binding_op_get_out_faults;
binding_op_impl->binding_op.ops->set_out_faults =
axis2_wsdl_binding_op_set_out_faults;
return &(binding_op_impl->binding_op);
}
/******************************************************************************/
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_free (axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
if(NULL != binding_op->ops)
{
AXIS2_FREE((*env)->allocator, binding_op->ops);
binding_op->ops = NULL;
}
if(NULL != binding_op_impl->in_faults)
{
void *val = NULL;
int i = 0;
for (i = 0; i < AXIS2_LINKED_LIST_SIZE(binding_op_impl->in_faults, env); i++)
{
axis2_wsdl_binding_fault_t *binding_fault = NULL;
binding_fault = AXIS2_LINKED_LIST_GET(binding_op_impl->in_faults, env, i);
binding_fault = (axis2_wsdl_binding_fault_t *) val;
if (binding_fault)
AXIS2_WSDL_BINDING_FAULT_FREE (binding_fault, env);
val = NULL;
binding_fault = NULL;
}
AXIS2_LINKED_LIST_FREE(binding_op_impl->in_faults, env);
binding_op_impl->in_faults = NULL;
}
if(NULL != binding_op_impl->out_faults)
{
void *val = NULL;
int i = 0;
for (i = 0; i < AXIS2_LINKED_LIST_SIZE(binding_op_impl->out_faults, env); i++)
{
axis2_wsdl_binding_fault_t *binding_fault = NULL;
binding_fault = AXIS2_LINKED_LIST_GET(binding_op_impl->out_faults, env, i);
binding_fault = (axis2_wsdl_binding_fault_t *) val;
if (binding_fault)
AXIS2_WSDL_BINDING_FAULT_FREE (binding_fault, env);
val = NULL;
binding_fault = NULL;
}
AXIS2_LINKED_LIST_FREE(binding_op_impl->out_faults, env);
binding_op_impl->out_faults = NULL;
}
if(NULL != binding_op->extensible_component)
{
AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(binding_op->
extensible_component, env);
binding_op->extensible_component = NULL;
}
if(binding_op_impl)
AXIS2_FREE((*env)->allocator, binding_op_impl);
binding_op_impl = NULL;
return AXIS2_SUCCESS;
}
axis2_wsdl_binding_msg_ref_t * AXIS2_CALL
axis2_wsdl_binding_op_get_input(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env)
{
AXIS2_ENV_CHECK(env, NULL);
return AXIS2_INTF_TO_IMPL(binding_op)->input;
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_input(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_msg_ref_t *input)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, input, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
if(binding_op_impl->input)
{
AXIS2_WSDL_BINDING_MSG_REF_FREE(binding_op_impl->input, env);
binding_op_impl->input = NULL;
}
binding_op_impl->input = input;
return AXIS2_SUCCESS;
}
void *AXIS2_CALL
axis2_wsdl_binding_op_get_op(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env)
{
AXIS2_ENV_CHECK(env, NULL);
return AXIS2_INTF_TO_IMPL(binding_op)->op;
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_op(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
void *op)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, op, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
if(NULL != binding_op_impl->op)
{
axis2_wsdl_op_free_void_arg(op, env);
binding_op_impl->op = NULL;
}
binding_op_impl->op = op;
return AXIS2_SUCCESS;
}
axis2_wsdl_binding_msg_ref_t * AXIS2_CALL
axis2_wsdl_binding_op_get_output(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env)
{
AXIS2_ENV_CHECK(env, NULL);
return AXIS2_INTF_TO_IMPL(binding_op)->output;
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_output(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_msg_ref_t *output)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, output, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
if(binding_op_impl->output)
{
AXIS2_WSDL_BINDING_MSG_REF_FREE(binding_op_impl->output, env);
binding_op_impl->output = NULL;
}
binding_op_impl->output = output;
return AXIS2_SUCCESS;
}
axis2_qname_t *AXIS2_CALL
axis2_wsdl_binding_op_get_qname(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env)
{
AXIS2_ENV_CHECK(env, NULL);
return AXIS2_INTF_TO_IMPL(binding_op)->qname;
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_qname(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_qname_t *qname)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, qname, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
if(binding_op_impl->qname)
{
AXIS2_QNAME_FREE(binding_op_impl->qname, env);
binding_op_impl->qname = NULL;
}
binding_op_impl->qname = AXIS2_QNAME_CLONE(qname, env);
return AXIS2_SUCCESS;
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_add_in_fault(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_fault_t *in_fault)
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, in_fault, AXIS2_FAILURE);
return AXIS2_LINKED_LIST_ADD(AXIS2_INTF_TO_IMPL(binding_op)->in_faults,
env, in_fault);
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_add_out_fault(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_wsdl_binding_fault_t *out_fault)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, out_fault, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
return AXIS2_LINKED_LIST_ADD(binding_op_impl->out_faults,
env, out_fault);
}
axis2_linked_list_t * AXIS2_CALL
axis2_wsdl_binding_op_get_in_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env)
{
AXIS2_ENV_CHECK(env, NULL);
return AXIS2_INTF_TO_IMPL(binding_op)->in_faults;
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_in_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_linked_list_t *in_faults)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, in_faults, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
if(NULL != binding_op_impl->out_faults)
{
void *val = NULL;
int i = 0;
for (i = 0; i < AXIS2_LINKED_LIST_SIZE(binding_op_impl->out_faults, env); i++)
{
axis2_wsdl_binding_fault_t *binding_fault = NULL;
binding_fault = AXIS2_LINKED_LIST_GET(binding_op_impl->out_faults, env, i);
binding_fault = (axis2_wsdl_binding_fault_t *) val;
if (binding_fault)
AXIS2_WSDL_BINDING_FAULT_FREE (binding_fault, env);
val = NULL;
binding_fault = NULL;
}
AXIS2_LINKED_LIST_FREE(binding_op_impl->out_faults, env);
binding_op_impl->out_faults = NULL;
}
binding_op_impl->in_faults = in_faults;
return AXIS2_SUCCESS;
}
axis2_linked_list_t * AXIS2_CALL
axis2_wsdl_binding_op_get_out_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env)
{
AXIS2_ENV_CHECK(env, NULL);
return AXIS2_INTF_TO_IMPL(binding_op)->out_faults;
}
axis2_status_t AXIS2_CALL
axis2_wsdl_binding_op_set_out_faults(axis2_wsdl_binding_op_t *binding_op,
axis2_env_t **env,
axis2_linked_list_t *out_faults)
{
axis2_wsdl_binding_op_impl_t *binding_op_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, out_faults, AXIS2_FAILURE);
binding_op_impl = AXIS2_INTF_TO_IMPL(binding_op);
if(NULL != binding_op_impl->out_faults)
{
void *val = NULL;
int i = 0;
for (i = 0; i < AXIS2_LINKED_LIST_SIZE(binding_op_impl->out_faults, env); i++)
{
axis2_wsdl_binding_fault_t *binding_fault = NULL;
binding_fault = AXIS2_LINKED_LIST_GET(binding_op_impl->out_faults, env, i);
binding_fault = (axis2_wsdl_binding_fault_t *) val;
if (binding_fault)
AXIS2_WSDL_BINDING_FAULT_FREE (binding_fault, env);
val = NULL;
binding_fault = NULL;
}
AXIS2_LINKED_LIST_FREE(binding_op_impl->out_faults, env);
binding_op_impl->out_faults = NULL;
}
binding_op_impl->out_faults = out_faults;
return AXIS2_SUCCESS;
}