00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_MTOM_SENDING_CALLBACK_H
00019 #define AXIOM_MTOM_SENDING_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_sending_callback_ops axiom_mtom_sending_callback_ops_t;
00044
00048 typedef struct axiom_mtom_sending_callback axiom_mtom_sending_callback_t;
00049
00050
00063 struct axiom_mtom_sending_callback_ops
00064 {
00065 void* (AXIS2_CALL*
00066 init_handler)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00067 const axutil_env_t* env,
00068 void *user_param);
00069
00070 int (AXIS2_CALL*
00071 load_data)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00072 const axutil_env_t* env,
00073 void *handler,
00074 axis2_char_t **buffer);
00075
00076 axis2_status_t (AXIS2_CALL*
00077 close_handler)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00078 const axutil_env_t* env,
00079 void *handler);
00080
00081 axis2_status_t (AXIS2_CALL*
00082 free)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00083 const axutil_env_t* env);
00084 };
00085
00086 struct axiom_mtom_sending_callback
00087 {
00088 axiom_mtom_sending_callback_ops_t *ops;
00089 axutil_param_t *param;
00090 };
00091
00092
00093 #define AXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLER(mtom_sending_callback, env, user_param) \
00094 ((mtom_sending_callback)->ops->init_handler(mtom_sending_callback, env, user_param))
00095
00096 #define AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATA(mtom_sending_callback, env, handler, buffer) \
00097 ((mtom_sending_callback)->ops->load_data(mtom_sending_callback, env, handler, buffer))
00098
00099 #define AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(mtom_sending_callback, env, handler) \
00100 ((mtom_sending_callback)->ops->close_handler(mtom_sending_callback, env, handler))
00101
00102 #define AXIOM_MTOM_SENDING_CALLBACK_FREE(mtom_sending_callback, env) \
00103 ((mtom_sending_callback)->ops->free(mtom_sending_callback, env))
00104
00106 #ifdef __cplusplus
00107 }
00108 #endif
00109
00110 #endif
00111
00112