00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_MTOM_CACHING_CALLBACK_H
00019 #define AXIOM_MTOM_CACHING_CALLBACK_H
00020
00032 #include <axutil_env.h>
00033 #include <axutil_param.h>
00034
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039
00043 typedef struct axiom_mtom_caching_callback_ops axiom_mtom_caching_callback_ops_t;
00044
00048 typedef struct axiom_mtom_caching_callback axiom_mtom_caching_callback_t;
00049
00050
00063 struct axiom_mtom_caching_callback_ops
00064 {
00065 void* (AXIS2_CALL*
00066 init_handler)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00067 const axutil_env_t* env,
00068 axis2_char_t *key);
00069
00070 axis2_status_t (AXIS2_CALL*
00071 cache)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00072 const axutil_env_t* env,
00073 axis2_char_t *data,
00074 int length,
00075 void *handler);
00076
00077 axis2_status_t (AXIS2_CALL*
00078 close_handler)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00079 const axutil_env_t* env,
00080 void *handler);
00081
00082 axis2_status_t (AXIS2_CALL*
00083 free)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00084 const axutil_env_t* env);
00085 };
00086
00087 struct axiom_mtom_caching_callback
00088 {
00089 axiom_mtom_caching_callback_ops_t *ops;
00090 axutil_param_t *param;
00091 void *user_param;
00092 };
00093
00094
00095 #define AXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLER(mtom_caching_callback, env, key) \
00096 ((mtom_caching_callback)->ops->init_handler(mtom_caching_callback, env, key))
00097
00098 #define AXIOM_MTOM_CACHING_CALLBACK_CACHE(mtom_caching_callback, env, data, length, handler) \
00099 ((mtom_caching_callback)->ops->cache(mtom_caching_callback, env, data, length, handler))
00100
00101 #define AXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLER(mtom_caching_callback, env, handler) \
00102 ((mtom_caching_callback)->ops->close_handler(mtom_caching_callback, env, handler))
00103
00104 #define AXIOM_MTOM_CACHING_CALLBACK_FREE(mtom_caching_callback, env) \
00105 ((mtom_caching_callback)->ops->free(mtom_caching_callback, env))
00106
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111
00112 #endif
00113
00114