| #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 = qname; |
| 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; |
| } |