You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2006/07/06 08:02:31 UTC

svn commit: r419452 [38/46] - in /webservices/axis2/trunk/c/woden: ./ include/ samples/ samples/wsdl10/ src/ src/builder/ src/builder/wsdl10/ src/schema/ src/types/ src/util/ src/wsdl/ src/wsdl/enumeration/ src/wsdl10/ src/wsdl10/enumeration/ src/wsdl1...

Added: webservices/axis2/trunk/c/woden/src/wsdl20/endpoint.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/endpoint.c?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/endpoint.c (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/endpoint.c Wed Jul  5 23:02:19 2006
@@ -0,0 +1,1020 @@
+/*
+ * 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 <woden_wsdl_obj.h>
+#include <woden_endpoint.h>
+#include <woden_binding.h>
+#include <woden_nested_configurable.h>
+#include <woden_ext_element.h>
+#include <woden_component_exts.h>
+#include <woden_xml_attr.h>
+#include <woden_documentation_element.h>
+
+typedef struct woden_endpoint_impl woden_endpoint_impl_t;
+
+/** 
+ * @brief Endpoint Struct Impl
+ *   Axis2 Endpoint  
+ */ 
+struct woden_endpoint_impl
+{
+    woden_endpoint_t endpoint;
+    woden_obj_types_t obj_type;
+    woden_nested_configurable_t *nested_configurable;
+    axis2_hash_t *super;
+    axis2_hash_t *methods;
+    woden_nc_name_t *f_name;
+    axis2_qname_t *f_binding_qname;
+    void *f_binding;
+    axis2_uri_t *f_address;
+};
+
+#define INTF_TO_IMPL(endpoint) ((woden_endpoint_impl_t *) endpoint)
+
+axis2_status_t AXIS2_CALL 
+woden_endpoint_free(
+        void *endpoint,
+        const axis2_env_t *env);
+
+axis2_hash_t *AXIS2_CALL 
+woden_endpoint_super_objs(
+        void *endpoint,
+        const axis2_env_t *env);
+
+woden_obj_types_t AXIS2_CALL 
+woden_endpoint_type(
+        void *endpoint,
+        const axis2_env_t *env);
+
+woden_nested_configurable_t *AXIS2_CALL
+woden_endpoint_get_base_impl(
+        void *endpoint,
+        const axis2_env_t *env);
+
+/* ************************************************************
+ *  Endpoint interface methods (the WSDL Component model)
+ * ************************************************************/
+
+woden_nc_name_t *AXIS2_CALL
+woden_endpoint_get_name(
+        void *endpoint,
+        const axis2_env_t *env);
+
+void *AXIS2_CALL
+woden_endpoint_get_binding(
+        void *endpoint,
+        const axis2_env_t *env);
+
+axis2_uri_t *AXIS2_CALL
+woden_endpoint_get_address(
+        void *endpoint,
+        const axis2_env_t *env);
+/* ************************************************************
+ *  Endpoint Element interface methods (the XML Element model)
+ * ************************************************************/
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_name(
+        void *endpoint,
+        const axis2_env_t *env,
+        woden_nc_name_t *name);
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_binding_qname(
+        void *endpoint,
+        const axis2_env_t *env,
+        axis2_qname_t *binding_qname);
+
+axis2_qname_t *AXIS2_CALL
+woden_endpoint_get_binding_qname(
+        void *endpoint,
+        const axis2_env_t *env);
+
+void *AXIS2_CALL
+woden_endpoint_get_binding_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_address(
+        void *endpoint,
+        const axis2_env_t *env,
+        axis2_uri_t *uri);
+
+/******************************************************************************
+ *  Non-API implementation methods
+ *****************************************************************************/  
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_binding_element(
+        void *endpoint,
+        const axis2_env_t *env,
+        void *binding);
+
+static woden_endpoint_t *
+create(const axis2_env_t *env);
+
+static axis2_status_t
+woden_endpoint_free_ops(
+        void *endpoint,
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_endpoint_element(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.endpoint_element.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_endpoint_element_ops_t));
+    woden_endpoint_element_resolve_methods(&(endpoint_impl->endpoint.base.
+            endpoint_element), env, endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_nested_element(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+
+    endpoint_impl->endpoint.base.endpoint_element.base.nested_element.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_nested_element_ops_t));
+    woden_nested_element_resolve_methods(&(endpoint_impl->endpoint.base.
+            endpoint_element.base.nested_element), env, endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_documentable_element(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+
+    endpoint_impl->endpoint.base.endpoint_element.base.documentable_element.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_documentable_element_ops_t));
+    woden_documentable_element_resolve_methods(&(endpoint_impl->endpoint.base.
+            endpoint_element.base.documentable_element), env, 
+            endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_nested_configurable(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.nested_configurable.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_nested_configurable_ops_t));
+    woden_nested_configurable_resolve_methods(&(endpoint_impl->endpoint.base.
+            nested_configurable), env, endpoint_impl->nested_configurable, 
+            endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_configurable(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    void *configurable = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.nested_configurable.base.configurable.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_configurable_ops_t));
+    configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(
+            endpoint_impl->nested_configurable, env);
+    woden_configurable_resolve_methods(&(endpoint_impl->endpoint.base.
+            nested_configurable.base.configurable), env, configurable, 
+            endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_nested_component(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+  
+    endpoint_impl->endpoint.base.nested_configurable.base.nested_component.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_nested_component_ops_t));
+    woden_nested_component_resolve_methods(&(endpoint_impl->endpoint.base.
+            nested_configurable.base.nested_component), env, endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_configurable_component(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+  
+    endpoint_impl->endpoint.base.configurable_component.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_configurable_component_ops_t));
+    woden_configurable_component_resolve_methods(&(endpoint_impl->endpoint.base.
+            configurable_component), env, endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_wsdl_component(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.configurable_component.wsdl_component.ops = 
+        AXIS2_MALLOC(env->allocator, 
+        sizeof(woden_wsdl_component_ops_t));
+    woden_wsdl_component_resolve_methods(&(endpoint_impl->endpoint.base.
+            configurable_component.wsdl_component), env, endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_configurable_element(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.endpoint_element.base.configurable_element.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_configurable_element_ops_t));
+    woden_configurable_element_resolve_methods(&(endpoint_impl->endpoint.base.
+            endpoint_element.base.configurable_element), env, endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_documentable(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.nested_configurable.base.
+        configurable.base.documentable.ops = AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_documentable_ops_t));
+    woden_documentable_resolve_methods(&(endpoint_impl->endpoint.base.
+            nested_configurable.base.configurable.base.documentable), env, NULL,
+            endpoint_impl->methods);
+    return endpoint;
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_attr_extensible(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.endpoint_element.base.documentable_element.
+        wsdl_element.base.attr_extensible.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_attr_extensible_ops_t));
+    woden_attr_extensible_resolve_methods(&(endpoint_impl->endpoint.base.
+            endpoint_element.base.documentable_element.wsdl_element.base.
+            attr_extensible), env, NULL, endpoint_impl->methods);
+    return endpoint;
+}
+
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_element_extensible(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    if(!endpoint)
+    {
+        endpoint_impl = (woden_endpoint_impl_t *) create(env);
+    }
+    else
+        endpoint_impl = (woden_endpoint_impl_t *) endpoint;
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    endpoint_impl->endpoint.base.endpoint_element.base.documentable_element.
+        wsdl_element.base.element_extensible.ops = 
+        AXIS2_MALLOC(env->allocator, 
+                sizeof(woden_element_extensible_ops_t));
+    woden_element_extensible_resolve_methods(&(endpoint_impl->endpoint.base.
+            endpoint_element.base.documentable_element.wsdl_element.base.
+            element_extensible), env, NULL, endpoint_impl->methods);
+    return endpoint;
+}
+
+/************************End of Woden C Internal Methods***********************/
+static woden_endpoint_t *
+create(const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    endpoint_impl = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_endpoint_impl_t));
+
+    endpoint_impl->obj_type= WODEN_ENDPOINT;
+    endpoint_impl->super = NULL;
+    endpoint_impl->methods = NULL;
+    endpoint_impl->f_name = NULL;
+    endpoint_impl->f_binding_qname = NULL;
+    endpoint_impl->f_binding = NULL;
+    endpoint_impl->f_address = NULL;
+    
+    endpoint_impl->endpoint.base.endpoint_element.ops = NULL;
+    endpoint_impl->endpoint.base.endpoint_element.base.nested_element.ops = NULL;
+    endpoint_impl->endpoint.base.endpoint_element.base.documentable_element.ops = 
+            NULL;
+    endpoint_impl->endpoint.base.nested_configurable.ops = NULL;
+    endpoint_impl->endpoint.base.nested_configurable.base.configurable.ops = NULL;
+    endpoint_impl->endpoint.base.nested_configurable.base.nested_component.ops = NULL; 
+    endpoint_impl->endpoint.base.configurable_component.ops = NULL;
+    endpoint_impl->endpoint.base.configurable_component.wsdl_component.ops = NULL;
+    endpoint_impl->endpoint.base.endpoint_element.base.
+        configurable_element.ops = NULL;
+    endpoint_impl->endpoint.base.nested_configurable.base.configurable.base.
+        documentable.ops = NULL;
+    endpoint_impl->endpoint.base.endpoint_element.base.
+        documentable_element.wsdl_element.base.attr_extensible.ops = NULL;
+    endpoint_impl->endpoint.base.endpoint_element.base.
+        documentable_element.wsdl_element.base.element_extensible.ops = NULL;
+ 
+    endpoint_impl->endpoint.ops = AXIS2_MALLOC(env->allocator, 
+            sizeof(woden_endpoint_ops_t));
+
+    endpoint_impl->endpoint.ops->free = woden_endpoint_free;
+    endpoint_impl->endpoint.ops->super_objs = woden_endpoint_super_objs;
+    endpoint_impl->endpoint.ops->type = woden_endpoint_type;
+    endpoint_impl->endpoint.ops->get_base_impl = woden_endpoint_get_base_impl;
+
+    endpoint_impl->endpoint.ops->get_name = woden_endpoint_get_name;
+    endpoint_impl->endpoint.ops->get_binding = woden_endpoint_get_binding;
+    endpoint_impl->endpoint.ops->get_address = 
+        woden_endpoint_get_address;
+    endpoint_impl->endpoint.ops->set_binding_element = 
+        woden_endpoint_set_binding_element;
+ 
+    endpoint_impl->methods = axis2_hash_make(env);
+    if(!endpoint_impl->methods) 
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+    axis2_hash_set(endpoint_impl->methods, "free", AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_free);
+    axis2_hash_set(endpoint_impl->methods, "super_objs", 
+            AXIS2_HASH_KEY_STRING, woden_endpoint_super_objs);
+    axis2_hash_set(endpoint_impl->methods, "type", 
+            AXIS2_HASH_KEY_STRING, woden_endpoint_type);
+
+    axis2_hash_set(endpoint_impl->methods, "get_name", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_get_name);
+    axis2_hash_set(endpoint_impl->methods, "get_binding", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_get_binding);
+    axis2_hash_set(endpoint_impl->methods, "get_address", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_get_address);
+    axis2_hash_set(endpoint_impl->methods, "set_name", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_set_name);
+    axis2_hash_set(endpoint_impl->methods, "set_binding_qname", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_set_binding_qname);
+    axis2_hash_set(endpoint_impl->methods, "get_binding_qname", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_get_binding_qname);
+    axis2_hash_set(endpoint_impl->methods, "get_binding_element", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_get_binding_element);
+    axis2_hash_set(endpoint_impl->methods, "set_address", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_set_address);
+    axis2_hash_set(endpoint_impl->methods, "set_binding_element", 
+            AXIS2_HASH_KEY_STRING, 
+            woden_endpoint_set_binding_element);
+
+    return &(endpoint_impl->endpoint);
+}
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_create(const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    endpoint_impl = (woden_endpoint_impl_t *) create(env);
+
+    endpoint_impl->nested_configurable = woden_nested_configurable_create(env);
+
+    endpoint_impl->super = axis2_hash_make(env);
+    if(!endpoint_impl->super) 
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+    axis2_hash_set(endpoint_impl->super, "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING, 
+            &(endpoint_impl->endpoint));
+    axis2_hash_set(endpoint_impl->super, "WODEN_NESTED_CONFIGURABLE", AXIS2_HASH_KEY_STRING, 
+            endpoint_impl->nested_configurable);
+ 
+    return &(endpoint_impl->endpoint);
+}
+
+static axis2_status_t
+woden_endpoint_free_ops(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    endpoint_impl = INTF_TO_IMPL(endpoint);
+
+    if(endpoint_impl->endpoint.base.endpoint_element.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                endpoint_element.ops);
+        endpoint_impl->endpoint.base.endpoint_element.ops = NULL;
+    }
+
+    if(endpoint_impl->endpoint.base.endpoint_element.base.nested_element.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                endpoint_element.base.nested_element.ops);
+        endpoint_impl->endpoint.base.endpoint_element.base.nested_element.ops = 
+            NULL;
+    }
+    
+    if(endpoint_impl->endpoint.base.endpoint_element.base.documentable_element.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                endpoint_element.base.documentable_element.ops);
+        endpoint_impl->endpoint.base.endpoint_element.base.documentable_element.ops = 
+            NULL;
+    }
+    
+    if(endpoint_impl->endpoint.base.nested_configurable.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                nested_configurable.ops);
+        endpoint_impl->endpoint.base.nested_configurable.ops = 
+            NULL;
+    }
+    
+    if(endpoint_impl->endpoint.base.nested_configurable.base.configurable.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                nested_configurable.base.configurable.ops);
+        endpoint_impl->endpoint.base.nested_configurable.base.configurable.ops = 
+            NULL;
+    }
+
+    if(endpoint_impl->endpoint.base.nested_configurable.base.nested_component.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                nested_configurable.base.nested_component.ops);
+        endpoint_impl->endpoint.base.nested_configurable.base.nested_component.ops = NULL;
+    }
+
+    if(endpoint_impl->endpoint.base.configurable_component.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                configurable_component.ops);
+        endpoint_impl->endpoint.base.configurable_component.ops = NULL;
+    }
+
+    if(endpoint_impl->endpoint.base.configurable_component.wsdl_component.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                configurable_component.wsdl_component.ops);
+        endpoint_impl->endpoint.base.configurable_component.wsdl_component.ops = NULL;
+    }
+ 
+    if(endpoint_impl->endpoint.base.endpoint_element.base.
+            configurable_element.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                endpoint_element.base.configurable_element.ops);
+        endpoint_impl->endpoint.base.endpoint_element.base.
+            configurable_element.ops = NULL;
+    }
+    
+    if(endpoint_impl->endpoint.base.nested_configurable.base.
+            configurable.base.documentable.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                nested_configurable.base.configurable.base.documentable.ops);
+        endpoint_impl->endpoint.base.nested_configurable.base.
+            configurable.base.documentable.ops = NULL;
+    }
+      
+    if(endpoint_impl->endpoint.base.endpoint_element.base.
+            documentable_element.wsdl_element.base.attr_extensible.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                endpoint_element.base.documentable_element.wsdl_element.base.
+                attr_extensible.ops);
+        endpoint_impl->endpoint.base.endpoint_element.base.
+            documentable_element.wsdl_element.base.attr_extensible.ops = NULL;
+    }
+      
+    if(endpoint_impl->endpoint.base.endpoint_element.base.
+            documentable_element.wsdl_element.base.element_extensible.ops)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl->endpoint.base.
+                endpoint_element.base.documentable_element.wsdl_element.base.
+                element_extensible.ops);
+        endpoint_impl->endpoint.base.endpoint_element.base.
+            documentable_element.wsdl_element.base.element_extensible.ops = NULL;
+    }
+  
+
+    return AXIS2_SUCCESS;
+}
+
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_free(void *endpoint,
+                        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    endpoint_impl = INTF_TO_IMPL(endpoint);
+
+    if(endpoint_impl->f_name)
+    {
+        WODEN_NC_NAME_FREE(endpoint_impl->f_name, env);
+        endpoint_impl->f_name = NULL;
+    }
+
+    if(endpoint_impl->f_binding_qname)
+    {
+        AXIS2_QNAME_FREE(endpoint_impl->f_binding_qname, env);
+        endpoint_impl->f_binding_qname = NULL;
+    }
+
+    if(endpoint_impl->f_binding)
+    {
+        WODEN_BINDING_FREE(endpoint_impl->f_binding, env);
+        endpoint_impl->f_binding = NULL;
+    }
+
+    if(endpoint_impl->f_address)
+    {
+        AXIS2_URI_FREE(endpoint_impl->f_address, env);
+        endpoint_impl->f_address = NULL;
+    }
+   
+    /* TODO free f_parent */
+    
+    if(endpoint_impl->super)
+    {
+        axis2_hash_free(endpoint_impl->super, env);
+        endpoint_impl->super = NULL;
+    }
+    
+    if(endpoint_impl->methods)
+    {
+        axis2_hash_free(endpoint_impl->methods, env);
+        endpoint_impl->methods = NULL;
+    }
+
+    if(endpoint_impl->nested_configurable)
+    {
+        WODEN_NESTED_CONFIGURABLE_FREE(endpoint_impl->nested_configurable, env);
+        endpoint_impl->nested_configurable = NULL;
+    }
+
+    woden_endpoint_free_ops(endpoint, env);
+
+    if((&(endpoint_impl->endpoint))->ops)
+    {
+        AXIS2_FREE(env->allocator, (&(endpoint_impl->endpoint))->ops);
+        (&(endpoint_impl->endpoint))->ops = NULL;
+    }
+    
+    if(endpoint_impl)
+    {
+        AXIS2_FREE(env->allocator, endpoint_impl);
+        endpoint_impl = NULL;
+    }
+    return AXIS2_SUCCESS;
+}
+
+axis2_hash_t *AXIS2_CALL
+woden_endpoint_super_objs(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    endpoint_impl = INTF_TO_IMPL(endpoint);
+
+    return endpoint_impl->super;
+}
+
+woden_obj_types_t AXIS2_CALL
+woden_endpoint_type(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    endpoint_impl = INTF_TO_IMPL(endpoint);
+
+    return endpoint_impl->obj_type;
+}
+
+woden_nested_configurable_t *AXIS2_CALL
+woden_endpoint_get_base_impl(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    endpoint_impl = INTF_TO_IMPL(endpoint);
+
+    return endpoint_impl->nested_configurable;
+}
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_resolve_methods(
+        woden_endpoint_t *endpoint,
+        const axis2_env_t *env,
+        woden_endpoint_t *endpoint_impl,
+        axis2_hash_t *methods)
+{
+    woden_endpoint_impl_t *endpoint_impl_l = NULL;
+    
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, methods, AXIS2_FAILURE);
+    endpoint_impl_l = INTF_TO_IMPL(endpoint_impl);
+    
+    endpoint->ops->free = axis2_hash_get(methods, "free", 
+            AXIS2_HASH_KEY_STRING);
+    endpoint->ops->super_objs = axis2_hash_get(methods, "super_objs", 
+            AXIS2_HASH_KEY_STRING);
+    endpoint->ops->type = axis2_hash_get(methods, "type", 
+            AXIS2_HASH_KEY_STRING);
+    
+    endpoint->ops->get_name = axis2_hash_get(methods, 
+            "get_name", AXIS2_HASH_KEY_STRING);
+    if(!endpoint->ops->get_name && endpoint_impl_l)
+            endpoint->ops->get_name = 
+            endpoint_impl_l->endpoint.ops->get_name;
+    
+    endpoint->ops->get_binding = axis2_hash_get(methods, 
+            "get_binding", AXIS2_HASH_KEY_STRING);
+    if(!endpoint->ops->get_binding && endpoint_impl_l)
+            endpoint->ops->get_binding = 
+            endpoint_impl_l->endpoint.ops->get_binding;
+    
+    endpoint->ops->get_address = axis2_hash_get(methods, 
+            "get_address", AXIS2_HASH_KEY_STRING);
+    if(!endpoint->ops->get_address && endpoint_impl_l)
+            endpoint->ops->get_address = 
+            endpoint_impl_l->endpoint.ops->get_address;
+    
+    endpoint->ops->set_binding_element = axis2_hash_get(methods, 
+            "set_binding_element", AXIS2_HASH_KEY_STRING);
+    if(!endpoint->ops->set_binding_element && endpoint_impl_l)
+            endpoint->ops->set_binding_element = 
+            endpoint_impl_l->endpoint.ops->set_binding_element;
+
+    return AXIS2_SUCCESS;
+}
+/* ************************************************************
+ *  Endpoint interface methods (the WSDL Component model)
+ * ************************************************************/
+
+woden_nc_name_t *AXIS2_CALL
+woden_endpoint_get_name(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+    
+    return endpoint_impl->f_name;
+}
+
+void *AXIS2_CALL
+woden_endpoint_get_binding(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+    
+    return endpoint_impl->f_binding;
+}
+
+axis2_uri_t *AXIS2_CALL
+woden_endpoint_get_address(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+    
+    return endpoint_impl->f_address;
+}
+/* ************************************************************
+ *  Endpoint Element interface methods (the XML Element model)
+ * ************************************************************/
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_name(
+        void *endpoint,
+        const axis2_env_t *env,
+        woden_nc_name_t *name)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+
+    if(endpoint_impl->f_name)
+    {
+        WODEN_NC_NAME_FREE(endpoint_impl->f_name, env);
+    }
+    endpoint_impl->f_name = name;
+    return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_binding_qname(
+        void *endpoint,
+        const axis2_env_t *env,
+        axis2_qname_t *binding_qname)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+
+    if(endpoint_impl->f_binding_qname)
+    {
+        AXIS2_QNAME_FREE(endpoint_impl->f_binding_qname, env);
+    }
+
+    endpoint_impl->f_binding_qname = AXIS2_QNAME_CLONE(binding_qname, env);
+    return AXIS2_SUCCESS;
+}
+
+axis2_qname_t *AXIS2_CALL
+woden_endpoint_get_binding_qname(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+
+    return endpoint_impl->f_binding_qname;
+}
+
+void *AXIS2_CALL
+woden_endpoint_get_binding_element(
+        void *endpoint,
+        const axis2_env_t *env)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+
+    return endpoint_impl->f_binding;
+}
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_address(
+        void *endpoint,
+        const axis2_env_t *env,
+        axis2_uri_t *uri)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+
+    if(endpoint_impl->f_address)
+    {
+        AXIS2_URI_FREE(endpoint_impl->f_address, env);
+        endpoint_impl->f_address = NULL;
+    }
+
+    endpoint_impl->f_address = AXIS2_URI_CLONE(uri, env);
+    return AXIS2_SUCCESS;
+}
+
+/******************************************************************************
+ *  Non-API implementation methods
+ *****************************************************************************/  
+
+axis2_status_t AXIS2_CALL
+woden_endpoint_set_binding_element(
+        void *endpoint,
+        const axis2_env_t *env,
+        void *binding)
+{
+    woden_endpoint_impl_t *endpoint_impl = NULL;
+    axis2_hash_t *super = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    super = WODEN_ENDPOINT_SUPER_OBJS(endpoint, env);
+    endpoint_impl = INTF_TO_IMPL(axis2_hash_get(super, 
+                "WODEN_ENDPOINT", AXIS2_HASH_KEY_STRING));
+
+    if(endpoint_impl->f_binding)
+    {
+        /* TODO */
+    }
+
+    endpoint_impl->f_binding = binding;
+    return AXIS2_SUCCESS;
+}
+
+

