00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_PHASE_HOLDER_H
00020 #define AXIS2_PHASE_HOLDER_H
00021
00035 #include <axis2_const.h>
00036 #include <axutil_error.h>
00037 #include <axis2_defines.h>
00038 #include <axutil_env.h>
00039 #include <axutil_allocator.h>
00040 #include <axutil_qname.h>
00041 #include <axutil_array_list.h>
00042 #include <axis2_handler_desc.h>
00043 #include <axis2_phase.h>
00044 #include <axis2_phase_rule.h>
00045 #include <axis2_handler.h>
00046
00047 #ifdef __cplusplus
00048 extern "C"
00049 {
00050 #endif
00051
00053 typedef struct axis2_phase_holder axis2_phase_holder_t;
00054
00055 struct axis2_phase;
00056 struct axis2_handler_desc;
00057 struct axis2_handler;
00058 struct axis2_phase_rule;
00059
00066 AXIS2_EXTERN void AXIS2_CALL
00067 axis2_phase_holder_free(
00068 axis2_phase_holder_t * phase_holder,
00069 const axutil_env_t * env);
00070
00078 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00079 axis2_phase_holder_is_phase_exist(
00080 axis2_phase_holder_t * phase_holder,
00081 const axutil_env_t * env,
00082 const axis2_char_t * phase_name);
00083
00091 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00092 axis2_phase_holder_add_handler(
00093 axis2_phase_holder_t * phase_holder,
00094 const axutil_env_t * env,
00095 struct axis2_handler_desc *handler);
00096
00104 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105 axis2_phase_holder_remove_handler(
00106 axis2_phase_holder_t * phase_holder,
00107 const axutil_env_t * env,
00108 struct axis2_handler_desc *handler);
00109
00118 AXIS2_EXTERN struct axis2_phase *AXIS2_CALL
00119 axis2_phase_holder_get_phase(
00120 const axis2_phase_holder_t * phase_holder,
00121 const axutil_env_t * env,
00122 const axis2_char_t * phase_name);
00123
00137 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138 axis2_phase_holder_build_transport_handler_chain(
00139 axis2_phase_holder_t * phase_holder,
00140 const axutil_env_t * env,
00141 struct axis2_phase *phase,
00142 axutil_array_list_t * handlers);
00143
00149 AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL
00150 axis2_phase_holder_create(
00151 const axutil_env_t * env);
00152
00159 AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL
00160
00161 axis2_phase_holder_create_with_phases(
00162 const axutil_env_t * env,
00163 axutil_array_list_t * phases);
00164
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170 #endif