# rp_token.h

    00001
    00002 /*
    00003  * Licensed to the Apache Software Foundation (ASF) under one or more
    00004  * contributor license agreements.  See the NOTICE file distributed with
    00005  * this work for additional information regarding copyright ownership.
    00006  * The ASF licenses this file to You under the Apache License, Version 2.0
    00007  * (the "License"); you may not use this file except in compliance with
    00008  * the License.  You may obtain a copy of the License at
    00009  *
    00010  *      http://www.apache.org/licenses/LICENSE-2.0
    00011  *
    00012  * Unless required by applicable law or agreed to in writing, software
    00013  * distributed under the License is distributed on an "AS IS" BASIS,
    00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00015  * See the License for the specific language governing permissions and
    00016  * limitations under the License.
    00017  */
    00018
    00019 #ifndef RP_GENERIC_TOKEN_H
    00020 #define RP_GENERIC_TOKEN_H
    00021
    00027 #include <rp_includes.h>
    00028
    00029 #ifdef __cplusplus
    00030 extern "C"
    00031 {
    00032 #endif
    00033
    00034     typedef enum
    00035     {
    00036         DERIVEKEY_NONE =0,
    00037         DERIVEKEY_NEEDED,
    00038         DERIVEKEY_IMPLIED,
    00039         DERIVEKEY_EXPLICIT
    00040     } derive_key_type_t;
    00041
    00042     typedef enum
    00043     {
    00044         DERIVEKEY_VERSION_SC10 =0,
    00045         DERIVEKEY_VERSION_SC13
    00046     } derive_key_version_t;
    00047
    00048     typedef struct rp_token_t rp_token_t;
    00049
    00050     AXIS2_EXTERN rp_token_t *AXIS2_CALL
    00051     rp_token_create(
    00052         const axutil_env_t * env);
    00053
    00054     AXIS2_EXTERN void AXIS2_CALL
    00055     rp_token_free(
    00056         rp_token_t * token,
    00057         const axutil_env_t * env);
    00058
    00059     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00060     rp_token_get_issuer(
    00061         rp_token_t * token,
    00062         const axutil_env_t * env);
    00063
    00064     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00065     rp_token_set_issuer(
    00066         rp_token_t * token,
    00067         const axutil_env_t * env,
    00068         axis2_char_t * issuer);
    00069
    00070     AXIS2_EXTERN derive_key_type_t AXIS2_CALL
    00071     rp_token_get_derivedkey_type(
    00072         rp_token_t * token,
    00073         const axutil_env_t * env);
    00074
    00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00076     rp_token_set_derivedkey_type(
    00077         rp_token_t * token,
    00078         const axutil_env_t * env,
    00079         derive_key_type_t derivedkey);
    00080
    00081     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00082     rp_token_get_is_issuer_name(
    00083         rp_token_t * token,
    00084         const axutil_env_t * env);
    00085
    00086     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00087     rp_token_set_is_issuer_name(
    00088         rp_token_t * token,
    00089         const axutil_env_t * env,
    00090         axis2_bool_t is_issuer_name);
    00091
    00092     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
    00093     rp_token_get_claim(
    00094         rp_token_t * token,
    00095         const axutil_env_t * env);
    00096
    00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00098     rp_token_set_claim(
    00099         rp_token_t * token,
    00100         const axutil_env_t * env,
    00101         axiom_node_t *claim);
    00102
    00103     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00104     rp_token_increment_ref(
    00105         rp_token_t * token,
    00106         const axutil_env_t * env);
    00107
    00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00109     rp_token_set_derive_key_version(
    00110         rp_token_t *token,
    00111         const axutil_env_t *env,
    00112         derive_key_version_t version);
    00113
    00114     AXIS2_EXTERN derive_key_version_t AXIS2_CALL
    00115     rp_token_get_derive_key_version(
    00116         rp_token_t *token,
    00117         const axutil_env_t *env);
    00118
    00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00120     rp_token_set_inclusion(
    00121         rp_token_t *token,
    00122         const axutil_env_t *env,
    00123         axis2_char_t *inclusion);
    00124
    00125     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00126     rp_token_get_inclusion(
    00127         rp_token_t *token,
    00128         const axutil_env_t *env);
    00129
    00130
    00131 #ifdef __cplusplus
    00132 }
    00133 #endif
    00134 #endif