00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef W2C_EXTENSION_H
00019 #define W2C_EXTENSION_H
00020
00026 #include <axis2_utils.h>
00027 #include <w2c_engine_configuration.h>
00028
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00040 typedef struct w2c_extension w2c_extension_t;
00041 typedef struct w2c_extension_ops w2c_extension_ops_t;
00042
00043 AXIS2_DECLARE_DATA struct w2c_extension_ops
00044 {
00052 axis2_status_t (AXIS2_CALL *
00053 free)(w2c_extension_t *extension,
00054 const axis2_env_t *env);
00055
00064 axis2_status_t (AXIS2_CALL *
00065 engage)(w2c_extension_t *extension,
00066 const axis2_env_t *env,
00067 w2c_engine_configuration_t *conf);
00068
00069
00070 };
00071
00072 AXIS2_DECLARE_DATA struct w2c_extension
00073 {
00074 struct w2c_extension_ops *ops;
00075 };
00076
00079
00080
00081 #define W2C_EXTENSION_FREE(extension, env) \
00082 ((extension)->ops->free(extension, env))
00083
00084 #define W2C_EXTENSION_ENGAGE(extension, env, conf) \
00085 ((extension)->ops->engage(extension, env, conf))
00086
00089 #ifdef __cplusplus
00090 }
00091 #endif
00092
00093 #endif