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