Added: webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile Wed Jul  5 23:02:19 2006
@@ -0,0 +1,443 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# src/wsdl20/enumeration/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+SOURCES = $(libwoden_enumeration_la_SOURCES)
+
+srcdir = .
+top_srcdir = ../../..
+
+pkgdatadir = $(datadir)/wodenc-src
+pkglibdir = $(libdir)/wodenc-src
+pkgincludedir = $(includedir)/wodenc-src
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+target_triplet = i686-pc-linux-gnu
+subdir = src/wsdl20/enumeration
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libwoden_enumeration_la_LIBADD =
+am_libwoden_enumeration_la_OBJECTS = msg_label.lo direction.lo \
+	soap_fault_code.lo soap_fault_subcodes.lo
+libwoden_enumeration_la_OBJECTS =  \
+	$(am_libwoden_enumeration_la_OBJECTS)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libwoden_enumeration_la_SOURCES)
+DIST_SOURCES = $(libwoden_enumeration_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/damitha/temp/woden/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/damitha/temp/woden/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/damitha/temp/woden/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/damitha/temp/woden/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/damitha/temp/woden/missing --run automake-1.9
+AWK = mawk
+AXIOMINC = 
+CC = ccache gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -D_LARGEFILE64_SOURCE -ansi -Wall -Wno-implicit-function-declaration -Werror
+CPP = ccache gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = -lpthread
+LIBOBJS = 
+LIBS = -ldl 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /home/damitha/temp/woden/missing --run makeinfo
+OBJEXT = o
+PACKAGE = wodenc-src
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = wodenc-src
+PACKAGE_STRING = wodenc-src 0.91_pre
+PACKAGE_TARNAME = wodenc-src
+PACKAGE_VERSION = 0.91_pre
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+UTILINC = -I/home/damitha/projects/c/deploy/include
+VERSION = 0.91_pre
+XMLSCHEMAINC = -I/home/damitha/temp/woden/../../projects/c/xml_schema/include
+ac_ct_AR = ar
+ac_ct_CC = ccache gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = tar --format=ustar -chf - "$$tardir"
+am__untar = tar -xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias = 
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias = 
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/damitha/temp/woden/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /home/damitha/projects/c/deploy
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target = i686-pc-linux-gnu
+target_alias = 
+target_cpu = i686
+target_os = linux-gnu
+target_vendor = pc
+noinst_LTLIBRARIES = libwoden_enumeration.la
+libwoden_enumeration_la_SOURCES = \
+							msg_label.c \
+							direction.c \
+							soap_fault_code.c \
+							soap_fault_subcodes.c
+
+INCLUDES = -I$(top_builddir)/include \
+			 \
+			-I/home/damitha/projects/c/deploy/include \
+			-I/home/damitha/temp/woden/../../projects/c/xml_schema/include
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/wsdl20/enumeration/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/wsdl20/enumeration/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libwoden_enumeration.la: $(libwoden_enumeration_la_OBJECTS) $(libwoden_enumeration_la_DEPENDENCIES) 
+	$(LINK)  $(libwoden_enumeration_la_LDFLAGS) $(libwoden_enumeration_la_OBJECTS) $(libwoden_enumeration_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/direction.Plo
+include ./$(DEPDIR)/msg_label.Plo
+include ./$(DEPDIR)/soap_fault_code.Plo
+include ./$(DEPDIR)/soap_fault_subcodes.Plo
+
+.c.o:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c $<
+
+.c.obj:
+	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#	source='$<' object='$@' libtool=yes \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile.am?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile.am (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/Makefile.am Wed Jul  5 23:02:19 2006
@@ -0,0 +1,12 @@
+noinst_LTLIBRARIES = libwoden_enumeration.la
+
+libwoden_enumeration_la_SOURCES = \
+							msg_label.c \
+							direction.c \
+							soap_fault_code.c \
+							soap_fault_subcodes.c
+
+INCLUDES = -I$(top_builddir)/include \
+			@AXIOMINC@ \
+			@UTILINC@ \
+			@XMLSCHEMAINC@

Added: webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/direction.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/direction.c?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/direction.c (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/direction.c Wed Jul  5 23:02:19 2006
@@ -0,0 +1,149 @@
+/*
+ * 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 <woden_direction.h>
+
+typedef struct woden_direction_impl woden_direction_impl_t;
+
+/** 
+ * @brief Direction Struct Impl
+ *   Axis2 Direction  
+ */ 
+struct woden_direction_impl
+{
+    woden_direction_t direction;
+    axis2_char_t *f_value;
+};
+
+#define INTF_TO_IMPL(direction) ((woden_direction_impl_t *) direction)
+
+static woden_direction_t *WODEN_DIRECTION_IN = NULL;
+static woden_direction_t *WODEN_DIRECTION_OUT = NULL;
+
+axis2_status_t AXIS2_CALL 
+woden_direction_free(
+        void *direction,
+        const axis2_env_t *env);
+
+axis2_char_t *AXIS2_CALL
+woden_direction_to_string(
+        void *direction,
+        const axis2_env_t *env);
+
+static woden_direction_t *
+create(
+        const axis2_env_t *env)
+{
+    woden_direction_impl_t *direction_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    direction_impl = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_direction_impl_t));
+
+    direction_impl->f_value = NULL;
+   
+    direction_impl->direction.ops = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_direction_ops_t));
+    
+    direction_impl->direction.ops->free = woden_direction_free;
+
+    direction_impl->direction.ops->to_string = woden_direction_to_string;
+    
+
+    return &(direction_impl->direction);
+}
+
+AXIS2_EXTERN woden_direction_t * AXIS2_CALL
+woden_direction_create(
+        const axis2_env_t *env,
+        axis2_char_t *value)
+{
+    woden_direction_impl_t *direction_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    direction_impl = (woden_direction_impl_t *) create(env);
+
+    direction_impl->f_value = AXIS2_STRDUP(value, env);
+
+    return &(direction_impl->direction);
+}
+
+AXIS2_EXTERN woden_direction_t *AXIS2_CALL
+woden_direction_get_direction_in(
+        const axis2_env_t *env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+    
+    if(!WODEN_DIRECTION_IN)
+        WODEN_DIRECTION_IN = woden_direction_create(env, "in");
+
+    return WODEN_DIRECTION_IN;
+}
+
+AXIS2_EXTERN woden_direction_t *AXIS2_CALL
+woden_direction_get_direction_out(
+        const axis2_env_t *env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+
+    if(!WODEN_DIRECTION_OUT)
+        WODEN_DIRECTION_OUT = woden_direction_create(env, "out");
+    return WODEN_DIRECTION_OUT;
+}
+
+axis2_status_t AXIS2_CALL
+woden_direction_free(
+        void *direction,
+        const axis2_env_t *env)
+{
+    woden_direction_impl_t *direction_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    direction_impl = INTF_TO_IMPL(direction);
+
+    if(direction_impl->f_value)
+    {
+        AXIS2_FREE(env->allocator, direction_impl->f_value);
+        direction_impl->f_value = NULL;
+    }
+
+    if((&(direction_impl->direction))->ops)
+    {
+        AXIS2_FREE(env->allocator, (&(direction_impl->direction))->ops);
+        (&(direction_impl->direction))->ops = NULL;
+    }
+
+    if(direction_impl)
+    {
+        AXIS2_FREE(env->allocator, direction_impl);
+        direction_impl = NULL;
+    }
+    return AXIS2_SUCCESS;
+}
+
+axis2_char_t *AXIS2_CALL
+woden_direction_to_string(
+        void *direction,
+        const axis2_env_t *env)
+{
+    woden_direction_impl_t *direction_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    direction_impl = INTF_TO_IMPL(direction);
+
+    return direction_impl->f_value;
+}
+

