00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef RAMPART_CALLBACK_H
00019 #define RAMPART_CALLBACK_H
00020
00021
00022 #ifdef __cplusplus
00023 extern "C"
00024 {
00025 #endif
00026
00037 typedef struct rampart_callback_ops rampart_callback_ops_t;
00038
00043 typedef struct rampart_callback rampart_callback_t;
00044
00049 struct rampart_callback_ops
00050 {
00061 axis2_char_t *(AXIS2_CALL*
00062 callback_password)(rampart_callback_t *callback,
00063 const axis2_env_t *env,
00064 const axis2_char_t *username,
00065 void *param);
00066
00073 axis2_status_t (AXIS2_CALL*
00074 free)(rampart_callback_t *rcb,
00075 const axis2_env_t* env);
00076
00077 };
00078
00079 struct rampart_callback
00080 {
00081 rampart_callback_ops_t *ops;
00082 };
00083
00084
00085 #define RAMPART_CALLBACK_FREE(callback, env) \
00086 ((callback)->ops->free (callback, env))
00087
00088 #define RAMPART_CALLBACK_CALLBACK_PASSWORD(callback, env, username, param) \
00089 ((callback)->ops->callback_password(callback, env, username, param))
00090
00092 #ifdef __cplusplus
00093 }
00094 #endif
00095
00096 #endif
00097