00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef RAMPART_AUTHN_PROVIDER_H
00019 #define RAMPART_AUTHN_PROVIDER_H
00020
00021
00022 #ifdef __cplusplus
00023 extern "C"
00024 {
00025 #endif
00026
00027
00028
00029
00030
00031
00032
00033
00044 typedef struct rampart_authn_provider_ops rampart_authn_provider_ops_t;
00045
00050 typedef struct rampart_authn_provider rampart_authn_provider_t;
00051
00054 struct rampart_authn_provider_ops
00055 {
00056
00057
00058 axis2_status_t (AXIS2_CALL*
00059 rampart_authn_provider_check_password)(
00060 rampart_authn_provider_t *authn_provider,
00061 const axis2_env_t* env,
00062 axis2_msg_ctx_t *msg_ctx,
00063 const axis2_char_t *username,
00064 const axis2_char_t *password
00065 );
00066
00067 axis2_status_t (AXIS2_CALL*
00068 rampart_authn_provider_check_password_digest)(
00069 rampart_authn_provider_t *authn_provider,
00070 const axis2_env_t* env,
00071 axis2_msg_ctx_t *msg_ctx,
00072 const char *nonce,
00073 size_t nonce_length,
00074 const char *digest
00075 );
00076
00077 axis2_status_t (AXIS2_CALL*
00078 free)(rampart_authn_provider_t *authn_provider,
00079 const axis2_env_t* env);
00080
00081 };
00082
00083 struct rampart_authn_provider
00084 {
00085 rampart_authn_provider_ops_t *ops;
00086 };
00087
00088
00089
00090 #define RAMPART_AUTHN_PROVIDER_FREE(authn_provider, env) \
00091 ((authn_provider)->ops->free (authn_provider, env))
00092
00093 #define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD(authn_provider, env, msg_ctx, username, password) \
00094 ((authn_provider)->ops->authn_provider_password(authn_provider, env, msg_ctx, username, password))
00095
00096 #define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD_DIGEST(authn_provider, env, msg_ctx, nonce, nonce_length, digest) \
00097 ((authn_provider)->ops->authn_provider_password(authn_provider, env, msg_ctx, nonce, nonce_length, digest))
00098
00100 #ifdef __cplusplus
00101 }
00102 #endif
00103
00104 #endif
00105