00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef RAMPART_SCT_PROVIDER_UTILITY_H
00019 #define RAMPART_SCT_PROVIDER_UTILITY_H
00020 
00032 #include <axis2_defines.h>
00033 #include <axutil_env.h>
00034 #include <axis2_msg_ctx.h>
00035 #include <axis2_conf_ctx.h>
00036 #include <rampart_context.h>
00037 #include <secconv_security_context_token.h>
00038 #include <axutil_hash.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00055     AXIS2_EXTERN oxs_buffer_t *AXIS2_CALL
00056     sct_provider_get_secret(
00057         const axutil_env_t* env, 
00058         rp_property_t *token, 
00059         axis2_bool_t is_encryption, 
00060         rampart_context_t* rampart_context, 
00061         axis2_msg_ctx_t* msg_ctx);
00062 
00072     AXIS2_EXTERN oxs_buffer_t *AXIS2_CALL
00073         sct_provider_get_secret_using_id(
00074         const axutil_env_t* env, 
00075         axis2_char_t* sct_id, 
00076         rampart_context_t* rampart_context, 
00077         axis2_msg_ctx_t* msg_ctx);
00078 
00088     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00089     sct_provider_get_token(
00090         const axutil_env_t* env, 
00091         rp_property_t *token, 
00092         axis2_bool_t is_encryption, 
00093         rampart_context_t* rampart_context, 
00094         axis2_msg_ctx_t* msg_ctx);
00095 
00106     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00107     sct_provider_get_attached_reference(
00108         const axutil_env_t* env, 
00109         rp_property_t *token, 
00110         axis2_bool_t is_encryption, 
00111         rampart_context_t* rampart_context, 
00112         axis2_msg_ctx_t* msg_ctx);
00113 
00124     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00125     sct_provider_get_unattached_reference(
00126         const axutil_env_t* env, 
00127         rp_property_t *token, 
00128         axis2_bool_t is_encryption, 
00129         rampart_context_t* rampart_context, 
00130         axis2_msg_ctx_t* msg_ctx);
00131 
00144     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145     sct_provider_validate_security_context_token(
00146         const axutil_env_t *env, 
00147         axiom_node_t *sct_node, 
00148         rampart_context_t *rampart_context, 
00149         axis2_msg_ctx_t *msg_ctx);
00150 
00162     AXIS2_EXTERN void* AXIS2_CALL
00163     sct_provider_obtain_sct_default(
00164         const axutil_env_t *env, 
00165         axis2_bool_t is_encryption, 
00166         axis2_msg_ctx_t* msg_ctx, 
00167         axis2_char_t *sct_id, 
00168         int sct_id_type,
00169         void* user_params);
00170 
00182     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00183     sct_provider_store_sct_default(
00184         const axutil_env_t *env, 
00185         axis2_msg_ctx_t* msg_ctx, 
00186         axis2_char_t *sct_global_id, 
00187         axis2_char_t *sct_local_id, 
00188         void *sct, 
00189         void *user_params);
00190 
00201     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00202     sct_provider_delete_sct_default(
00203         const axutil_env_t *env, 
00204         axis2_msg_ctx_t* msg_ctx, 
00205         axis2_char_t *sct_id, 
00206         int sct_id_type,
00207         void* user_params);
00208 
00217     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00218     sct_provider_validate_sct_default(
00219         const axutil_env_t *env, 
00220         axiom_node_t *sct_node, 
00221         axis2_msg_ctx_t *msg_ctx,
00222         void *user_params);
00223 
00224 
00226 #ifdef __cplusplus
00227 }
00228 #endif
00229 
00230 #endif  
00231 
00232