00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef TRUST_TOKEN_H
00018 #define TRUST_TOKEN_H
00019 
00025 #include <axiom.h>
00026 #include <axutil_utils.h>
00027 #include <trust_constants.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00033     
00034     typedef enum {
00035         ISSUED = 1,
00036         EXPIRED,
00037         CANCELED,
00038         RENEWED
00039     }trust_token_state_t;
00040 
00041     typedef struct trust_token trust_token_t;
00042 
00051     AXIS2_EXTERN trust_token_t* AXIS2_CALL
00052     trust_token_create(
00053         const axutil_env_t *env,
00054         axis2_char_t *id,
00055         axiom_node_t *token_node,
00056         axiom_node_t *life_node);
00057 
00067     AXIS2_EXTERN trust_token_t* AXIS2_CALL 
00068     trust_token_create_with_dates(
00069         const axutil_env_t *env,
00070         axis2_char_t *id,
00071         axiom_node_t *token_node,
00072         axutil_date_time_t *created,
00073         axutil_date_time_t *expire);
00074 
00087     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00088     trust_token_process_life_elem(
00089         const axutil_env_t *env,
00090         axiom_node_t *life_node,
00091         trust_token_t *token);
00092 
00099     AXIS2_EXTERN axis2_bool_t AXIS2_CALL 
00100     trust_token_is_changed(
00101         const axutil_env_t *env,
00102         trust_token_t *token);
00103 
00111     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00112     trust_token_set_changed(
00113         const axutil_env_t *env,
00114         trust_token_t *token,
00115         axis2_bool_t changed);
00116 
00123     AXIS2_EXTERN trust_token_state_t AXIS2_CALL 
00124     trust_token_get_state(
00125         const axutil_env_t *env,
00126         trust_token_t *token);
00127 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00136     trust_token_set_state(
00137         const axutil_env_t *env,
00138         trust_token_t *token,
00139         trust_token_state_t state);
00140 
00147     AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00148     trust_token_get_token(
00149         const axutil_env_t *env,
00150         trust_token_t *token);
00151 
00159     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00160     trust_token_set_token(
00161         const axutil_env_t *env,
00162         trust_token_t *token,
00163         axiom_node_t *token_node);
00164 
00171     AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
00172     trust_token_get_id(
00173         const axutil_env_t *env,
00174         trust_token_t *token);
00175 
00182     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00183     trust_token_get_previous_token(
00184         const axutil_env_t *env,
00185         trust_token_t *token);
00186 
00194     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00195     trust_token_set_previous_token(
00196         const axutil_env_t *env,
00197         trust_token_t *token,
00198         axiom_node_t *prev_token);
00199 
00200     
00201 
00202 
00203 
00204 
00205 
00206 
00220     AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00221     trust_token_get_attached_reference(
00222         const axutil_env_t *env, 
00223         trust_token_t *token);
00224 
00232     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00233     trust_token_set_attached_reference(
00234         const axutil_env_t *env,
00235         trust_token_t *token,
00236         axiom_node_t *attached_reference);
00237 
00244     AXIS2_EXTERN axiom_node_t* AXIS2_CALL 
00245     trust_token_get_unattached_reference(
00246         const axutil_env_t *env,
00247         trust_token_t *token);
00248 
00256     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00257     trust_token_set_unattached_reference(
00258         const axutil_env_t *env,
00259         trust_token_t *token,
00260         axiom_node_t *unattached_reference);
00261 
00268     AXIS2_EXTERN axutil_date_time_t* AXIS2_CALL 
00269     trust_token_get_created(
00270         const axutil_env_t *env,
00271         trust_token_t *token);
00272 
00280     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00281     trust_token_set_created(
00282         const axutil_env_t *env,
00283         trust_token_t *token,
00284         axutil_date_time_t *created);
00285 
00292     AXIS2_EXTERN axutil_date_time_t* AXIS2_CALL 
00293     trust_token_get_expires(
00294         const axutil_env_t *env,
00295         trust_token_t *token);
00296 
00304     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00305     trust_token_set_expires(
00306         const axutil_env_t *env,
00307         trust_token_t *token,
00308         axutil_date_time_t *expire);
00309 
00316     AXIS2_EXTERN axis2_char_t* AXIS2_CALL 
00317     trust_token_get_issuer_address(
00318         const axutil_env_t *env,
00319         trust_token_t *token);
00320 
00328     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00329     trust_token_set_issuer_address(
00330         const axutil_env_t *env,
00331         trust_token_t *token,
00332         axis2_char_t *issuer_address);
00333 
00334     AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00335     trust_token_process_life_elem(
00336         const axutil_env_t *env,
00337         axiom_node_t *life_node,
00338         trust_token_t *token);
00339         
00340 
00341 #ifdef __cplusplus
00342 }
00343 #endif
00344 
00345 #endif   
00346