00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef RP_PROPERTY_H
00018 #define RP_PROPERTY_H
00019
00024 #include <rp_includes.h>
00025 #include <rp_username_token.h>
00026 #include <rp_x509_token.h>
00027 #include <rp_security_context_token.h>
00028 #include <rp_https_token.h>
00029
00030
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035
00036 typedef enum {
00037 RP_PROPERTY_USERNAME_TOKEN = 0,
00038 RP_PROPERTY_X509_TOKEN,
00039 RP_PROPERTY_SECURITY_CONTEXT_TOKEN,
00040 RP_PROPERTY_HTTPS_TOKEN,
00041 RP_PROPERTY_SYMMETRIC_BINDING,
00042 RP_PROPERTY_ASYMMETRIC_BINDING,
00043 RP_PROPERTY_TRANSPORT_BINDING,
00044 RP_PROPERTY_SIGNED_SUPPORTING_TOKEN,
00045 RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN,
00046 RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN,
00047 RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN,
00048 RP_PROPERTY_WSS10,
00049 RP_PROPERTY_WSS11,
00050 RP_PROPERTY_SUPPORTING_TOKEN,
00051 RP_PROPERTY_UNKNOWN
00052 }rp_property_type_t;
00053
00054
00055 typedef struct rp_property_t rp_property_t;
00056
00057 AXIS2_EXTERN rp_property_t *AXIS2_CALL
00058 rp_property_create(const axutil_env_t *env);
00059
00060 AXIS2_EXTERN void AXIS2_CALL
00061 rp_property_free(
00062 rp_property_t *property,
00063 const axutil_env_t *env);
00064
00065 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066 rp_property_set_value(
00067 rp_property_t *property,
00068 const axutil_env_t *env,
00069 void *value,
00070 rp_property_type_t type);
00071
00072 AXIS2_EXTERN void *AXIS2_CALL
00073 rp_property_get_value(
00074 rp_property_t *property,
00075 const axutil_env_t *env);
00076
00077 AXIS2_EXTERN rp_property_type_t AXIS2_CALL
00078 rp_property_get_type(
00079 rp_property_t *property,
00080 const axutil_env_t *env);
00081
00082 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083 rp_property_increment_ref(rp_property_t *property,
00084 const axutil_env_t *env);
00085
00086
00087
00088 #ifdef __cplusplus
00089 }
00090 #endif
00091 #endif