00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_HANDLER_H
00019 #define AXIS2_HANDLER_H
00020
00040 #include <axis2_defines.h>
00041 #include <axutil_qname.h>
00042 #include <axutil_param.h>
00043
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048
00050 typedef struct axis2_handler axis2_handler_t;
00051
00052 struct axis2_handler_desc;
00053 struct axis2_msg_ctx;
00054
00055
00062 AXIS2_EXTERN void AXIS2_CALL
00063 axis2_handler_free(axis2_handler_t *handler,
00064 const axutil_env_t *env);
00065
00066
00074 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075 axis2_handler_init(axis2_handler_t *handler,
00076 const axutil_env_t *env,
00077 struct axis2_handler_desc *handler_desc);
00078
00090 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091 axis2_handler_invoke(axis2_handler_t *handler,
00092 const axutil_env_t *env,
00093 struct axis2_msg_ctx *msg_ctx);
00094
00101 AXIS2_EXTERN const axutil_string_t *AXIS2_CALL
00102 axis2_handler_get_name(const axis2_handler_t *handler,
00103 const axutil_env_t *env);
00104
00111 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00112 axis2_handler_get_param(const axis2_handler_t *handler,
00113 const axutil_env_t *env,
00114 const axis2_char_t *name);
00115
00122 AXIS2_EXTERN struct axis2_handler_desc *AXIS2_CALL
00123 axis2_handler_get_handler_desc(const axis2_handler_t *handler,
00124 const axutil_env_t *env);
00125
00126 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127 axis2_handler_set_invoke(axis2_handler_t *handler,
00128 const axutil_env_t *env,
00129 void *func);
00130
00131
00138 typedef axis2_handler_t *(AXIS2_CALL *
00139 AXIS2_HANDLER_CREATE_FUNC)(const axutil_env_t *env,
00140 const axutil_string_t *name);
00141
00147 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00148 axis2_handler_create(const axutil_env_t *env);
00149
00157 AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00158 axis2_ctx_handler_create(const axutil_env_t *env,
00159 const axutil_string_t *qname);
00160
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166
00167 #endif