blob: a36c8f6041044cd984e7952db11fd93ae56be381 [file] [log] [blame]
#ifndef AXIS2_WSDL_BINDING_OPERATION_H
#define AXIS2_WSDL_BINDING_OPERATION_H
/**
* @file axis2_wsdl_binding_operation.h
* @brief axis2 wsdl binding_operation interface.
*/
#include <axis2.h>
#include <axis2_error.h>
#include <axis2_defines.h>
#include <axis2_env.h>
#include <axis2_allocator.h>
#include <axis2_string.h>
#include <axis2_hash.h>
#include <axis2_linked_list.h>
#include <axis2_qname.h>
#include <axis2_wsdl_extensible_component.h>
#include <axis2_wsdl_binding_msg_ref.h>
#include <axis2_wsdl_operation.h>
#include <axis2_wsdl_binding_fault.h>
#ifdef __cplusplus
extern "C"
{
#endif
struct axis2_wsdl_binding_msg_ref;
typedef struct axis2_wsdl_binding_operation_ops axis2_wsdl_binding_operation_ops_t;
typedef struct axis2_wsdl_binding_operation axis2_wsdl_binding_operation_t;
/** @defgroup axis2_wsdl_binding_operation Wsdl Binding Operation
* @ingroup axis2_wsdl
* @{
*/
/**
* @brief Wsdl Binding Operation operations struct
* Encapsulator struct for operations of axis2_wsdl_binding_operation
*/
struct axis2_wsdl_binding_operation_ops
{
/** Deallocate memory
* @return status code
*/
axis2_status_t (AXIS2_CALL *
free) (axis2_wsdl_binding_operation_t *wsdl_binding_operation,
axis2_env_t **env);
/**
* Method getInput
*
* @return message reference
*/
struct axis2_wsdl_binding_msg_ref * (AXIS2_CALL *
get_input) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env);
/**
* Method setInput
*
* @param input
*/
axis2_status_t (AXIS2_CALL *
set_input) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
struct axis2_wsdl_binding_msg_ref *input);
/**
* Method getOperation
*
* @return operation
*/
struct axis2_wsdl_operation *(AXIS2_CALL *
get_operation) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env);
/**
* Method setOperation
*
* @param operation
*/
axis2_status_t (AXIS2_CALL *
set_operation)(axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
struct axis2_wsdl_operation *operation);
/**
* Method getOutput
*
* @return message reference
*/
struct axis2_wsdl_binding_msg_ref * (AXIS2_CALL *
get_output)(axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env);
/**
* Method setOutput
*
* @param output
*/
axis2_status_t (AXIS2_CALL *
set_output) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
struct axis2_wsdl_binding_msg_ref *output);
/**
* Method getName
*
* @return QName
*/
axis2_qname_t *(AXIS2_CALL *
get_qname) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env);
/**
* Method setName
*
* @param name
*/
axis2_status_t (AXIS2_CALL *
set_qname) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
axis2_qname_t *qname);
/**
* Add the InFault to the Components InFaults
*
* @param inFault
*/
axis2_status_t (AXIS2_CALL *
add_infault) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
axis2_wsdl_binding_fault_t *infault);
/**
* Add the OutFault to the Component OutFaults
*
* @param outFault
*/
axis2_status_t (AXIS2_CALL *
add_outfault) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
axis2_wsdl_binding_fault_t *outfault);
axis2_linked_list_t * (AXIS2_CALL *
get_infaults) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env);
axis2_status_t (AXIS2_CALL *
set_infaults) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
axis2_linked_list_t *infaults);
axis2_linked_list_t * (AXIS2_CALL *
get_outfaults) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env);
axis2_status_t (AXIS2_CALL *
set_outfaults) (axis2_wsdl_binding_operation_t *binding_operation,
axis2_env_t **env,
axis2_linked_list_t *outfaults);
};
/**
* @brief Wsdl Binding Operation struct
* Axis2 Wsdl Binding Operation
* Binding Operation is used to hold wsdl_binding_operation properties
*/
struct axis2_wsdl_binding_operation
{
axis2_wsdl_binding_operation_ops_t *ops;
axis2_wsdl_extensible_component_t *extensible_component;
};
/** create Wsdl Binding Operation struct
* @return pointer to newly created wsdl wsdl_binding_operation
*/
AXIS2_DECLARE(axis2_wsdl_binding_operation_t *)
axis2_wsdl_binding_operation_create (axis2_env_t **env);
/**************************** Start of function macros ************************/
#define AXIS2_WSDL_BINDING_OPERATION_FREE(wsdl_binding_operation, env) \
((wsdl_binding_operation->ops)->free (wsdl_binding_operation, env))
#define AXIS2_WSDL_BINDING_OPERATION_SET_INPUT(wsdl_binding_operation, env, \
inut) \
((wsdl_binding_operation->ops)->set_input(wsdl_binding_operation , env, \
input)
#define AXIS2_WSDL_BINDING_OPERATION_GET_OPERATION(wsdl_binding_operation, env) \
((wsdl_binding_operation->ops)->get_operation(wsdl_binding_operation, env))
#define AXIS2_WSDL_BINDING_OPERATION_SET_OPERATION(wsdl_binding_operation, env, \
key, operation) \
((wsdl_binding_operation->ops)->set_operation(wsdl_binding_operation, env,\
key, operation))
#define AXIS2_WSDL_BINDING_OPERATION_GET_OUTPUT(wsdl_binding_operation, env) \
((wsdl_binding_operation->ops)->get_output(wsdl_binding_operation, env))
#define AXIS2_WSDL_BINDING_OPERATION_SET_OUTPUT(wsdl_binding_operation, env, output) \
((wsdl_binding_operation->ops)->set_output(wsdl_binding_operation, env, output))
#define AXIS2_WSDL_BINDING_OPERATION_GET_QNAME(wsdl_binding_operation, env) \
((wsdl_binding_operation->ops)->get_qname(wsdl_binding_operation, env))
#define AXIS2_WSDL_BINDING_OPERATION_SET_QNAME(wsdl_binding_operation, env, qname) \
((wsdl_binding_operation->ops)->set_qname(wsdl_binding_operation, env, qname))
#define AXIS2_WSDL_BINDING_OPERATION_ADD_INFAULT(wsdl_binding_operation, env, infault) \
((wsdl_binding_operation->ops)->add_infault(wsdl_binding_operation, env, infault))
#define AXIS2_WSDL_BINDING_OPERATION_ADD_OUTFAULT(wsdl_binding_operation, env, outfault) \
((wsdl_binding_operation->ops)->add_outfault(wsdl_binding_operation, env, outfault))
#define AXIS2_WSDL_BINDING_OPERATION_GET_INFAULTS(wsdl_binding_operation, env) \
((wsdl_binding_operation->ops)->get_infaults(wsdl_binding_operation, env))
#define AXIS2_WSDL_BINDING_OPERATION_SET_INFAULTS(wsdl_binding_operation, env, infaults) \
((wsdl_binding_operation->ops)->set_infaults(wsdl_binding_operation, env, infaults))
#define AXIS2_WSDL_BINDING_OPERATION_GET_OUTFAULTS(wsdl_binding_operation, env) \
((wsdl_binding_operation->ops)->get_outfaults(wsdl_binding_operation, env))
#define AXIS2_WSDL_BINDING_OPERATION_SET_OUTFAULTS(wsdl_binding_operation, env, outfaults) \
((wsdl_binding_operation->ops)->set_outfaults(wsdl_binding_operation, env, outfaults))
/**************************** End of function macros **************************/
/** @} */
#ifdef __cplusplus
}
#endif
#endif /*AXIS2_WSDL_BINDING_OPERATION_H*/