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