00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_PHASE_RESOLVER_H
00020 #define AXIS2_PHASE_RESOLVER_H
00021
00064 #include <axis2_const.h>
00065 #include <axutil_error.h>
00066 #include <axis2_defines.h>
00067 #include <axutil_env.h>
00068 #include <axutil_allocator.h>
00069 #include <axutil_qname.h>
00070 #include <axutil_array_list.h>
00071 #include <axutil_hash.h>
00072 #include <axis2_handler_desc.h>
00073 #include <axis2_phase.h>
00074 #include <axis2_phase_rule.h>
00075 #include <axis2_handler.h>
00076 #include <axis2_handler_desc.h>
00077 #include <axis2_flow.h>
00078 #include <axis2_module_desc.h>
00079 #include <axis2_phase_holder.h>
00080
00081 #ifdef __cplusplus
00082 extern "C"
00083 {
00084 #endif
00085
00087 typedef struct axis2_phase_resolver axis2_phase_resolver_t;
00088
00089 struct axis2_phase;
00090 struct axis2_handler_desc;
00091 struct axis2_module_desc;
00092 struct axis2_handler;
00093 struct axis2_phase_rule;
00094 struct axis2_svc;
00095 struct axis2_conf;
00096 struct axis2_op;
00097 struct axis2_phase_holder;
00098
00105 AXIS2_EXTERN void AXIS2_CALL
00106 axis2_phase_resolver_free(
00107 axis2_phase_resolver_t * phase_resolver,
00108 const axutil_env_t * env);
00109
00119 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120
00121 axis2_phase_resolver_engage_module_globally(
00122 axis2_phase_resolver_t * phase_resolver,
00123 const axutil_env_t * env,
00124 struct axis2_module_desc *module);
00125
00136 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137
00138 axis2_phase_resolver_engage_module_to_svc(
00139 axis2_phase_resolver_t * phase_resolver,
00140 const axutil_env_t * env,
00141 struct axis2_svc *svc,
00142 struct axis2_module_desc *module_desc);
00143
00152 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153 axis2_phase_resolver_engage_module_to_op(
00154 axis2_phase_resolver_t * phase_resolver,
00155 const axutil_env_t * env,
00156 struct axis2_op *axis_op,
00157 struct axis2_module_desc *module_desc);
00158
00167 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168 axis2_phase_resolver_build_execution_chains_for_svc(
00169 axis2_phase_resolver_t * phase_resolver,
00170 const axutil_env_t * env);
00171
00179 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00180
00181 axis2_phase_resolver_build_execution_chains_for_module_op(
00182 axis2_phase_resolver_t * phase_resolver,
00183 const axutil_env_t * env,
00184 struct axis2_op *op);
00185
00196 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00197 axis2_phase_resolver_disengage_module_from_svc(
00198 axis2_phase_resolver_t * phase_resolver,
00199 const axutil_env_t * env,
00200 struct axis2_svc *svc,
00201 struct axis2_module_desc *module_desc);
00202
00211 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00212 axis2_phase_resolver_disengage_module_from_op(
00213 axis2_phase_resolver_t * phase_resolver,
00214 const axutil_env_t * env,
00215 struct axis2_op *axis_op,
00216 struct axis2_module_desc *module_desc);
00217
00226 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00227 axis2_phase_resolver_build_transport_chains(
00228 axis2_phase_resolver_t * phase_resolver,
00229 const axutil_env_t * env);
00230
00236 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00237
00238 axis2_phase_resolver_create(
00239 const axutil_env_t * env);
00240
00248 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00249
00250 axis2_phase_resolver_create_with_config(
00251 const axutil_env_t * env,
00252 struct axis2_conf *axis2_config);
00253
00263 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00264
00265 axis2_phase_resolver_create_with_config_and_svc(
00266 const axutil_env_t * env,
00267 struct axis2_conf *axis2_config,
00268 struct axis2_svc *svc);
00269
00272 #ifdef __cplusplus
00273 }
00274 #endif
00275 #endif