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
00042 #include <axis2_const.h>
00043 #include <axutil_error.h>
00044 #include <axis2_defines.h>
00045 #include <axutil_env.h>
00046 #include <axutil_allocator.h>
00047 #include <axutil_qname.h>
00048 #include <axutil_array_list.h>
00049 #include <axutil_hash.h>
00050 #include <axis2_handler_desc.h>
00051 #include <axis2_phase.h>
00052 #include <axis2_phase_rule.h>
00053 #include <axis2_handler.h>
00054 #include <axis2_handler_desc.h>
00055 #include <axis2_flow.h>
00056 #include <axis2_module_desc.h>
00057 #include <axis2_phase_holder.h>
00058
00059 #ifdef __cplusplus
00060 extern "C"
00061 {
00062 #endif
00063
00065 typedef struct axis2_phase_resolver axis2_phase_resolver_t;
00066
00067 struct axis2_phase;
00068 struct axis2_handler_desc;
00069 struct axis2_module_desc;
00070 struct axis2_handler;
00071 struct axis2_phase_rule;
00072 struct axis2_svc;
00073 struct axis2_conf;
00074 struct axis2_op;
00075 struct axis2_phase_holder;
00076
00083 AXIS2_EXTERN void AXIS2_CALL
00084 axis2_phase_resolver_free(
00085 axis2_phase_resolver_t * phase_resolver,
00086 const axutil_env_t * env);
00087
00095 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00096 axis2_phase_resolver_build_chains(
00097 axis2_phase_resolver_t * phase_resolver,
00098 const axutil_env_t * env);
00099
00107 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108
00109 axis2_phase_resolver_build_module_op(
00110 axis2_phase_resolver_t * phase_resolver,
00111 const axutil_env_t * env,
00112 struct axis2_op *op);
00113
00120 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121
00122 axis2_phase_resolver_build_transport_chains(
00123 axis2_phase_resolver_t * phase_resolver,
00124 const axutil_env_t * env);
00125
00135 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136
00137 axis2_phase_resolver_engage_module_globally(
00138 axis2_phase_resolver_t * phase_resolver,
00139 const axutil_env_t * env,
00140 struct axis2_module_desc *module);
00141
00152 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153
00154 axis2_phase_resolver_engage_module_to_svc_from_global(
00155 axis2_phase_resolver_t * phase_resolver,
00156 const axutil_env_t * env,
00157 struct axis2_svc *svc,
00158 struct axis2_module_desc *module_desc);
00159
00170 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171
00172 axis2_phase_resolver_engage_module_to_svc(
00173 axis2_phase_resolver_t * phase_resolver,
00174 const axutil_env_t * env,
00175 struct axis2_svc *svc,
00176 struct axis2_module_desc *module_desc);
00177
00188 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189
00190 axis2_phase_resolver_disengage_module_from_svc(
00191 axis2_phase_resolver_t * phase_resolver,
00192 const axutil_env_t * env,
00193 struct axis2_svc *svc,
00194 struct axis2_module_desc *module_desc);
00195
00204 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00205
00206 axis2_phase_resolver_engage_module_to_op(
00207 axis2_phase_resolver_t * phase_resolver,
00208 const axutil_env_t * env,
00209 struct axis2_op *axis_op,
00210 struct axis2_module_desc *module_desc);
00211
00220 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00221
00222 axis2_phase_resolver_disengage_module_from_op(
00223 axis2_phase_resolver_t * phase_resolver,
00224 const axutil_env_t * env,
00225 struct axis2_op *axis_op,
00226 struct axis2_module_desc *module_desc);
00227
00233 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00234
00235 axis2_phase_resolver_create(
00236 const axutil_env_t * env);
00237
00245 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00246
00247 axis2_phase_resolver_create_with_config(
00248 const axutil_env_t * env,
00249 struct axis2_conf *axis2_config);
00250
00260 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00261
00262 axis2_phase_resolver_create_with_config_and_svc(
00263 const axutil_env_t * env,
00264 struct axis2_conf *axis2_config,
00265 struct axis2_svc *svc);
00266
00269 #ifdef __cplusplus
00270 }
00271 #endif
00272 #endif