00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 #ifndef SECCONV_SECURITY_CONTEXT_TOKEN_H
00020 #define SECCONV_SECURITY_CONTEXT_TOKEN_H
00021 
00027 #include <stdio.h>
00028 #include <stdlib.h>
00029 #include <axutil_utils.h>
00030 #include <axutil_string.h>
00031 #include <oxs_buffer.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00038     typedef struct security_context_token_t security_context_token_t;
00039 
00045     AXIS2_EXTERN security_context_token_t *AXIS2_CALL
00046     security_context_token_create(
00047         const axutil_env_t * env);
00048 
00055     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00056     security_context_token_free(
00057         security_context_token_t *sct, 
00058         const axutil_env_t *env);
00059 
00066     AXIS2_EXTERN oxs_buffer_t *AXIS2_CALL
00067     security_context_token_get_secret(
00068         security_context_token_t * sct, 
00069         const axutil_env_t * env);
00070 
00078     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00079     security_context_token_get_global_identifier(
00080         security_context_token_t * sct, 
00081         const axutil_env_t * env);
00082     
00090     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00091     security_context_token_get_local_identifier(
00092         security_context_token_t * sct, 
00093         const axutil_env_t * env);
00094 
00103     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00104     security_context_token_set_secret(
00105         security_context_token_t * sct, 
00106         const axutil_env_t * env,
00107         oxs_buffer_t *buffer);
00108 
00117     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00118     security_context_token_set_global_identifier(
00119         security_context_token_t * sct, 
00120         const axutil_env_t * env,
00121         axis2_char_t *global_id);
00122     
00131     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00132     security_context_token_set_local_identifier(
00133         security_context_token_t * sct, 
00134         const axutil_env_t * env,
00135         axis2_char_t *local_id);
00136 
00144     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145     security_context_token_set_is_sc10(
00146         security_context_token_t *sct, 
00147         const axutil_env_t * env,
00148         axis2_bool_t is_sc10);
00149 
00157     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00158     security_context_token_get_requested_proof_token(
00159         security_context_token_t *sct, 
00160         const axutil_env_t * env);
00161 
00169     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00170     security_context_token_get_attached_reference(
00171         security_context_token_t *sct, 
00172         const axutil_env_t * env);
00173 
00181     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00182     security_context_token_get_unattached_reference(
00183         security_context_token_t *sct, 
00184         const axutil_env_t * env);
00185 
00193     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00194     security_context_token_get_token(
00195         security_context_token_t *sct, 
00196         const axutil_env_t * env);
00197 
00206     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00207     security_context_token_set_requested_proof_token(
00208         security_context_token_t *sct, 
00209         const axutil_env_t * env,
00210         axiom_node_t *node);
00211 
00219     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00220     security_context_token_set_attached_reference(
00221         security_context_token_t *sct, 
00222         const axutil_env_t * env,
00223         axiom_node_t *node);
00224 
00232     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00233     security_context_token_set_unattached_reference(
00234         security_context_token_t *sct, 
00235         const axutil_env_t * env,
00236         axiom_node_t *node);
00237 
00245     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00246     security_context_token_set_token(
00247         security_context_token_t *sct, 
00248         const axutil_env_t * env,
00249         axiom_node_t *node);
00250 
00257     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00258     security_context_token_increment_ref(
00259         security_context_token_t *sct,
00260         const axutil_env_t * env);
00261 
00268     AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00269     security_context_token_serialize(
00270         security_context_token_t *sct, 
00271         const axutil_env_t *env);
00272 
00280     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00281     security_context_token_deserialize(
00282         security_context_token_t *sct, 
00283         const axutil_env_t *env, 
00284         axis2_char_t *serialised_node);
00285    
00286 #ifdef __cplusplus
00287 }
00288 #endif
00289 #endif