00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_WSDL_OP_H
00019 #define AXIS2_WSDL_OP_H
00020
00026 #include <axis2_const.h>
00027 #include <axis2_error.h>
00028 #include <axis2_defines.h>
00029 #include <axis2_env.h>
00030 #include <axis2_allocator.h>
00031 #include <axis2_string.h>
00032 #include <axis2_hash.h>
00033
00034 #include <axis2_qname.h>
00035 #include <axis2_wsdl_component.h>
00036 #include <axis2_linked_list.h>
00037 #include <axis2_wsdl_msg_ref.h>
00038 #include <axis2_wsdl_fault_ref.h>
00039 #include <axis2_wsdl_svc.h>
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 struct axis2_wsdl_extensible_component;
00046 struct axis2_wsdl_fault_ref;
00047 typedef struct axis2_wsdl_op_ops axis2_wsdl_op_ops_t;
00048 typedef struct axis2_wsdl_op axis2_wsdl_op_t;
00049
00050
00056 struct axis2_wsdl_op_ops
00057 {
00062 axis2_status_t (AXIS2_CALL *
00063 free) (axis2_wsdl_op_t *wsdl_op,
00064 const axis2_env_t *env);
00065
00071 axis2_status_t (AXIS2_CALL *
00072 free_void_arg) (void *wsdl_op,
00073 const axis2_env_t *env);
00074
00080 axis2_status_t (AXIS2_CALL *
00081 set_msg_exchange_pattern) (axis2_wsdl_op_t *wsdl_op,
00082 const axis2_env_t *env,
00083 const axis2_char_t *msg_exchange_pattern);
00084
00089 axis2_char_t *(AXIS2_CALL *
00090 get_msg_exchange_pattern) (axis2_wsdl_op_t *wsdl_op,
00091 const axis2_env_t *env);
00092
00097 axis2_status_t (AXIS2_CALL *
00098 set_qname) (axis2_wsdl_op_t *wsdl_op,
00099 const axis2_env_t *env,
00100 const axis2_qname_t *name);
00101
00106 const axis2_qname_t *(AXIS2_CALL *
00107 get_qname) (void *wsdl_op,
00108 const axis2_env_t *env);
00109
00110
00116 axis2_status_t (AXIS2_CALL *
00117 set_style) (axis2_wsdl_op_t *wsdl_op,
00118 const axis2_env_t *env,
00119 const axis2_char_t *style);
00120
00125 axis2_char_t *(AXIS2_CALL *
00126 get_style) (axis2_wsdl_op_t *wsdl_op,
00127 const axis2_env_t *env);
00128
00129
00135 axis2_linked_list_t * (AXIS2_CALL *
00136 get_in_faults) (axis2_wsdl_op_t *wsdl_op,
00137 const axis2_env_t *env);
00138
00144 axis2_status_t (AXIS2_CALL *
00145 set_in_faults) (axis2_wsdl_op_t *wsdl_op,
00146 const axis2_env_t *env,
00147 axis2_linked_list_t *in_faults);
00148
00154 struct axis2_wsdl_msg_ref *(AXIS2_CALL *
00155 get_input_msg) (axis2_wsdl_op_t *wsdl_op,
00156 const axis2_env_t *env);
00157
00163 axis2_status_t (AXIS2_CALL *
00164 set_input_msg) (axis2_wsdl_op_t *wsdl_op,
00165 const axis2_env_t *env,
00166 struct axis2_wsdl_msg_ref *input_msg);
00167
00173 axis2_linked_list_t *(AXIS2_CALL *
00174 get_out_faults)(axis2_wsdl_op_t *wsdl_op,
00175 const axis2_env_t *env);
00176
00182 axis2_status_t (AXIS2_CALL *
00183 set_out_faults) (axis2_wsdl_op_t *wsdl_op,
00184 const axis2_env_t *env,
00185 axis2_linked_list_t *out_faults);
00186
00192 struct axis2_wsdl_msg_ref *(AXIS2_CALL *
00193 get_output_msg) (axis2_wsdl_op_t *wsdl_op,
00194 const axis2_env_t *env);
00195
00201 axis2_status_t (AXIS2_CALL *
00202 set_output_msg) (axis2_wsdl_op_t *wsdl_op,
00203 const axis2_env_t *env,
00204 struct axis2_wsdl_msg_ref *output_msg);
00205
00211 axis2_bool_t (AXIS2_CALL *
00212 is_safe) (axis2_wsdl_op_t *wsdl_op,
00213 const axis2_env_t *env);
00214
00220 axis2_status_t (AXIS2_CALL *
00221 set_safety) (axis2_wsdl_op_t *wsdl_op,
00222 const axis2_env_t *env,
00223 axis2_bool_t safe);
00224
00230 axis2_char_t *(AXIS2_CALL *
00231 get_target_namespace) (axis2_wsdl_op_t *wsdl_op,
00232 const axis2_env_t *env);
00233
00239 axis2_status_t (AXIS2_CALL *
00240 add_in_fault) (axis2_wsdl_op_t *wsdl_op,
00241 const axis2_env_t *env,
00242 struct axis2_wsdl_fault_ref *in_fault);
00243
00249 axis2_status_t (AXIS2_CALL *
00250 add_out_fault) (axis2_wsdl_op_t *wsdl_op,
00251 const axis2_env_t *env,
00252 struct axis2_wsdl_fault_ref *out_fault);
00253 };
00254
00255 struct axis2_wsdl_op
00256 {
00257 axis2_wsdl_op_ops_t *ops;
00258 struct axis2_wsdl_extensible_component *extensible_component;
00259 };
00260
00261 AXIS2_EXTERN axis2_wsdl_op_t * AXIS2_CALL
00262 axis2_wsdl_op_create (const axis2_env_t *env);
00263
00264 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00265 axis2_wsdl_op_free_void_arg(void *wsdl_op,
00266 const axis2_env_t *env);
00267
00268
00269
00270 #define AXIS2_WSDL_OP_FREE(wsdl_op, env) \
00271 ((wsdl_op)->ops->free (wsdl_op, env))
00272
00273 #define AXIS2_WSDL_OP_FREE_VOID_ARG(wsdl_op, env) \
00274 (((axis2_wsdl_op_t *) wsdl_op)->ops->free_void_arg(wsdl_op, env))
00275
00276 #define AXIS2_WSDL_OP_GET_MSG_EXCHANGE_PATTERN(wsdl_op, env) \
00277 ((wsdl_op)->ops->get_msg_exchange_pattern(wsdl_op, env))
00278
00279 #define AXIS2_WSDL_OP_SET_MSG_EXCHANGE_PATTERN(wsdl_op, env, pattern) \
00280 ((wsdl_op)->ops->set_msg_exchange_pattern(wsdl_op, env, pattern))
00281
00282 #define AXIS2_WSDL_OP_GET_QNAME(wsdl_op, env) \
00283 (((axis2_wsdl_op_t *) wsdl_op)->ops->get_qname(wsdl_op, env))
00284
00285 #define AXIS2_WSDL_OP_SET_QNAME(wsdl_op, env, name) \
00286 ((wsdl_op)->ops->set_qname(wsdl_op, env, name))
00287
00288 #define AXIS2_WSDL_OP_SET_STYLE(wsdl_op, env, style) \
00289 ((wsdl_op)->ops->set_style(wsdl_op, env, style))
00290
00291 #define AXIS2_WSDL_OP_GET_STYLE(wsdl_op, env) \
00292 ((wsdl_op)->ops->get_style(wsdl_op, env))
00293
00294 #define AXIS2_WSDL_OP_GET_IN_FAULTS(wsdl_op, env) \
00295 ((wsdl_op)->ops->get_in_faults(wsdl_op, env))
00296
00297 #define AXIS2_WSDL_OP_SET_IN_FAULTS(wsdl_op, env, in_faults) \
00298 ((wsdl_op)->ops->set_in_faults(wsdl_op, env, in_faults))
00299
00300 #define AXIS2_WSDL_OP_GET_INPUT_MSG(wsdl_op, env) \
00301 ((wsdl_op)->ops->get_input_msg(wsdl_op, env))
00302
00303 #define AXIS2_WSDL_OP_SET_INPUT_MSG(wsdl_op, env, input_msg) \
00304 ((wsdl_op)->ops->set_input_msg(wsdl_op, env, input_msg))
00305
00306 #define AXIS2_WSDL_OP_GET_OUT_FAULTS(wsdl_op, env) \
00307 ((wsdl_op)->ops->get_out_faults(wsdl_op, env))
00308
00309 #define AXIS2_WSDL_OP_SET_OUT_FAULTS(wsdl_op, env, out_faults) \
00310 ((wsdl_op)->ops->set_out_faults(wsdl_op, env, out_faults))
00311
00312 #define AXIS2_WSDL_OP_GET_OUTPUT_MSG(wsdl_op, env) \
00313 ((wsdl_op)->ops->get_output_msg(wsdl_op, env))
00314
00315 #define AXIS2_WSDL_OP_SET_OUTPUT_MSG(wsdl_op, env, output_msg) \
00316 ((wsdl_op)->ops->set_output_msg(wsdl_op, env, output_msg))
00317
00318 #define AXIS2_WSDL_OP_IS_SAFE(wsdl_op, env) \
00319 ((wsdl_op)->ops->is_safe(wsdl_op, env))
00320
00321 #define AXIS2_WSDL_OP_SET_SAFETY(wsdl_op, env, safe) \
00322 ((wsdl_op)->ops->set_safety(wsdl_op, env, safe))
00323
00324 #define AXIS2_WSDL_OP_GET_TARGET_NAMESPACE(wsdl_op, env) \
00325 ((wsdl_op)->ops->get_target_namespace(wsdl_op, env))
00326
00327 #define AXIS2_WSDL_OP_ADD_IN_FAULT(wsdl_op, env, in_fault) \
00328 ((wsdl_op)->ops->add_in_fault(wsdl_op, env, in_fault))
00329
00330 #define AXIS2_WSDL_OP_ADD_OUT_FAULT(wsdl_op, env, out_fault) \
00331 ((wsdl_op)->ops->add_out_fault(wsdl_op, env, out_fault))
00332
00333
00334
00336 #ifdef __cplusplus
00337 }
00338 #endif
00339 #endif