Author: milinda
Date: Fri Oct  5 06:04:57 2007
New Revision: 582243

URL: http://svn.apache.org/viewvc?rev=582243&view=rev
Log:
Process functions for claims.

Modified:
    webservices/rampart/scratch/c/trust/include/trust_constants.h
    webservices/rampart/scratch/c/trust/include/trust_data.h
    webservices/rampart/scratch/c/trust/src/data.c

Modified: webservices/rampart/scratch/c/trust/include/trust_constants.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/include/trust_constants.h?rev=582243&r1=582242&r2=582243&view=diff
==============================================================================
--- webservices/rampart/scratch/c/trust/include/trust_constants.h (original)
+++ webservices/rampart/scratch/c/trust/include/trust_constants.h Fri Oct  5 
06:04:57 2007
@@ -37,6 +37,8 @@
 #define TRUST_ENTROPY                  "Entropy"
 #define TRSUT_KEY_TYPE                 "KeyType"
 #define TRUST_KEY_SIZE                 "KeySize"
+#define TRUST_CLAIMS                   "Claims"
+#define TRUST_CLAIMS_DIALECT   "Dialect"
 
 #define TRUST_LIFE_TIME                        "LifeTime"
 #define TRUST_TIMESTAMP_CREATED        "Created"

Modified: webservices/rampart/scratch/c/trust/include/trust_data.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/include/trust_data.h?rev=582243&r1=582242&r2=582243&view=diff
==============================================================================
--- webservices/rampart/scratch/c/trust/include/trust_data.h (original)
+++ webservices/rampart/scratch/c/trust/include/trust_data.h Fri Oct  5 
06:04:57 2007
@@ -59,15 +59,19 @@
                trust_data_t *trust_data, 
                const axutil_env_t *env);
 
-       AXIS2_EXPORT void AXIS2_CALL trust_data_process_applies_to(
+       AXIS2_EXPORT axis2_status_t AXIS2_CALL trust_data_process_applies_to(
                trust_data_t *trust_data, 
                const axutil_env_t *env);
 
-       AXIS2_EXPORT void AXIS2_CALL trust_data_process_life_time(
+       AXIS2_EXPORT axis2_status_t AXIS2_CALL trust_data_process_life_time(
                trust_data_t *trust_data, 
                const axutil_env_t *env);
 
-       AXIS2_EXPORT void AXIS2_CALL trust_data_process_entorpy(
+       AXIS2_EXPORT axis2_status_t AXIS2_CALL trust_data_process_claims(
+               trust_data_t *trust_data,
+               axutil_env_t *env);
+
+       AXIS2_EXPORT axis2_status_t AXIS2_CALL trust_data_process_entorpy(
                trust_data_t *trust_data, 
                const axutil_env_t *env);
 

Modified: webservices/rampart/scratch/c/trust/src/data.c
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/src/data.c?rev=582243&r1=582242&r2=582243&view=diff
==============================================================================
--- webservices/rampart/scratch/c/trust/src/data.c (original)
+++ webservices/rampart/scratch/c/trust/src/data.c Fri Oct  5 06:04:57 2007
@@ -47,12 +47,12 @@
        axis2_char_t *key_type;                                 
 
        /*optional element for specific set of requested claims*/
-    axiom_node_t *claim_node;
+    axiom_node_t *claims_node;
 
        /**wst:RequestSecurityToken/wst:[EMAIL PROTECTED]
          *Attribute specifies a URI to indicate the syntax of the claims
          */
-       axis2_char_t *claim_dialect;
+       axis2_char_t *claims_dialect;
 
        /* SOAP Namespace */
        axis2_char_t *soap_namespace;   
@@ -100,7 +100,7 @@
        trust_data_process_token_type(trust_data, env);
 
        /* TODO: Process other fields */        
-
+       /* TODO: Addressing namespace processing */
        return trust_data;
 }
 
@@ -242,5 +242,46 @@
        trust_data->token_type = axiom_element_get_text( token_type_ele, env, 
token_type_node);
 
        return AXIS2_SUCCESS;
+}
+
+AXIS2_EXPORT axis2_status_t AXIS2_CALL trust_data_process_claims(
+    trust_data_t *trust_data,
+    axutil_env_t *env)
+{
+       axiom_node_t* claims_node = NULL;
+    axiom_element_t * claims_ele = NULL;
+    axiom_element_t * rst_ele = NULL;
+    axutil_qname_t* claims_qname = NULL;
+    axutil_qname_t *attr_dialect_qname = NULL;
+    axis2_char_t *dialect = NULL;
+
+       AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+    rst_ele = (axiom_element_t 
*)(axiom_node_get_data_element(trust_data->rst_node, env));
+
+    claims_qname = axutil_qname_create(env, TRUST_CLAIMS, 
trust_data->wst_namespace, TRUST_WST);
+
+    claims_ele = axiom_element_get_first_child_with_qname(rst_ele, env, 
claims_qname,
+        trust_data->rst_node, &claims_node);
+    if(!claims_ele)
+        return AXIS2_FAILURE;
+
+    trust_data->claims_node = claims_node;
+
+    attr_dialect_qname = axutil_qname_create(env, TRUST_CLAIMS_DIALECT, 
trust_data->wst_namespace, TRUST_WST);
+    if(!attr_dialect_qname)
+       {
+        return AXIS2_FAILURE;
+       }
+
+    dialect = axiom_element_get_attribute_value(claims_ele, env, 
attr_dialect_qname);
+
+    if(!dialect)
+    {
+        return AXIS2_FAILURE;
+    }
+       trust_data->claims_dialect = dialect;
+
+    return AXIS2_SUCCESS;
 }
 


Reply via email to