00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TRUST_STS_CLIENT
00020 #define TRUST_STS_CLIENT
00021
00027 #include <stdio.h>
00028 #include <stdlib.h>
00029 #include <axiom.h>
00030 #include <axutil_utils.h>
00031 #include <axis2_client.h>
00032 #include <rp_includes.h>
00033 #include <rp_secpolicy.h>
00034 #include <neethi_policy.h>
00035 #include <neethi_util.h>
00036 #include <rampart_util.h>
00037 #include <trust_constants.h>
00038 #include <trust_util.h>
00039 #include <trust_policy_util.h>
00040 #include <trust_token.h>
00041
00042 #include <trust_rst.h>
00043 #include <trust_rstr.h>
00044 #include <trust_context.h>
00045
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050
00051 typedef struct trust_sts_client trust_sts_client_t;
00052
00053 AXIS2_EXTERN trust_sts_client_t *AXIS2_CALL
00054 trust_sts_client_create(
00055 const axutil_env_t * env);
00056
00057 AXIS2_EXTERN void AXIS2_CALL
00058 trust_sts_client_free(
00059 trust_sts_client_t * sts_client,
00060 const axutil_env_t * env);
00061
00062
00063
00064 AXIS2_EXTERN void AXIS2_CALL
00065 trust_sts_client_request_security_token(
00066 trust_sts_client_t * sts_client,
00067 const axutil_env_t * env,
00068 trust_context_t *trust_context);
00069
00070
00071 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072 trust_sts_client_process_policies(
00073 trust_sts_client_t * sts_client,
00074 const axutil_env_t * env,
00075 neethi_policy_t * issuer_policy,
00076 neethi_policy_t * service_policy);
00077
00078
00079 AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00080 trust_sts_client_get_svc_client(
00081 trust_sts_client_t * sts_client,
00082 const axutil_env_t * env,
00083 axis2_char_t * action,
00084 axis2_char_t * address_version,
00085 axis2_bool_t is_soap11);
00086
00087 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00088 trust_sts_client_set_issuer_address(
00089 trust_sts_client_t * sts_client,
00090 const axutil_env_t * env,
00091 axis2_char_t * address);
00092
00093 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094 trust_sts_client_set_home_dir(
00095 trust_sts_client_t * sts_client,
00096 const axutil_env_t * env,
00097 axis2_char_t * directory);
00098
00099 AXIS2_EXTERN oxs_buffer_t* AXIS2_CALL
00100 trust_sts_client_request_security_token_using_policy(
00101 trust_sts_client_t * sts_client,
00102 const axutil_env_t * env,
00103 trust_context_t *trust_context,
00104 neethi_policy_t *issuer_policy,
00105 axis2_char_t *address_version,
00106 axis2_bool_t is_soap11);
00107
00108 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109 trust_sts_client_set_issuer_policy_location(
00110 trust_sts_client_t * sts_client,
00111 const axutil_env_t * env,
00112 axis2_char_t * file_path);
00113
00114 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00115 trust_sts_client_get_issuer_policy_location(
00116 trust_sts_client_t * sts_client,
00117 const axutil_env_t * env);
00118
00119 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00120 trust_sts_client_get_service_policy_location(
00121 trust_sts_client_t * sts_client,
00122 const axutil_env_t * env);
00123
00124 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00125 trust_sts_client_set_service_policy_location(
00126 trust_sts_client_t * sts_client,
00127 const axutil_env_t * env,
00128 axis2_char_t * file_path);
00129
00130
00131
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135 #endif