You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2005/10/10 12:15:30 UTC

svn commit: r312601 - in /webservices/axis2/trunk/c/modules/common/src: axis2_allocator.c axis2_environment.c axis2_error.c axis2_stream.c

Author: samisa
Date: Mon Oct 10 03:15:18 2005
New Revision: 312601

URL: http://svn.apache.org/viewcvs?rev=312601&view=rev
Log:
Added the initial code for allocator, error, stream and environment

Added:
    webservices/axis2/trunk/c/modules/common/src/axis2_allocator.c
    webservices/axis2/trunk/c/modules/common/src/axis2_environment.c
    webservices/axis2/trunk/c/modules/common/src/axis2_error.c
    webservices/axis2/trunk/c/modules/common/src/axis2_stream.c

Added: webservices/axis2/trunk/c/modules/common/src/axis2_allocator.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/common/src/axis2_allocator.c?rev=312601&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/common/src/axis2_allocator.c (added)
+++ webservices/axis2/trunk/c/modules/common/src/axis2_allocator.c Mon Oct 10 03:15:18 2005
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <axis2_allocator.h>
+
+axis2_allocator_t *axis2_allocator_init(
+                axis2_allocator_t *allocator)
+{
+    if(allocator)
+        return allocator;
+        
+    else
+    {
+        allocator = (axis2_allocator_t*)malloc(sizeof(axis2_allocator_t));
+        if(allocator)
+        {
+            allocator->malloc = malloc;
+            allocator->realloc = realloc;
+            allocator->free = free;
+            
+            return allocator;
+        }
+     }
+    return NULL;
+}

Added: webservices/axis2/trunk/c/modules/common/src/axis2_environment.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/common/src/axis2_environment.c?rev=312601&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/common/src/axis2_environment.c (added)
+++ webservices/axis2/trunk/c/modules/common/src/axis2_environment.c Mon Oct 10 03:15:18 2005
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <axis2_environment.h>
+
+axis2_environment_t *axis2_environment_create(axis2_allocator_t *allocator, axis2_error_t *error, axis2_stream_t *stream)
+{
+    if (!allocator)
+        return NULL;
+
+    axis2_environment_t *environment = (axis2_environment_t*)axis2_malloc(allocator, sizeof(axis2_environment_t));
+
+    if (!environment)
+        return NULL;
+
+    environment->allocator = allocator;
+
+    if (!error)
+        environment->error = axis2_error_create(allocator);
+
+    if (!stream)
+        environment->stream = axis2_stream_create(allocator, NULL);
+
+    return environment;
+}
+

Added: webservices/axis2/trunk/c/modules/common/src/axis2_error.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/common/src/axis2_error.c?rev=312601&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/common/src/axis2_error.c (added)
+++ webservices/axis2/trunk/c/modules/common/src/axis2_error.c Mon Oct 10 03:15:18 2005
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <axis2_error.h>
+
+
+axis2_char* axis2_error_ops_get_message()
+{
+    return "This is the default error code";
+}
+
+axis2_error_t *axis2_error_create(axis2_allocator_t* allocator)
+{
+    if (!allocator)
+        return NULL;
+    
+    axis2_error_t *error = (axis2_error_t*)axis2_malloc(allocator, sizeof(axis2_error_t ));
+
+    if (!error)
+        return NULL;
+    
+    error->ops = (axis2_error_ops_t*)axis2_malloc(allocator, sizeof(axis2_error_ops_t));
+
+    if (!error->ops)
+    {
+        axis2_free(allocator, error);
+        return NULL;
+    }
+    
+    error->ops->get_message = axis2_error_ops_get_message;
+    
+    return error;
+}
+
+

Added: webservices/axis2/trunk/c/modules/common/src/axis2_stream.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/common/src/axis2_stream.c?rev=312601&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/common/src/axis2_stream.c (added)
+++ webservices/axis2/trunk/c/modules/common/src/axis2_stream.c Mon Oct 10 03:15:18 2005
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <axis2_stream.h>
+#include <stdio.h>
+
+int axis2_stream_ops_read (void *buffer, size_t count);
+int axis2_stream_ops_write(const void *buffer, size_t count);
+
+axis2_stream_t *axis2_stream_create(axis2_allocator_t* allocator, axis2_stream_ops_t* operations)
+{
+    if (!allocator)
+        return NULL;
+    axis2_stream_t *stream = (axis2_stream_t*)axis2_malloc(allocator, sizeof(axis2_stream_t));
+
+    if (!stream)
+        return NULL;
+    
+    if (operations)
+        stream->ops = operations;
+    else
+    {
+        stream->ops = (axis2_stream_ops_t*)axis2_malloc(allocator, sizeof(axis2_stream_ops_t));
+
+        if (!stream->ops)
+            return NULL;
+        
+        stream->ops->read = axis2_stream_ops_read;
+        stream->ops->write = axis2_stream_ops_write;
+    }
+    
+    return stream;
+}
+
+int axis2_stream_ops_read (void *buffer, size_t count)
+{
+    int i = 0;
+    for(i = 0; i < count -1; i++ )
+    {
+        ((axis2_char*)buffer)[i] = 'a';
+    }
+    ((axis2_char*)buffer)[i] = '\0';
+    return 0;
+}
+
+int axis2_stream_ops_write(const void *buffer, size_t count)
+{
+    int i =0;
+    for(i = 0; i < count; i++)
+        printf("%c", ((axis2_char*)buffer)[i]);
+    return 0;
+}
+