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
00045 #include <axis2_const.h>
00046 #include <axutil_error.h>
00047 #include <axis2_defines.h>
00048 #include <axutil_env.h>
00049 #include <axutil_allocator.h>
00050 #include <axutil_qname.h>
00051 #include <axutil_array_list.h>
00052 #include <axutil_hash.h>
00053 #include <axis2_handler_desc.h>
00054 #include <axis2_phase.h>
00055 #include <axis2_phase_rule.h>
00056 #include <axis2_handler.h>
00057 #include <axis2_handler_desc.h>
00058 #include <axis2_flow.h>
00059 #include <axis2_module_desc.h>
00060 #include <axis2_phase_holder.h>
00061
00062 #ifdef __cplusplus
00063 extern "C"
00064 {
00065 #endif
00066
00068 typedef struct axis2_phase_resolver axis2_phase_resolver_t;
00069
00070 struct axis2_phase;
00071 struct axis2_handler_desc;
00072 struct axis2_module_desc;
00073 struct axis2_handler;
00074 struct axis2_phase_rule;
00075 struct axis2_svc;
00076 struct axis2_conf;
00077 struct axis2_op;
00078 struct axis2_phase_holder;
00079
00086 AXIS2_EXTERN void AXIS2_CALL
00087 axis2_phase_resolver_free(
00088 axis2_phase_resolver_t * phase_resolver,
00089 const axutil_env_t * env);
00090
00098 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099 axis2_phase_resolver_build_chains(
00100 axis2_phase_resolver_t * phase_resolver,
00101 const axutil_env_t * env);
00102
00110 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111
00112 axis2_phase_resolver_build_module_op(
00113 axis2_phase_resolver_t * phase_resolver,
00114 const axutil_env_t * env,
00115 struct axis2_op *op);
00116
00123 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00124
00125 axis2_phase_resolver_build_transport_chains(
00126 axis2_phase_resolver_t * phase_resolver,
00127 const axutil_env_t * env);
00128
00138 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00139
00140 axis2_phase_resolver_engage_module_globally(
00141 axis2_phase_resolver_t * phase_resolver,
00142 const axutil_env_t * env,
00143 struct axis2_module_desc *module);
00144
00158 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159
00160 axis2_phase_resolver_engage_module_to_svc_from_global(
00161 axis2_phase_resolver_t * phase_resolver,
00162 const axutil_env_t * env,
00163 struct axis2_svc *svc,
00164 struct axis2_module_desc *module_desc);
00165
00176 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00177
00178 axis2_phase_resolver_engage_module_to_svc(
00179 axis2_phase_resolver_t * phase_resolver,
00180 const axutil_env_t * env,
00181 struct axis2_svc *svc,
00182 struct axis2_module_desc *module_desc);
00183
00194 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195
00196 axis2_phase_resolver_disengage_module_from_svc(
00197 axis2_phase_resolver_t * phase_resolver,
00198 const axutil_env_t * env,
00199 struct axis2_svc *svc,
00200 struct axis2_module_desc *module_desc);
00201
00210 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00211
00212 axis2_phase_resolver_engage_module_to_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
00228 axis2_phase_resolver_disengage_module_from_op(
00229 axis2_phase_resolver_t * phase_resolver,
00230 const axutil_env_t * env,
00231 struct axis2_op *axis_op,
00232 struct axis2_module_desc *module_desc);
00233
00239 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00240
00241 axis2_phase_resolver_create(
00242 const axutil_env_t * env);
00243
00251 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00252
00253 axis2_phase_resolver_create_with_config(
00254 const axutil_env_t * env,
00255 struct axis2_conf *axis2_config);
00256
00266 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00267
00268 axis2_phase_resolver_create_with_config_and_svc(
00269 const axutil_env_t * env,
00270 struct axis2_conf *axis2_config,
00271 struct axis2_svc *svc);
00272
00275 #ifdef __cplusplus
00276 }
00277 #endif
00278 #endif