00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_PHASE_RESOLVER_H
00019 #define AXIS2_PHASE_RESOLVER_H
00020
00041 #include <axis2_const.h>
00042 #include <axutil_error.h>
00043 #include <axis2_defines.h>
00044 #include <axutil_env.h>
00045 #include <axutil_allocator.h>
00046 #include <axutil_qname.h>
00047 #include <axutil_array_list.h>
00048 #include <axutil_hash.h>
00049 #include <axis2_handler_desc.h>
00050 #include <axis2_phase.h>
00051 #include <axis2_phase_rule.h>
00052 #include <axis2_handler.h>
00053 #include <axis2_handler_desc.h>
00054 #include <axis2_flow.h>
00055 #include <axis2_module_desc.h>
00056 #include <axis2_phase_holder.h>
00057
00058 #ifdef __cplusplus
00059 extern "C"
00060 {
00061 #endif
00062
00064 typedef struct axis2_phase_resolver axis2_phase_resolver_t;
00065
00066 struct axis2_phase;
00067 struct axis2_handler_desc;
00068 struct axis2_module_desc;
00069 struct axis2_handler;
00070 struct axis2_phase_rule;
00071 struct axis2_svc;
00072 struct axis2_conf;
00073 struct axis2_op;
00074 struct axis2_phase_holder;
00075
00082 AXIS2_EXTERN void AXIS2_CALL
00083 axis2_phase_resolver_free(axis2_phase_resolver_t *phase_resolver,
00084 const axutil_env_t *env);
00085
00093 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094 axis2_phase_resolver_build_chains(axis2_phase_resolver_t *phase_resolver,
00095 const axutil_env_t *env);
00096
00104 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105 axis2_phase_resolver_build_module_op(axis2_phase_resolver_t *phase_resolver,
00106 const axutil_env_t *env,
00107 struct axis2_op *op);
00108
00115 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116 axis2_phase_resolver_build_transport_chains(axis2_phase_resolver_t *phase_resolver,
00117 const axutil_env_t *env);
00118
00119
00129 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00130 axis2_phase_resolver_engage_module_globally(axis2_phase_resolver_t *phase_resolver,
00131 const axutil_env_t *env,
00132 struct axis2_module_desc *module);
00133
00144 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145 axis2_phase_resolver_engage_module_to_svc_from_global(axis2_phase_resolver_t *phase_resolver,
00146 const axutil_env_t *env,
00147 struct axis2_svc *svc,
00148 struct axis2_module_desc *module_desc);
00149
00160 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00161 axis2_phase_resolver_engage_module_to_svc(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
00166
00177 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00178 axis2_phase_resolver_disengage_module_from_svc(axis2_phase_resolver_t *phase_resolver,
00179 const axutil_env_t *env,
00180 struct axis2_svc *svc,
00181 struct axis2_module_desc *module_desc);
00182
00191 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00192 axis2_phase_resolver_engage_module_to_op(axis2_phase_resolver_t *phase_resolver,
00193 const axutil_env_t *env,
00194 struct axis2_op *axis_op,
00195 struct axis2_module_desc *module_desc);
00196
00197
00206 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00207 axis2_phase_resolver_disengage_module_from_op(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
00212
00218 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00219 axis2_phase_resolver_create (const axutil_env_t *env);
00220
00228 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00229 axis2_phase_resolver_create_with_config (const axutil_env_t *env,
00230 struct axis2_conf *axis2_config);
00231
00241 AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00242 axis2_phase_resolver_create_with_config_and_svc(const axutil_env_t *env,
00243 struct axis2_conf *axis2_config,
00244 struct axis2_svc *svc);
00245
00248 #ifdef __cplusplus
00249 }
00250 #endif
00251 #endif