Added: webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/msg_label.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/msg_label.c?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/msg_label.c (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/msg_label.c Wed Jul  5 23:02:19 2006
@@ -0,0 +1,218 @@
+/*
+ * 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 <woden_msg_label.h>
+
+typedef struct woden_msg_label_impl woden_msg_label_impl_t;
+
+/** 
+ * @brief Message Label Struct Impl
+ *   Axis2 Message Label  
+ */ 
+struct woden_msg_label_impl
+{
+    woden_msg_label_t msg_label;
+    axis2_char_t *f_value;
+    axis2_bool_t f_valid;
+};
+
+#define INTF_TO_IMPL(msg_label) ((woden_msg_label_impl_t *) msg_label)
+
+static woden_msg_label_t *WODEN_MSG_LABEL_IN = NULL;
+static woden_msg_label_t *WODEN_MSG_LABEL_OUT = NULL;
+
+axis2_status_t AXIS2_CALL 
+woden_msg_label_free(
+        void *msg_label,
+        const axis2_env_t *env);
+
+axis2_char_t *AXIS2_CALL
+woden_msg_label_to_string(
+        void *msg_label,
+        const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+woden_msg_label_is_valid(
+        void *msg_label,
+        const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+woden_msg_label_equals(
+        void *msg_label,
+        const axis2_env_t *env,
+        woden_msg_label_t *other);
+
+static woden_msg_label_t *
+create(
+        const axis2_env_t *env)
+{
+    woden_msg_label_impl_t *msg_label_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    msg_label_impl = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_msg_label_impl_t));
+
+    msg_label_impl->f_value = NULL;
+    msg_label_impl->f_valid = AXIS2_TRUE;
+   
+    msg_label_impl->msg_label.ops = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_msg_label_ops_t));
+    
+    msg_label_impl->msg_label.ops->free = woden_msg_label_free;
+
+    msg_label_impl->msg_label.ops->to_string = woden_msg_label_to_string;
+    msg_label_impl->msg_label.ops->is_valid = woden_msg_label_is_valid;
+    msg_label_impl->msg_label.ops->equals = woden_msg_label_equals;
+    
+
+    return &(msg_label_impl->msg_label);
+}
+
+AXIS2_EXTERN woden_msg_label_t * AXIS2_CALL
+woden_msg_label_create(
+        const axis2_env_t *env,
+        const axis2_char_t *value,
+        axis2_bool_t valid)
+{
+    woden_msg_label_impl_t *msg_label_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    msg_label_impl = (woden_msg_label_impl_t *) create(env);
+
+    msg_label_impl->f_value = AXIS2_STRDUP(value, env);
+    msg_label_impl->f_valid = valid;
+
+    return &(msg_label_impl->msg_label);
+}
+
+AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
+woden_msg_label_get_msg_label_in(
+        const axis2_env_t *env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+
+    if(!WODEN_MSG_LABEL_IN)
+        WODEN_MSG_LABEL_IN = woden_msg_label_create(env, "In", 
+                AXIS2_TRUE);
+
+    return WODEN_MSG_LABEL_IN;
+}
+
+AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
+woden_msg_label_get_msg_label_out(
+        const axis2_env_t *env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+
+    if(!WODEN_MSG_LABEL_OUT)
+        WODEN_MSG_LABEL_OUT = woden_msg_label_create(env, "Out", 
+                AXIS2_TRUE);
+
+    return WODEN_MSG_LABEL_OUT;
+}
+
+AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
+woden_msg_label_get_invalid_value(
+        const axis2_env_t *env,
+        const axis2_char_t *value)
+{
+    woden_msg_label_t *msg_label = NULL;
+    
+    AXIS2_ENV_CHECK(env, NULL);
+
+    msg_label = woden_msg_label_create(env, value, AXIS2_FALSE);
+
+    return msg_label;
+}
+
+axis2_status_t AXIS2_CALL
+woden_msg_label_free(
+        void *msg_label,
+        const axis2_env_t *env)
+{
+    woden_msg_label_impl_t *msg_label_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    msg_label_impl = INTF_TO_IMPL(msg_label);
+
+    if(msg_label_impl->f_value)
+    {
+        AXIS2_FREE(env->allocator, msg_label_impl->f_value);
+        msg_label_impl->f_value = NULL;
+    }
+
+    if((&(msg_label_impl->msg_label))->ops)
+    {
+        AXIS2_FREE(env->allocator, (&(msg_label_impl->msg_label))->ops);
+        (&(msg_label_impl->msg_label))->ops = NULL;
+    }
+
+    if(msg_label_impl)
+    {
+        AXIS2_FREE(env->allocator, msg_label_impl);
+        msg_label_impl = NULL;
+    }
+    return AXIS2_SUCCESS;
+}
+
+axis2_char_t *AXIS2_CALL
+woden_msg_label_to_string(
+        void *msg_label,
+        const axis2_env_t *env)
+{
+    woden_msg_label_impl_t *msg_label_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    msg_label_impl = INTF_TO_IMPL(msg_label);
+
+    return msg_label_impl->f_value;
+}
+
+axis2_bool_t AXIS2_CALL
+woden_msg_label_is_valid(
+        void *msg_label,
+        const axis2_env_t *env)
+{
+    woden_msg_label_impl_t *msg_label_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    msg_label_impl = INTF_TO_IMPL(msg_label);
+
+    return msg_label_impl->f_valid;
+}
+
+axis2_bool_t AXIS2_CALL
+woden_msg_label_equals(
+        void *msg_label,
+        const axis2_env_t *env,
+        woden_msg_label_t *other)
+{
+    woden_msg_label_impl_t *msg_label_impl = NULL;
+    axis2_char_t *value = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, other, AXIS2_FAILURE);
+    msg_label_impl = INTF_TO_IMPL(msg_label);
+
+    value = WODEN_MSG_LABEL_TO_STRING(other, env);
+    if(0 == AXIS2_STRCMP(msg_label_impl->f_value, value))
+    {
+        return AXIS2_TRUE;
+    }
+
+    return AXIS2_FALSE;
+}
+

