You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by ka...@apache.org on 2007/08/21 10:13:56 UTC

svn commit: r568008 - in /webservices/rampart/trunk/c: include/oxs_buffer.h include/oxs_key.h src/omxmlsec/buffer.c src/omxmlsec/key.c

Author: kaushalye
Date: Tue Aug 21 01:13:56 2007
New Revision: 568008

URL: http://svn.apache.org/viewvc?rev=568008&view=rev
Log:
Added duplicating functionalities for  key and buffer classes

Modified:
    webservices/rampart/trunk/c/include/oxs_buffer.h
    webservices/rampart/trunk/c/include/oxs_key.h
    webservices/rampart/trunk/c/src/omxmlsec/buffer.c
    webservices/rampart/trunk/c/src/omxmlsec/key.c

Modified: webservices/rampart/trunk/c/include/oxs_buffer.h
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_buffer.h?rev=568008&r1=568007&r2=568008&view=diff
==============================================================================
--- webservices/rampart/trunk/c/include/oxs_buffer.h (original)
+++ webservices/rampart/trunk/c/include/oxs_buffer.h Tue Aug 21 01:13:56 2007
@@ -213,7 +213,8 @@
         const axutil_env_t *env
     );
 
-
+    oxs_buffer_t *AXIS2_CALL
+    oxs_buffer_dup(oxs_buffer_t *buffer, const axutil_env_t *env);
 
     AXIS2_EXTERN oxs_buffer_t *AXIS2_CALL
     oxs_buffer_create(const axutil_env_t *env);

Modified: webservices/rampart/trunk/c/include/oxs_key.h
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_key.h?rev=568008&r1=568007&r2=568008&view=diff
==============================================================================
--- webservices/rampart/trunk/c/include/oxs_key.h (original)
+++ webservices/rampart/trunk/c/include/oxs_key.h Tue Aug 21 01:13:56 2007
@@ -26,6 +26,7 @@
 
 #include <axis2_defines.h>
 #include <oxs_constants.h>
+#include <oxs_buffer.h>
 #include <axutil_env.h>
 
 #ifdef __cplusplus
@@ -131,6 +132,13 @@
         const axutil_env_t *env
     );
 
+    axis2_status_t AXIS2_CALL
+    oxs_key_populate_with_buf(oxs_key_t *key,
+                 const axutil_env_t *env,
+                 oxs_buffer_t *buffer,
+                 axis2_char_t *name,
+                 int usage);
+
     /**
     * Populate a key.
     * @param key oxs_key ptr to key
@@ -173,6 +181,14 @@
                      const axutil_env_t *env,
                      axis2_char_t *key_algo);
 
+
+    oxs_buffer_t *AXIS2_CALL
+    oxs_key_get_buffer(const oxs_key_t *key,
+        const axutil_env_t *env);
+
+    oxs_key_t *AXIS2_CALL
+    oxs_key_dup(oxs_key_t *key,
+            const axutil_env_t *env);
 
     AXIS2_EXTERN oxs_key_t *AXIS2_CALL
     oxs_key_create(const axutil_env_t *env);

Modified: webservices/rampart/trunk/c/src/omxmlsec/buffer.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/buffer.c?rev=568008&r1=568007&r2=568008&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/buffer.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/buffer.c Tue Aug 21 01:13:56 2007
@@ -68,6 +68,18 @@
 
 }
 
+oxs_buffer_t *AXIS2_CALL
+oxs_buffer_dup(oxs_buffer_t *buffer, const axutil_env_t *env)
+{
+    oxs_buffer_t *buf = NULL;
+    axis2_status_t status = AXIS2_FAILURE;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    buf =  oxs_buffer_create(env);
+    status = oxs_buffer_populate(buf, env, oxs_buffer_get_data(buffer, env), oxs_buffer_get_size(buffer, env));    
+    return buf;
+}
+
 axis2_status_t AXIS2_CALL
 oxs_buffer_free(
     oxs_buffer_t *buffer,

Modified: webservices/rampart/trunk/c/src/omxmlsec/key.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/key.c?rev=568008&r1=568007&r2=568008&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/key.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/key.c Tue Aug 21 01:13:56 2007
@@ -54,6 +54,14 @@
 
 }
 
+oxs_buffer_t *AXIS2_CALL
+oxs_key_get_buffer(const oxs_key_t *key,
+    const axutil_env_t *env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+    return key->buf;
+}
+
 int AXIS2_CALL
 oxs_key_get_size(
     const oxs_key_t *key,
@@ -109,7 +117,31 @@
 
 }
 
+AXIS2_EXTERN oxs_key_t *AXIS2_CALL
+oxs_key_dup(oxs_key_t *key, 
+        const axutil_env_t *env)
+{
+    oxs_key_t *new_key = NULL;
 
+    AXIS2_ENV_CHECK(env, NULL);
+    
+    AXIS2_PARAM_CHECK(env->error, key, NULL);
+    
+    new_key = oxs_key_create(env);
+    if (!new_key)
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+   
+       
+    oxs_key_populate_with_buf(new_key, 
+                    env,
+                    oxs_key_get_buffer(key, env),
+                    axutil_strdup(env, key->name),
+                    key->usage);
+    return key;
+}
 
 AXIS2_EXTERN oxs_key_t *AXIS2_CALL
 oxs_key_create(const axutil_env_t *env)
@@ -150,6 +182,23 @@
     AXIS2_FREE(env->allocator,  key);
     key = NULL;
 
+    return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+oxs_key_populate_with_buf(oxs_key_t *key,
+                 const axutil_env_t *env,
+                 oxs_buffer_t *buffer,
+                 axis2_char_t *name,
+                 int usage)
+{
+    int ret;   
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    
+    ret = oxs_key_set_name(key, env, name);
+    ret = oxs_key_set_usage(key, env, usage); 
+   
+    ret = oxs_buffer_populate(key->buf, env,  oxs_buffer_get_data(buffer, env), oxs_buffer_get_size(buffer, env));
     return AXIS2_SUCCESS;
 }