00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_HANDLER_H
00020 #define AXIS2_HANDLER_H
00021
00041 #include <axis2_defines.h>
00042 #include <axutil_qname.h>
00043 #include <axutil_param.h>
00044
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049
00051 typedef struct axis2_handler axis2_handler_t;
00052
00053 struct axis2_handler_desc;
00054 struct axis2_msg_ctx;
00055
00056 typedef axis2_status_t(
00057 AXIS2_CALL
00058 * AXIS2_HANDLER_INVOKE) (
00059 axis2_handler_t * handler,
00060 const axutil_env_t * env,
00061 struct axis2_msg_ctx * msg_ctx);
00062
00069 AXIS2_EXTERN void AXIS2_CALL
00070 axis2_handler_free(
00071 axis2_handler_t * handler,
00072 const axutil_env_t * env);
00073
00081 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00082 axis2_handler_init(
00083 axis2_handler_t * handler,
00084 const axutil_env_t * env,
00085 struct axis2_handler_desc *handler_desc);
00086
00098 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099 axis2_handler_invoke(
00100 axis2_handler_t * handler,
00101 const axutil_env_t * env,
00102 struct axis2_msg_ctx *msg_ctx);
00103
00110 AXIS2_EXTERN const axutil_string_t *AXIS2_CALL
00111 axis2_handler_get_name(
00112 const axis2_handler_t * handler,
00113 const axutil_env_t * env);
00114
00121 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00122 axis2_handler_get_param(
00123 const axis2_handler_t * handler,
00124 const axutil_env_t * env,
00125 const axis2_char_t * name);
00126
00133 AXIS2_EXTERN struct axis2_handler_desc *AXIS2_CALL
00134
00135 axis2_handler_get_handler_desc(
00136 const axis2_handler_t * handler,
00137 const axutil_env_t * env);
00138
00139 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00140 axis2_handler_set_invoke(
00141 axis2_handler_t * handler,
00142 const axutil_env_t * env,
00143 AXIS2_HANDLER_INVOKE func);
00144
00151 typedef axis2_handler_t *(
00152 AXIS2_CALL
00153 * AXIS2_HANDLER_CREATE_FUNC)(
00154 const axutil_env_t * env,
00155 const axutil_string_t * name);
00156
00162 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00163 axis2_handler_create(
00164 const axutil_env_t * env);
00165
00173 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00174 axis2_ctx_handler_create(
00175 const axutil_env_t * env,
00176 const axutil_string_t * qname);
00177
00180 #ifdef __cplusplus
00181 }
00182 #endif
00183
00184 #endif