Added: webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_code.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_code.c?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_code.c (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_code.c Wed Jul  5 23:02:19 2006
@@ -0,0 +1,211 @@
+/*
+ * 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 <woden_soap_fault_code.h>
+
+typedef struct woden_soap_fault_code_impl woden_soap_fault_code_impl_t;
+
+/** 
+ * @brief Soap Fault Code Struct Impl
+ *   Axis2 Soap Fault Code  
+ */ 
+struct woden_soap_fault_code_impl
+{
+    woden_soap_fault_code_t soap_fault_code;
+    axis2_char_t *f_token;
+    axis2_qname_t *f_code_qn;
+};
+
+#define INTF_TO_IMPL(soap_fault_code) ((woden_soap_fault_code_impl_t *) soap_fault_code)
+
+static void *WODEN_SOAP_FAULT_CODE_ANY = NULL;
+
+axis2_status_t AXIS2_CALL 
+woden_soap_fault_code_free(
+        void *soap_fault_code,
+        const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_code_is_qname(
+        void *soap_fault_code,
+        const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_code_is_token(
+        void *soap_fault_code,
+        const axis2_env_t *env);
+
+axis2_qname_t *AXIS2_CALL
+woden_soap_fault_code_get_qname(
+        void *soap_fault_code,
+        const axis2_env_t *env);
+
+axis2_char_t *AXIS2_CALL
+woden_soap_fault_code_get_token(
+        void *soap_fault_code,
+        const axis2_env_t *env);
+
+
+static woden_soap_fault_code_t *
+create(
+        const axis2_env_t *env)
+{
+    woden_soap_fault_code_impl_t *soap_fault_code_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_code_impl = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_soap_fault_code_impl_t));
+
+    soap_fault_code_impl->f_token = NULL;
+    soap_fault_code_impl->f_code_qn = NULL;
+   
+    soap_fault_code_impl->soap_fault_code.ops = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_soap_fault_code_ops_t));
+    
+    soap_fault_code_impl->soap_fault_code.ops->free = woden_soap_fault_code_free;
+
+    soap_fault_code_impl->soap_fault_code.ops->is_qname = 
+        woden_soap_fault_code_is_qname;
+    soap_fault_code_impl->soap_fault_code.ops->is_token = 
+        woden_soap_fault_code_is_token;
+    soap_fault_code_impl->soap_fault_code.ops->get_qname = 
+        woden_soap_fault_code_get_qname;
+    soap_fault_code_impl->soap_fault_code.ops->get_token = 
+        woden_soap_fault_code_get_token;
+    
+
+    return &(soap_fault_code_impl->soap_fault_code);
+}
+
+AXIS2_EXTERN woden_soap_fault_code_t * AXIS2_CALL
+woden_soap_fault_code_create(
+        const axis2_env_t *env,
+        axis2_char_t *token,
+        axis2_qname_t *code_qn)
+{
+    woden_soap_fault_code_impl_t *soap_fault_code_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_code_impl = (woden_soap_fault_code_impl_t *) create(env);
+
+    soap_fault_code_impl->f_token = AXIS2_STRDUP(token, env);
+    soap_fault_code_impl->f_code_qn = AXIS2_QNAME_CLONE(code_qn, env);
+
+    return &(soap_fault_code_impl->soap_fault_code);
+}
+
+axis2_status_t AXIS2_CALL
+woden_soap_fault_code_free(
+        void *soap_fault_code,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_code_impl_t *soap_fault_code_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    soap_fault_code_impl = INTF_TO_IMPL(soap_fault_code);
+
+    if(soap_fault_code_impl->f_token)
+    {
+        AXIS2_FREE(env->allocator, soap_fault_code_impl->f_token);
+        soap_fault_code_impl->f_token = NULL;
+    }
+
+    if(soap_fault_code_impl->f_code_qn)
+    {
+        AXIS2_QNAME_FREE(soap_fault_code_impl->f_code_qn, env);
+        soap_fault_code_impl->f_code_qn = NULL;
+    }
+
+    if((&(soap_fault_code_impl->soap_fault_code))->ops)
+    {
+        AXIS2_FREE(env->allocator, (&(soap_fault_code_impl->soap_fault_code))->ops);
+        (&(soap_fault_code_impl->soap_fault_code))->ops = NULL;
+    }
+
+    if(soap_fault_code_impl)
+    {
+        AXIS2_FREE(env->allocator, soap_fault_code_impl);
+        soap_fault_code_impl = NULL;
+    }
+    return AXIS2_SUCCESS;
+}
+
+void *AXIS2_CALL
+woden_soap_fault_code_get_soap_fault_code_any(
+        const axis2_env_t *env)
+{
+
+    AXIS2_ENV_CHECK(env, NULL);
+
+    if(!WODEN_SOAP_FAULT_CODE_ANY)
+        WODEN_SOAP_FAULT_CODE_ANY = woden_soap_fault_code_create(env, 
+                "#any", NULL);
+
+    return WODEN_SOAP_FAULT_CODE_ANY;
+}
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_code_is_qname(
+        void *soap_fault_code,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_code_impl_t *soap_fault_code_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    soap_fault_code_impl = INTF_TO_IMPL(soap_fault_code);
+
+    return (NULL != soap_fault_code_impl->f_code_qn);
+}
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_code_is_token(
+        void *soap_fault_code,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_code_impl_t *soap_fault_code_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    soap_fault_code_impl = INTF_TO_IMPL(soap_fault_code);
+
+    return (NULL != soap_fault_code_impl->f_token);
+}
+
+axis2_qname_t *AXIS2_CALL
+woden_soap_fault_code_get_qname(
+        void *soap_fault_code,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_code_impl_t *soap_fault_code_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_code_impl = INTF_TO_IMPL(soap_fault_code);
+
+    return soap_fault_code_impl->f_code_qn;
+}
+
+axis2_char_t *AXIS2_CALL
+woden_soap_fault_code_get_token(
+        void *soap_fault_code,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_code_impl_t *soap_fault_code_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_code_impl = INTF_TO_IMPL(soap_fault_code);
+
+    return soap_fault_code_impl->f_token;
+}
+

