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
00062 AXIS2_EXTERN void AXIS2_CALL
00063 axis2_handler_free(
00064 axis2_handler_t * handler,
00065 const axutil_env_t * env);
00066
00074 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075 axis2_handler_init(
00076 axis2_handler_t * handler,
00077 const axutil_env_t * env,
00078 struct axis2_handler_desc *handler_desc);
00079
00091 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00092 axis2_handler_invoke(
00093 axis2_handler_t * handler,
00094 const axutil_env_t * env,
00095 struct axis2_msg_ctx *msg_ctx);
00096
00103 AXIS2_EXTERN const axutil_string_t *AXIS2_CALL
00104 axis2_handler_get_name(
00105 const axis2_handler_t * handler,
00106 const axutil_env_t * env);
00107
00114 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00115 axis2_handler_get_param(
00116 const axis2_handler_t * handler,
00117 const axutil_env_t * env,
00118 const axis2_char_t * name);
00119
00126 AXIS2_EXTERN struct axis2_handler_desc *AXIS2_CALL
00127
00128 axis2_handler_get_handler_desc(
00129 const axis2_handler_t * handler,
00130 const axutil_env_t * env);
00131
00132 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00133 axis2_handler_set_invoke(
00134 axis2_handler_t * handler,
00135 const axutil_env_t * env,
00136 void *func);
00137
00144 typedef axis2_handler_t *(
00145 AXIS2_CALL
00146 * AXIS2_HANDLER_CREATE_FUNC)(
00147 const axutil_env_t * env,
00148 const axutil_string_t * name);
00149
00155 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00156 axis2_handler_create(
00157 const axutil_env_t * env);
00158
00166 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00167 axis2_ctx_handler_create(
00168 const axutil_env_t * env,
00169 const axutil_string_t * qname);
00170
00173 #ifdef __cplusplus
00174 }
00175 #endif
00176
00177 #endif