include/trust_token.h (127 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef TRUST_TOKEN_H #define TRUST_TOKEN_H /** * @file trust_token.h * @brief Holds function declarations and data for token */ #include <axiom.h> #include <axutil_utils.h> #include <trust_constants.h> #ifdef __cplusplus extern "C" { #endif /* Security token states. */ typedef enum { ISSUED = 1, EXPIRED, CANCELED, RENEWED }trust_token_state_t; typedef struct trust_token trust_token_t; /** *Create trust token with given id, token node and life element data *@param env const pointer to axutil environment *@param id Token identifier *@param toke_node Actual token axiom node *@param life_node Life axiom node containing created and expire dates *@returns pointer to trust_token_t */ AXIS2_EXTERN trust_token_t* AXIS2_CALL trust_token_create( const axutil_env_t *env, axis2_char_t *id, axiom_node_t *token_node, axiom_node_t *life_node); /** *Create trust token with given id, token node, created date and expire date *@param env const pointer to axutil environment *@param id Token identifier *@param toke_node Actual token axiom node *@param created Date which token is created *@param expire Date which token will expire *@returns pointer to trust_token_t */ AXIS2_EXTERN trust_token_t* AXIS2_CALL trust_token_create_with_dates( const axutil_env_t *env, axis2_char_t *id, axiom_node_t *token_node, axutil_date_time_t *created, axutil_date_time_t *expire); /** *Process the life element of the token which represent by the following xml format *assign values to related fields. *<wst:LifeTime> * <wsu:Created>...</wsu:Created> * <wsu:Expires>...</wsu:Expires> *</wst:LifeTime> *@param env const pointer to axutil environment *@param life_node Axiom node containing created and expire dates *@param token Trust token containing token data *@returns status of the life element processing */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_process_life_elem( const axutil_env_t *env, axiom_node_t *life_node, trust_token_t *token); /** *Get the change status of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axis2_bool_t whether the token is changed or not */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL trust_token_is_changed( const axutil_env_t *env, trust_token_t *token); /** *Set the change status of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@param changed Bollean value representing the if token is changed *@returns axis2_status_t whether the operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_changed( const axutil_env_t *env, trust_token_t *token, axis2_bool_t changed); /** *Get the state of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns trust_token_state_t token's state can be ISSUED, EXPIRED, CANCELLED, RENEWED */ AXIS2_EXTERN trust_token_state_t AXIS2_CALL trust_token_get_state( const axutil_env_t *env, trust_token_t *token); /** *Set the state of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@param state State of the trust token *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_state( const axutil_env_t *env, trust_token_t *token, trust_token_state_t state); /** *Get the actual token om node of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axiom_node_t axiom node pointer for token */ AXIS2_EXTERN axiom_node_t* AXIS2_CALL trust_token_get_token( const axutil_env_t *env, trust_token_t *token); /** *Set the actual token om node of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@param token_node axiom node pointer for token *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_token( const axutil_env_t *env, trust_token_t *token, axiom_node_t *token_node); /** *Get the identifier of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axis2_char_t identifier string of token */ AXIS2_EXTERN axis2_char_t* AXIS2_CALL trust_token_get_id( const axutil_env_t *env, trust_token_t *token); /** *Get the actual previous token om node of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axiom_node_t axiom node pointer for previous token */ AXIS2_EXTERN axiom_node_t* AXIS2_CALL trust_token_get_previous_token( const axutil_env_t *env, trust_token_t *token); /** *Set the actual token om node of trust token's previous token *@param env const pointer to axutil environment *@param token Trust token structure *@param prev_token axiom node pointer for previous token *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_previous_token( const axutil_env_t *env, trust_token_t *token, axiom_node_t *prev_token); /* ** * @return Returns the secret. public byte[] getSecret() { return secret; } */ /** * @param secret The secret to set. public void setSecret(byte[] secret) { this.secret = secret; }*/ /** *Get the attached reference of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axiom_node_t axiom node pointer for attached reference */ AXIS2_EXTERN axiom_node_t* AXIS2_CALL trust_token_get_attached_reference( const axutil_env_t *env, trust_token_t *token); /** *Set the attached reference of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@param attached_reference axiom node pointer for attached reference *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_attached_reference( const axutil_env_t *env, trust_token_t *token, axiom_node_t *attached_reference); /** *Get the unattached reference of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axiom_node_t axiom node pointer for unattached reference */ AXIS2_EXTERN axiom_node_t* AXIS2_CALL trust_token_get_unattached_reference( const axutil_env_t *env, trust_token_t *token); /** *Set the unattached reference of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@param attached_reference axiom node pointer for unattached reference *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_unattached_reference( const axutil_env_t *env, trust_token_t *token, axiom_node_t *unattached_reference); /** *Get the created date of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axutil_date_time_t ceated date */ AXIS2_EXTERN axutil_date_time_t* AXIS2_CALL trust_token_get_created( const axutil_env_t *env, trust_token_t *token); /** *Set the created date of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@param created date which token is created *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_created( const axutil_env_t *env, trust_token_t *token, axutil_date_time_t *created); /** *Get the expire date of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axutil_date_time_t expire date */ AXIS2_EXTERN axutil_date_time_t* AXIS2_CALL trust_token_get_expires( const axutil_env_t *env, trust_token_t *token); /** *Set the expire date of trust token *@param env const pointer to axutil environment *@param token Trust token structure *@param expire Expire date of token *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_expires( const axutil_env_t *env, trust_token_t *token, axutil_date_time_t *expire); /** *Get the issuer's address of token *@param env const pointer to axutil environment *@param token Trust token structure *@returns axis2_char_t* issuer's address */ AXIS2_EXTERN axis2_char_t* AXIS2_CALL trust_token_get_issuer_address( const axutil_env_t *env, trust_token_t *token); /** *Set the issuer's address of token *@param env const pointer to axutil environment *@param token Trust token structure *@param issuer_address issure's address string *@returns axis2_status_t whether the set operation is successful or not */ AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_set_issuer_address( const axutil_env_t *env, trust_token_t *token, axis2_char_t *issuer_address); AXIS2_EXTERN axis2_status_t AXIS2_CALL trust_token_process_life_elem( const axutil_env_t *env, axiom_node_t *life_node, trust_token_t *token); #ifdef __cplusplus } #endif #endif /*TRUST_TOKEN_H*/