Added: webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_subcodes.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_subcodes.c?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_subcodes.c (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/enumeration/soap_fault_subcodes.c Wed Jul  5 23:02:19 2006
@@ -0,0 +1,222 @@
+/*
+ * 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 <woden_soap_fault_subcodes.h>
+
+typedef struct woden_soap_fault_subcodes_impl woden_soap_fault_subcodes_impl_t;
+
+/** 
+ * @brief Soap Fault Subcodes Struct Impl
+ *   Axis2 Soap Fault Subcodes  
+ */ 
+struct woden_soap_fault_subcodes_impl
+{
+    woden_soap_fault_subcodes_t soap_fault_subcodes;
+    axis2_char_t *f_token;
+    axis2_array_list_t *f_subcode_qns;
+};
+
+#define INTF_TO_IMPL(soap_fault_subcodes) ((woden_soap_fault_subcodes_impl_t *) soap_fault_subcodes)
+
+static void *WODEN_SOAP_FAULT_SUBCODES_ANY = NULL;
+
+axis2_status_t AXIS2_CALL 
+woden_soap_fault_subcodes_free(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_subcodes_is_qnames(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_subcodes_is_token(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env);
+
+axis2_array_list_t *AXIS2_CALL
+woden_soap_fault_subcodes_get_qnames(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env);
+
+axis2_char_t *AXIS2_CALL
+woden_soap_fault_subcodes_get_token(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env);
+
+
+static woden_soap_fault_subcodes_t *
+create(
+        const axis2_env_t *env)
+{
+    woden_soap_fault_subcodes_impl_t *soap_fault_subcodes_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_subcodes_impl = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_soap_fault_subcodes_impl_t));
+
+    soap_fault_subcodes_impl->f_token = NULL;
+    soap_fault_subcodes_impl->f_subcode_qns = NULL;
+   
+    soap_fault_subcodes_impl->soap_fault_subcodes.ops = AXIS2_MALLOC(env->allocator, 
+                    sizeof(woden_soap_fault_subcodes_ops_t));
+    
+    soap_fault_subcodes_impl->soap_fault_subcodes.ops->free = woden_soap_fault_subcodes_free;
+
+    soap_fault_subcodes_impl->soap_fault_subcodes.ops->is_qnames = 
+        woden_soap_fault_subcodes_is_qnames;
+    soap_fault_subcodes_impl->soap_fault_subcodes.ops->is_token = 
+        woden_soap_fault_subcodes_is_token;
+    soap_fault_subcodes_impl->soap_fault_subcodes.ops->get_qnames = 
+        woden_soap_fault_subcodes_get_qnames;
+    soap_fault_subcodes_impl->soap_fault_subcodes.ops->get_token = 
+        woden_soap_fault_subcodes_get_token;
+    
+
+    return &(soap_fault_subcodes_impl->soap_fault_subcodes);
+}
+
+AXIS2_EXTERN woden_soap_fault_subcodes_t * AXIS2_CALL
+woden_soap_fault_subcodes_create(
+        const axis2_env_t *env,
+        axis2_char_t *token,
+        axis2_array_list_t *subcode_qns)
+{
+    woden_soap_fault_subcodes_impl_t *soap_fault_subcodes_impl = NULL;
+   
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_subcodes_impl = (woden_soap_fault_subcodes_impl_t *) create(env);
+
+    soap_fault_subcodes_impl->f_token = AXIS2_STRDUP(token, env);
+    soap_fault_subcodes_impl->f_subcode_qns = subcode_qns;
+
+    return &(soap_fault_subcodes_impl->soap_fault_subcodes);
+}
+
+axis2_status_t AXIS2_CALL
+woden_soap_fault_subcodes_free(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_subcodes_impl_t *soap_fault_subcodes_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    soap_fault_subcodes_impl = INTF_TO_IMPL(soap_fault_subcodes);
+
+    if(soap_fault_subcodes_impl->f_token)
+    {
+        AXIS2_FREE(env->allocator, soap_fault_subcodes_impl->f_token);
+        soap_fault_subcodes_impl->f_token = NULL;
+    }
+
+    if(soap_fault_subcodes_impl->f_subcode_qns)
+    {
+        int i = 0, size = 0;
+
+        size = AXIS2_ARRAY_LIST_SIZE(soap_fault_subcodes_impl->f_subcode_qns,
+                env);
+        for(i = 0; i < size; i++)
+        {
+            axis2_qname_t *qname = AXIS2_ARRAY_LIST_GET(soap_fault_subcodes_impl->
+                    f_subcode_qns, env, i);
+            AXIS2_QNAME_FREE(qname, env);
+        }
+        AXIS2_ARRAY_LIST_FREE(soap_fault_subcodes_impl->f_subcode_qns, env);
+        soap_fault_subcodes_impl->f_subcode_qns = NULL;
+    }
+
+    if((&(soap_fault_subcodes_impl->soap_fault_subcodes))->ops)
+    {
+        AXIS2_FREE(env->allocator, (&(soap_fault_subcodes_impl->soap_fault_subcodes))->ops);
+        (&(soap_fault_subcodes_impl->soap_fault_subcodes))->ops = NULL;
+    }
+
+    if(soap_fault_subcodes_impl)
+    {
+        AXIS2_FREE(env->allocator, soap_fault_subcodes_impl);
+        soap_fault_subcodes_impl = NULL;
+    }
+    return AXIS2_SUCCESS;
+}
+
+void *AXIS2_CALL
+woden_soap_fault_subcodes_get_soap_fault_subcodes_any(
+        const axis2_env_t *env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+
+    if(!WODEN_SOAP_FAULT_SUBCODES_ANY)
+        WODEN_SOAP_FAULT_SUBCODES_ANY = woden_soap_fault_subcodes_create(env, 
+                "#any", NULL);
+
+    return WODEN_SOAP_FAULT_SUBCODES_ANY;
+}
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_subcodes_is_qnames(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_subcodes_impl_t *soap_fault_subcodes_impl = NULL;
+    int size = 0;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    soap_fault_subcodes_impl = INTF_TO_IMPL(soap_fault_subcodes);
+
+    size = AXIS2_ARRAY_LIST_SIZE(soap_fault_subcodes_impl->f_subcode_qns, env);
+    return (size > 0);
+}
+
+axis2_bool_t AXIS2_CALL
+woden_soap_fault_subcodes_is_token(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_subcodes_impl_t *soap_fault_subcodes_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    soap_fault_subcodes_impl = INTF_TO_IMPL(soap_fault_subcodes);
+
+    return (NULL != soap_fault_subcodes_impl->f_token);
+}
+
+axis2_array_list_t *AXIS2_CALL
+woden_soap_fault_subcodes_get_qnames(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_subcodes_impl_t *soap_fault_subcodes_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_subcodes_impl = INTF_TO_IMPL(soap_fault_subcodes);
+
+    return soap_fault_subcodes_impl->f_subcode_qns;
+}
+
+axis2_char_t *AXIS2_CALL
+woden_soap_fault_subcodes_get_token(
+        void *soap_fault_subcodes,
+        const axis2_env_t *env)
+{
+    woden_soap_fault_subcodes_impl_t *soap_fault_subcodes_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+    soap_fault_subcodes_impl = INTF_TO_IMPL(soap_fault_subcodes);
+
+    return soap_fault_subcodes_impl->f_token;
+}
+

Added: webservices/axis2/trunk/c/woden/src/wsdl20/extensions/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/extensions/Makefile.am?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/extensions/Makefile.am (added)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/extensions/Makefile.am Wed Jul  5 23:02:19 2006
@@ -0,0 +1,11 @@
+noinst_LTLIBRARIES = libwoden_extensions.la
+SUBDIRS = soap
+
+libwoden_extensions_la_SOURCES = \
+							ext_deserializer.c \
+							ext_registry.c
+
+INCLUDES = -I$(top_builddir)/include \
+			@AXIOMINC@ \
+			@UTILINC@ \
+			@XMLSCHEMAINC@



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org