00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <axutil_utils_defines.h>
00018 #include <axis2_defines.h>
00019 #include <axutil_param.h>
00020 #ifndef RAMPART_CALLBACK_H
00021 #define RAMPART_CALLBACK_H
00022
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00043 typedef struct rampart_callback_ops rampart_callback_ops_t;
00044
00049 typedef struct rampart_callback rampart_callback_t;
00050
00055 struct rampart_callback_ops
00056 {
00067 axis2_char_t *(AXIS2_CALL*
00068 callback_password)(rampart_callback_t *callback,
00069 const axutil_env_t *env,
00070 const axis2_char_t *username,
00071 void *param);
00072
00079 axis2_status_t (AXIS2_CALL*
00080 free)(rampart_callback_t *rcb,
00081 const axutil_env_t* env);
00082
00083 };
00084
00085 struct rampart_callback
00086 {
00087 rampart_callback_ops_t *ops;
00088 axutil_param_t *param;
00089 };
00090
00091
00092 #define RAMPART_CALLBACK_FREE(callback, env) \
00093 ((callback)->ops->free (callback, env))
00094
00095 #define RAMPART_CALLBACK_CALLBACK_PASSWORD(callback, env, username, param) \
00096 ((callback)->ops->callback_password(callback, env, username, param))
00097
00099 #ifdef __cplusplus
00100 }
00101 #endif
00102
00103 #endif
00104