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 [8/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/wsdl10...

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,213 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_BINDING_OP_ELEMENT_H
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_H
+
+/**
+ * @file woden_wsdl10_binding_op_element.h
+ * @brief Axis2 Binding Msg Reference Element Binding
+ * This interface represents the <operation> child element of a
+ * WSDL <binding> element. 
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_wsdl10_binding_op_element woden_wsdl10_binding_op_element_t;
+typedef struct woden_wsdl10_binding_op_element_ops woden_wsdl10_binding_op_element_ops_t;
+typedef union woden_wsdl10_binding_op_element_base woden_wsdl10_binding_op_element_base_t;
+
+/** @defgroup woden_wsdl10_binding_op_element Binding Msg Reference Element
+  * @ingroup axis2_binding
+  * @{
+  */
+
+struct woden_wsdl10_binding_op_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *binding_op_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *binding_op_element,
+            const axis2_env_t *env);
+    
+    /**
+     * Set the 'qname' attribute to the specified QName, which identifies the
+     * interface operation referenced by this binding operation.
+     *
+     * @param qname identifies the associated interface operation.
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_qname) (
+            void *iface_op_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *iface_op_ele,
+            const axis2_env_t *env);
+ 
+    /**
+     * Get the Interface Operation Element identified by the QName specified in the
+     * <tt>ref</tt> attribute of this binding &lt;operation&gt; element.
+     * 
+     * @return the Interface Operation Element associated with this binding operation
+     */
+    void *(AXIS2_CALL *
+    get_interface_op_element) (
+            void *iface_op_ele,
+            const axis2_env_t *env);
+ 
+    axis2_status_t (AXIS2_CALL *
+    add_binding_msg_ref_element) (
+            void *iface_op_ele,
+            const axis2_env_t *env,
+            void *msg_ref);
+
+    axis2_status_t (AXIS2_CALL *
+    remove_binding_msg_ref_element) (
+            void *iface_op_ele,
+            const axis2_env_t *env,
+            void *msg_ref);
+ 
+    axis2_array_list_t *(AXIS2_CALL *
+    get_binding_msg_ref_elements) (
+            void *iface_op_ele,
+            const axis2_env_t *env);
+     
+    axis2_status_t (AXIS2_CALL *
+    add_binding_fault_ref_element) (
+            void *iface_op_ele,
+            const axis2_env_t *env,
+            void *fault_ref);
+
+    axis2_status_t (AXIS2_CALL *
+    remove_binding_fault_ref_element) (
+            void *iface_op_ele,
+            const axis2_env_t *env,
+            void *fault_ref);
+ 
+    axis2_array_list_t *(AXIS2_CALL *
+    get_binding_fault_ref_elements) (
+            void *iface_op_ele,
+            const axis2_env_t *env);
+    
+
+};
+
+union woden_wsdl10_binding_op_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_wsdl10_binding_op_element
+{
+    woden_wsdl10_binding_op_element_base_t base;
+    woden_wsdl10_binding_op_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_binding_op_element_t * AXIS2_CALL
+woden_wsdl10_binding_op_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_binding_op_element_resolve_methods(
+        woden_wsdl10_binding_op_element_t *binding_op_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_FREE(binding_op_element, env) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         free (binding_op_element, env))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_TYPE(binding_op_element, env) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         type (binding_op_element, env))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_SET_QNAME(binding_op_element, env, qname) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         set_qname (binding_op_element, env, qname))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_GET_QNAME(binding_op_element, env) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+        get_qname  (binding_op_element, env))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_GET_INTERFACE_OP_ELEMENT(binding_op_element, env) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         get_interface_op_element (binding_op_element, env))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_ADD_BINDING_MSG_REF_ELEMENT(binding_op_element, env, msg_ref) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         add_binding_msg_ref_element (binding_op_element, env, msg_ref))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_REMOVE_MSG_REF_ELEMENT(binding_op_element, env, msg_ref) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         remove_msg_ref_element (binding_op_element, env, msg_ref))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_GET_BINDING_MSG_REF_ELEMENTS(binding_op_element, env) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         get_binding_msg_ref_elements (binding_op_element, env))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_ADD_BINDING_FAULT_REF_ELEMENT(binding_op_element, env, fault_ref) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         add_binding_fault_ref_element (binding_op_element, env, fault_ref))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_REMOVE_FAULT_REF_ELEMENT(binding_op_element, env, fault_ref) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         remove_fault_ref_element (binding_op_element, env, fault_ref))
+
+#define WODEN_WSDL10_BINDING_OP_ELEMENT_GET_BINDING_FAULT_REF_ELEMENTS(binding_op_element, env) \
+      (((woden_wsdl10_binding_op_element_t *) binding_op_element)->ops->\
+         get_binding_fault_ref_elements (binding_op_element, env))
+
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_BINDING_OP_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,330 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_DESC_H
+#define WODEN_WSDL10_DESC_H
+
+/**
+ * @file woden_wsdl10_desc.h
+ * @brief Axis2 Description Interface
+ * This class provides the implementation for a Description component from 
+ * the WSDL Component Model, as described in the WSDL 2.0 specification.  
+ * <p>
+ * Note: this class is different to the other WSDL implementation classes, 
+ * which all implement two interfaces; a component model interface and the 
+ * interface for the corresponding WSDL element. Different implementations
+ * are used for the Description component and for the &lt;wsdl:description&gt; 
+ * element because the latter exposes the composite structure of imported and 
+ * included WSDL documents, while the Description component 'flattens' this
+ * structure into an abstract view of the WSDL. A separate implementation
+ * class, <code>Descriptioni Element</code>, exists to represent
+ * the &lt;wsdl:description&gt; element.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_wsdl10_desc_element.h>
+#include <woden_wsdl_obj.h>
+#include <woden_documentable.h>
+#include <woden_wsdl_component.h>
+
+/** @defgroup woden_wsdl10_desc Description
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_wsdl10_desc_base woden_wsdl10_desc_base_t;
+typedef struct woden_wsdl10_desc woden_wsdl10_desc_t;
+typedef struct woden_wsdl10_desc_ops woden_wsdl10_desc_ops_t;
+struct woden_documentation_element;
+struct woden_wsdl_component;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_wsdl10_desc_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *desc,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    to_desc_free) (void *desc,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *desc,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *desc,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_documentable *(AXIS2_CALL *
+    get_base_impl) (
+            void *desc,
+            const axis2_env_t *env);
+    /* ************************************************************
+     *  Description interface methods (the WSDL Component model)
+     * ************************************************************/
+    axis2_array_list_t *(AXIS2_CALL *
+    get_msgs) (
+            void *desc,
+            const axis2_env_t *env);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_interfaces) (
+            void *desc,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_bindings) (
+            void *desc,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_svcs) (
+            void *desc,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_element_decls) (
+            void *desc,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_element_decl) (
+            void *desc,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_type_defs) (
+            void *desc,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_type_def) (
+            void *desc,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    void *(AXIS2_CALL *
+    to_element) (
+            void *desc,
+            const axis2_env_t *env);
+    /* ************************************************************
+     *  Non-API implementation methods
+     * ************************************************************/
+
+    /*
+     * The 'addAllXXX' methods are used to initialize the Description Component 
+     * with its flattened properties - {Interfaces}, {Bindings}, {Services},
+     * {Element Declarations}, {Type Definitions}. Currently these are non-API
+     * public helper methods used by the implementation to convert the Element
+     * model into the Component model (i.e. the Component model is read-only).
+     * If we need to support programmatic creation/updating of the Component model,
+     * we will need to consider exposing these methods on the API.
+     */
+
+    axis2_status_t (AXIS2_CALL *
+    add_to_all_msgs) (
+            void *desc,
+            const axis2_env_t *env,
+            void *msg);
+
+    axis2_status_t (AXIS2_CALL *
+    add_to_all_interfaces) (
+            void *desc,
+            const axis2_env_t *env,
+            void *interface);
+
+    axis2_status_t (AXIS2_CALL *
+    add_to_all_bindings) (
+            void *desc,
+            const axis2_env_t *env,
+            void *binding);
+
+    axis2_status_t (AXIS2_CALL *
+    add_to_all_svcs) (
+            void *desc,
+            const axis2_env_t *env,
+            void *svc);
+
+    axis2_status_t (AXIS2_CALL *
+    add_to_all_element_decls) (
+            void *desc,
+            const axis2_env_t *env,
+            void *element_decl);
+
+    axis2_status_t (AXIS2_CALL *
+    add_to_all_type_defs) (
+            void *desc,
+            const axis2_env_t *env,
+            void *type_def);
+};
+
+union woden_wsdl10_desc_base
+{
+    woden_documentable_t documentable;
+    woden_wsdl10_desc_element_t desc_element;
+    woden_wsdl_component_t wsdl_component;
+};
+
+struct woden_wsdl10_desc
+{
+    woden_wsdl10_desc_base_t base;
+    woden_wsdl10_desc_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_to_desc_element(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_to_documentable_element(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_to_documentable(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_to_wsdl_obj(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_to_wsdl_component(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_to_attr_extensible(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
+woden_wsdl10_desc_to_element_extensible(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_desc_resolve_methods(
+        woden_wsdl10_desc_t *desc,
+        const axis2_env_t *env,
+        woden_wsdl10_desc_t *desc_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_DESC_FREE(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->free(desc, env))
+
+#define WODEN_WSDL10_DESC_TO_DESC_FREE(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->to_desc_free(desc, env))
+
+#define WODEN_WSDL10_DESC_SUPER_OBJS(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->super_objs(desc, env))
+
+#define WODEN_WSDL10_DESC_TYPE(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->type(desc, env))
+
+#define WODEN_WSDL10_DESC_GET_BASE_IMPL(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->get_base_impl(desc, env))
+
+#define WODEN_WSDL10_DESC_GET_MSGS(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        get_msgs (desc, env))
+
+#define WODEN_WSDL10_DESC_GET_INTERFACES(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        get_interfaces (desc, env))
+
+#define WODEN_WSDL10_DESC_GET_BINDINGS(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+         get_bindings(desc, env))
+
+#define WODEN_WSDL10_DESC_GET_SVCS(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+         get_svcs(desc, env))
+
+#define WODEN_WSDL10_DESC_GET_ELEMENT_DECLS(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+         get_element_decls(desc, env))
+
+#define WODEN_WSDL10_DESC_GET_ELEMENT_DECL(desc, env, qname) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        get_element_decl (desc, env, qname))
+
+#define WODEN_WSDL10_DESC_GET_TYPE_DEFS(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        get_type_defs (desc, env))
+
+#define WODEN_WSDL10_DESC_GET_TYPE_DEF(desc, env, qname) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        get_type_def (desc, env, qname))
+
+#define WODEN_WSDL10_DESC_TO_ELEMENT(desc, env) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        to_element (desc, env))
+
+#define WODEN_WSDL10_DESC_ADD_TO_ALL_MSGS(desc, env, msg) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        add_to_all_msgs (desc, env, msg))
+
+#define WODEN_WSDL10_DESC_ADD_TO_ALL_INTERFACES(desc, env, interface) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        add_to_all_interfaces (desc, env, interface))
+
+#define WODEN_WSDL10_DESC_ADD_TO_ALL_BINDINGS(desc, env, binding) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        add_to_all_bindings (desc, env, binding))
+
+#define WODEN_WSDL10_DESC_ADD_TO_ALL_SVCS(desc, env, svc) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        add_to_all_svcs (desc, env, svc))
+
+#define WODEN_WSDL10_DESC_ADD_TO_ALL_ELEMENT_DECLS(desc, env, element_decl) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        add_to_all_element_decls (desc, env, element_decl))
+
+#define WODEN_WSDL10_DESC_ADD_TO_ALL_TYPE_DEFS(desc, env, type_def) \
+      (((woden_wsdl10_desc_t *) desc)->ops->\
+        add_to_all_type_defs (desc, env, type_def))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_DESC_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,562 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_DESC_ELEMENT_H
+#define WODEN_WSDL10_DESC_ELEMENT_H
+
+/**
+ * @file woden_wsdl10_desc_element.h
+ * @brief Axis2 Description Element Interface
+ * This interface represents a &lt;wsdl:description&gt; element. 
+ * It declares the behaviour required to support 
+ * parsing, creating and manipulating a &lt;description&gt; element.
+ * 
+ * TODO initially, have added a method to get the WSDL component
+ * model from the xml instance (i.e. get a Description from this 
+ * instance of Description Element). Still need to decide 
+ * where on the API to put this. Maybe in WSDL Reader? 
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_wsdl10_desc_element woden_wsdl10_desc_element_t;
+typedef struct woden_wsdl10_desc_element_ops woden_wsdl10_desc_element_ops_t;
+typedef union woden_wsdl10_desc_element_base woden_wsdl10_desc_element_base_t;
+
+/** @defgroup woden_wsdl10_desc_element Description Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_wsdl10_desc_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *desc_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *desc_el,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_document_base_uri) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            axis2_uri_t *document_base_uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_document_base_uri) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+    /*
+     * Attributes and namespaces
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_target_namespace) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            axis2_uri_t *namespace_uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_target_namespace) (
+            void *desc_ele,
+            const axis2_env_t *env);
+
+    /**
+     * This is a way to add a namespace association to a definition.
+     * It is similar to adding a namespace prefix declaration to the
+     * top of a &lt;wsdl:definition&gt; element. This has nothing to do
+     * with the &lt;wsdl:import&gt; element; there are separate methods for
+     * dealing with information described by &lt;wsdl:import&gt; elements.
+     *
+     * @param prefix the prefix to use for this namespace (when
+     * rendering this information as XML). Use null or an empty string
+     * to describe the default namespace (i.e. xmlns="...").
+     * @param namespaceURI the namespace URI to associate the prefix
+     * with. If you use null, the namespace association will be removed.
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_namespace) (
+            void *desc_el,
+            const axis2_env_t *env,
+            axis2_char_t *prefix,
+            axis2_uri_t *namespc);
+    
+    axis2_status_t (AXIS2_CALL *
+    remove_namespace) (
+            void *desc_el,
+            const axis2_env_t *env,
+            axis2_char_t *prefix);
+    
+    /**
+     * Get the namespace URI associated with this prefix. Or null if
+     * there is no namespace URI associated with this prefix. This is
+     * unrelated to the &lt;wsdl:import&gt; element.
+     *
+     * @see #add_namespace(axis2_char_t , axis2_uri_t)
+     * @see #get_prefix(axis2_char_t)
+     */
+    axis2_uri_t *(AXIS2_CALL * 
+    get_namespace) (
+            void *desc_el,
+            const axis2_env_t *env,
+            axis2_char_t *prefix);
+    
+    axis2_hash_t *(AXIS2_CALL * 
+    get_namespaces) (
+            void *desc_el,
+            const axis2_env_t *env);/* TODO return arrays instead of Map? */
+    
+    /*
+     * Element factory methods
+     */
+    
+    void *(AXIS2_CALL *
+    create_documentation_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+    
+    void *(AXIS2_CALL *
+    create_import_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+    
+    void *(AXIS2_CALL *
+    create_include_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+    
+    void *(AXIS2_CALL *
+    create_types_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_msg_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_part_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_interface_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_interface_fault_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_interface_op_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_interface_fault_ref_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_interface_msg_ref_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+    
+    void *(AXIS2_CALL *
+    create_binding_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_binding_fault_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_binding_op_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_binding_fault_ref_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_binding_msg_ref_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_feature_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_svc_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_endpoint_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    create_property_element) (
+            void *desc_el,
+            const axis2_env_t *env);
+    
+    /*
+     * Element accessor and modifier methods
+     * 
+     * TODO removeXXX(obj), getXXX(key) methods
+     * 
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_import_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *import_el);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_import_elements) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    add_include_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *include_el);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_include_elements) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_types_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *types_el);
+    
+    void *(AXIS2_CALL *
+    get_types_element) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    add_msg_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *msg_el);
+    
+    axis2_status_t (AXIS2_CALL *
+    add_interface_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *interface_el);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_msg_elements) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_interface_elements) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    add_binding_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *binding_el);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_binding_elements) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    add_svc_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *svc_el);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_svc_elements) (
+            void *desc_ele,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_ext_registry) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *ext_reg);
+    
+    void *(AXIS2_CALL *
+    get_ext_registry) (
+            void *desc_ele,
+            const axis2_env_t *env);
+
+    /**
+     * @return the Description component for this Description Element.
+     */
+    void *(AXIS2_CALL *
+    to_component) (
+            void *desc_ele,
+            const axis2_env_t *env);
+    
+
+};
+
+struct woden_wsdl10_desc_element
+{
+    woden_documentable_element_t documentable_element;
+    woden_wsdl10_desc_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_wsdl10_desc_element_resolve_methods(
+        woden_wsdl10_desc_element_t *desc_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_DESC_ELEMENT_FREE(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+         free (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_TYPE(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+         type (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_SET_DOCUMENT_BASE_URI(desc_el, env, document_base_uri) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+         set_document_base_uri(desc_el, env, document_base_uri))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_DOCUMENT_BASE_URI(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+         get_document_base_uri(desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_SET_TARGET_NAMESPACE(desc_el, env, namespc_uri) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+         set_target_namespace(desc_el, env, namespc_uri))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_TARGET_NAMESPACE(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+         get_target_namespace(desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_ADD_NAMESPACE(desc_el, env, prefix, namespc) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        add_namespace (desc_el, env, prefix, namespc))
+
+#define WODEN_WSDL10_DESC_ELEMENT_REMOVE_NAMESPACE(desc_el, env, prefix) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        remove_namespace (desc_el, env, prefix))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_NAMESPACE(desc_el, env, prefix) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_namespace (desc_el, env, prefix))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_NAMESPACES(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_namespaces (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_DOCUMENTATION_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_documentation_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_IMPORT_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_import_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_INCLUDE_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_include_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_TYPES_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_types_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_MSG_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_msg_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_PART_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_part_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_interface_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_FAULT_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_interface_fault_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_OP_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_interface_op_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_FAULT_REF_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_interface_fault_ref_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_MSG_REF_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_interface_msg_ref_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_binding_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_FAULT_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_binding_fault_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_OP_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_binding_op_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_FAULT_REF_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_binding_fault_ref_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_MSG_REF_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_binding_msg_ref_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_FEATURE_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_feature_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_SVC_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_svc_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_ENDPOINT_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_endpoint_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_CREATE_PROPERTY_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        create_property_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_ADD_IMPORT_ELEMENT(desc_el, env, import_el) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        add_import_element (desc_el, env, import_el))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_IMPORT_ELEMENTS(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_import_elements (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_ADD_INCLUDE_ELEMENT(desc_el, env, include_el) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        add_include_element (desc_el, env, include_el))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_INCLUDE_ELEMENTS(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_include_elements (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_SET_TYPES_ELEMENT(desc_el, env, types_el) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        set_types_element (desc_el, env, types_el))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_TYPES_ELEMENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_types_element (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_ADD_MSG_ELEMENT(desc_el, env, msg_el) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        add_msg_element (desc_el, env, msg_el))
+
+#define WODEN_WSDL10_DESC_ELEMENT_ADD_INTERFACE_ELEMENT(desc_el, env, interface_el) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        add_interface_element (desc_el, env, interface_el))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_MSG_ELEMENTS(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_msg_elements (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_INTERFACE_ELEMENTS(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_interface_elements (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_ADD_BINDING_ELEMENT(desc_el, env, binding_el) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        add_binding_element (desc_el, env, binding_el))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_BINDING_ELEMENTS(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_binding_elements (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_ADD_SVC_ELEMENT(desc_el, env, svc_el) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        add_svc_element (desc_el, env, svc_el))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_SVC_ELEMENTS(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_svc_elements (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_SET_EXT_REGISTRY(desc_el, env, ext_reg) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        set_ext_registry (desc_el, env, ext_reg))
+
+#define WODEN_WSDL10_DESC_ELEMENT_GET_EXT_REGISTRY(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        get_ext_registry (desc_el, env))
+
+#define WODEN_WSDL10_DESC_ELEMENT_TO_COMPONENT(desc_el, env) \
+      (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
+        to_component (desc_el, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_DESC_ELEMENT_H */
+

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,224 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_ENDPOINT_H
+#define WODEN_WSDL10_ENDPOINT_H
+
+/**
+ * @file woden_wsdl10_endpoint.h
+ * @brief Axis2 Endpoint Interface
+ * This class represents the Endpoint component and the &lt;endpoint&gt; element.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_wsdl10_endpoint_element.h>
+#include <woden_nested_configurable.h>
+#include <woden_nested_component.h>
+#include <woden_configurable_component.h>
+#include <woden_nc_name.h>
+
+/** @defgroup woden_wsdl10_endpoint Endpoint
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_wsdl10_endpoint_base woden_wsdl10_endpoint_base_t;
+typedef struct woden_wsdl10_endpoint woden_wsdl10_endpoint_t;
+typedef struct woden_wsdl10_endpoint_ops woden_wsdl10_endpoint_ops_t;
+struct woden_documentation_element;
+struct woden_wsdl_component;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_wsdl10_endpoint_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *endpoint,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *endpoint,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *endpoint,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *endpoint,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  Endpoint interface methods (the WSDL Component model)
+     * ************************************************************/
+
+    woden_nc_name_t *(AXIS2_CALL *
+    get_name) (
+            void *endpoint,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_binding) (
+            void *endpoint,
+            const axis2_env_t *env);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_address) (
+            void *endpoint,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_binding_element) (
+        void *endpoint,
+        const axis2_env_t *env,
+        void *binding);
+
+};
+
+union woden_wsdl10_endpoint_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_wsdl10_endpoint_element_t endpoint_element;
+    woden_configurable_component_t configurable_component;
+    woden_configurable_component_t nested_component;
+};
+
+struct woden_wsdl10_endpoint
+{
+    woden_wsdl10_endpoint_base_t base;
+    woden_wsdl10_endpoint_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_endpoint_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_nested_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_documentable_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_nested_configurable(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_configurable(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_nested_component(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_configurable_component(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_wsdl_component(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_configurable_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_documentable(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_attr_extensible(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_endpoint_t * AXIS2_CALL
+woden_wsdl10_endpoint_to_element_extensible(
+        void *endpoint,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_endpoint_resolve_methods(
+        woden_wsdl10_endpoint_t *endpoint,
+        const axis2_env_t *env,
+        woden_wsdl10_endpoint_t *endpoint_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_ENDPOINT_FREE(endpoint, env) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->free(endpoint, env))
+
+#define WODEN_WSDL10_ENDPOINT_SUPER_OBJS(endpoint, env) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->super_objs(endpoint, env))
+
+#define WODEN_WSDL10_ENDPOINT_TYPE(endpoint, env) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->type(endpoint, env))
+
+#define WODEN_WSDL10_ENDPOINT_GET_BASE_IMPL(endpoint, env) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->get_base_impl(endpoint, env))
+
+#define WODEN_WSDL10_ENDPOINT_GET_NAME(endpoint, env) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->\
+         get_name(endpoint, env))
+
+#define WODEN_WSDL10_ENDPOINT_GET_BINDING(endpoint, env) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->\
+         get_binding(endpoint, env))
+
+#define WODEN_WSDL10_ENDPOINT_GET_ADDRESS(endpoint, env) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->\
+         get_address(endpoint, env))
+
+#define WODEN_WSDL10_ENDPOINT_SET_BINDING_ELEMENT(endpoint, env, binding) \
+      (((woden_wsdl10_endpoint_t *) endpoint)->ops->\
+         set_binding_element(endpoint, env, binding))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_ENDPOINT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_endpoint_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,173 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_ENDPOINT_ELEMENT_H
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_H
+
+/**
+ * @file woden_wsdl10_endpoint_element.h
+ * @brief Axis2 Endpoint Element Interface
+ * This interface represents an &lt;endpoint&gt; element 
+ * information item, a child element of WSDL &lt;service&gt;.
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+#include <woden_nc_name.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_wsdl10_endpoint_element woden_wsdl10_endpoint_element_t;
+typedef struct woden_wsdl10_endpoint_element_ops woden_wsdl10_endpoint_element_ops_t;
+typedef union woden_wsdl10_endpoint_element_base woden_wsdl10_endpoint_element_base_t;
+
+/** @defgroup woden_wsdl10_endpoint_element Endpoint Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_wsdl10_endpoint_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *endpoint_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *endpoint_el,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_name) (
+            void *endpoint_el,
+            const axis2_env_t *env,
+            woden_nc_name_t *name);
+
+    woden_nc_name_t *(AXIS2_CALL *
+    get_name) (
+            void *endpoint_el,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_binding_qname) (
+            void *endpoint_el,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_binding_qname) (
+            void *endpoint_el,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_binding_element) (
+            void *endpoint_el,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_address) (
+            void *endpoint_el,
+            const axis2_env_t *env,
+            axis2_uri_t *uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_address) (
+            void *endpoint_el,
+            const axis2_env_t *env);
+
+};
+
+union woden_wsdl10_endpoint_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_wsdl10_endpoint_element
+{
+    woden_wsdl10_endpoint_element_base_t base;
+    woden_wsdl10_endpoint_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_wsdl10_endpoint_element_resolve_methods(
+        woden_wsdl10_endpoint_element_t *endpoint_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_FREE(endpoint_el, env) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         free (endpoint_el, env))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_TYPE(endpoint_el, env) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         type (endpoint_el, env))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_SET_NAME(endpoint_el, env, name) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         set_name(endpoint_el, env, name))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_GET_NAME(endpoint_el, env) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         get_name(endpoint_el, env))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_SET_BINDING_QNAME(endpoint_el, env, qname) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         set_binding_qname(endpoint_el, env, qname))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_GET_BINDING_QNAME(endpoint_el, env) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         get_binding_qname(endpoint_el, env))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_GET_BINDING_ELEMENT(endpoint_el, env) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         get_binding_element(endpoint_el, env))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_SET_ADDRESS(endpoint_el, env, uri) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         set_address(endpoint_el, env, uri))
+
+#define WODEN_WSDL10_ENDPOINT_ELEMENT_GET_ADDRESS(endpoint_el, env) \
+      (((woden_wsdl10_endpoint_element_t *) endpoint_el)->ops->\
+         get_address(endpoint_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_ENDPOINT_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_deserializer.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_deserializer.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_deserializer.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_deserializer.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,116 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_EXT_DESERIALIZER_H
+#define WODEN_WSDL10_EXT_DESERIALIZER_H
+
+/**
+ * @file woden_wsdl10_ext_deserializer.h
+ * @brief Axis2 Extension Deserializer Interface
+ * This interface represents a &lt;ext_deserializer&gt; XML element 
+ * information item. It declares the behaviour required to support 
+ * parsing, creating and manipulating a &lt;ext_deserializer&gt; element.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_qname.h>
+#include <axis2_hash.h>
+#include <axiom_node.h>
+#include <woden.h>
+#include <woden_wsdl10_ext_registry.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_wsdl10_ext_deserializer woden_wsdl10_ext_deserializer_t;
+typedef struct woden_wsdl10_ext_deserializer_ops woden_wsdl10_ext_deserializer_ops_t;
+
+/** @defgroup woden_wsdl10_ext_deserializer Extension Deserializer
+  * @ingroup axis2_ext_deserializer
+  * @{
+  */
+
+struct woden_wsdl10_ext_deserializer_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *ext_deserializer,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *ext_deserializer,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    unmarshall) (
+            void *ext_deserializer,
+            const axis2_env_t *env,
+            axis2_char_t *parent_type,
+            void *parent,
+            axis2_qname_t *ext_type,
+            axiom_node_t *ext_el_node,
+            void *desc,
+            woden_wsdl10_ext_registry_t *ext_reg);
+
+};
+
+struct woden_wsdl10_ext_deserializer
+{
+    woden_wsdl10_ext_deserializer_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_ext_deserializer_t * AXIS2_CALL
+woden_wsdl10_ext_deserializer_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_ext_deserializer_resolve_methods(
+        woden_wsdl10_ext_deserializer_t *ext_deserializer,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_EXT_DESERIALIZER_FREE(ext_deserializer, env) \
+      (((woden_wsdl10_ext_deserializer_t *) ext_deserializer)->ops->\
+         free (ext_deserializer, env))
+
+#define WODEN_WSDL10_EXT_DESERIALIZER_TYPE(ext_deserializer, env) \
+      (((woden_wsdl10_ext_deserializer_t *) ext_deserializer)->ops->\
+         type (ext_deserializer, env))
+
+#define WODEN_WSDL10_EXT_DESERIALIZER_UNMARSHALL(ext_deserializer, env, \
+        parent_type, parent, ext_type, ext_el_node, desc, ext_reg) \
+      (((woden_wsdl10_ext_deserializer_t *) ext_deserializer)->ops->\
+         unmarshall (ext_deserializer, env, parent_type, parent, ext_type, \
+             ext_el_node, desc, ext_reg))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_EXT_DESERIALIZER_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_registry.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_registry.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_registry.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_ext_registry.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,308 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_EXT_REGISTRY_H
+#define WODEN_WSDL10_EXT_REGISTRY_H
+
+/**
+ * @file woden_wsdl10_ext_registry.h
+ * @brief Axis2 Extension Registry Interface
+ * 
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_wsdl10_ext_registry woden_wsdl10_ext_registry_t;
+typedef struct woden_wsdl10_ext_registry_ops woden_wsdl10_ext_registry_ops_t;
+struct woden_wsdl_element;
+    
+/** @defgroup woden_wsdl10_ext_registry Extension Registry
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_wsdl10_ext_registry_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *ext_registry,
+            const axis2_env_t *env);
+ 
+    /**
+    * Declare that the specified deserializer should be used to deserialize
+    * all extensibility elements with a qname matching elementQN, when
+    * encountered as immediate children of the element represented by the
+    * specified parentType.
+    *
+    * @param parent type a class object indicating where in the WSDL
+    * document this extensibility element was encountered. For
+    * example, woden_binding would be used to indicate
+    * this element was encountered as an immediate child of
+    * a &lt;wsdl:binding&gt; element.
+    * @param element QN the qname of the extensibility element
+    * @param ed the extension deserializer to use
+    *
+    */
+    axis2_status_t (AXIS2_CALL *
+    register_deserializer) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_type,
+            axis2_qname_t *element_qtype,
+            void *ed);
+
+    /**
+    * Look up the deserializer for the extensibility element with the
+    * qname element QN, which was encountered as an immediate child
+    * of the element represented by the specified parentType.
+    *
+    * @param parent type a class object indicating where in the WSDL
+    * document this extensibility element was encountered. For
+    * example, woden_binding would be used to indicate
+    * this element was encountered as an immediate child of
+    * a &lt;wsdl:binding&gt; element.
+    * @param element QN the qname of the extensibility element
+    *
+    * @return the extension deserializer, if one was found. If none was
+    * found. TODO Decide what to do if no deserializer found
+    *
+    */
+    void *(AXIS2_CALL *
+    query_deserializer) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_type,
+            axis2_qname_t *element_type);
+
+    /**
+    * Look up the type of the extensibility element with the specified qname, which
+    * was defined as a child of the element represented by the specified parent class.
+    *
+    * @param parent type a class object indicating where in the WSDL
+    * document this extensibility attribute was encountered. For
+    * example, woden_binding would be used to indicate
+    * this attribute was defined on a &lt;wsdl:binding> element.
+    * @param attr name the qname of the extensibility attribute
+    *
+    * @return one of the constants defined on the Attribute Extensible class
+    *
+    */
+    void *(AXIS2_CALL *
+    query_ext_element_type) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_class,
+            axis2_qname_t *elem_qn);
+
+    /**
+    * Returns a set of QNames representing the extensibility elements
+    * that are allowed as children of the specified parent type.
+    * Basically, this method returns the keys associated with the set
+    * of extension deserializers registered for this parent type.
+    * Returns null if no extension deserializers are registered for
+    * this parent type.
+    */
+    axis2_array_list_t *(AXIS2_CALL *
+    get_allowable_exts) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_type);
+
+    /**
+    * Declare that the specified extensionType is the concrete
+    * class which should be used to represent extensibility elements
+    * with qnames matching elementQN, that are intended to exist as
+    * children of the specified parentType.
+    *
+    * @param parentType a class object indicating where in the WSDL
+    * definition this extension would exist. For example,
+    * woden_binding would be used to indicate
+    * this extensibility element would be added to the list of
+    * extensibility elements belonging to a javax.wsdl.Binding,
+    * after being instantiated.
+    * @param element QN the qname of the extensibility element
+    * @param extension type the concrete class which should be instantiated
+    *
+    */
+    axis2_status_t (AXIS2_CALL *
+    register_ext_element_type) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_type,
+            axis2_qname_t *element_qtype,
+            void *element);
+
+
+    /**
+    * Declare that the type of the specified extension attribute, when it occurs
+    * as an attribute of the specified parent type, should be assumed to be
+    * attrType.
+    *
+    * @param parent_type a class object indicating where in the WSDL
+    * document this extensibility attribute was encountered. For
+    * example, woden_bindin would be used to indicate
+    * this attribute was defined on a &lt;wsdl:binding> element.
+    * @param attr_qname the qname of the extensibility attribute
+    * @param attr_type one of the constants defined on the Attribute Extensible
+    * class
+    */
+    axis2_status_t (AXIS2_CALL *
+    register_ext_attr_type) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *owner_class,
+            axis2_qname_t *attr_qname,
+            void *attr);
+
+    /**
+    * Look up the type of the extensibility attribute with the specified qname,
+    * which was defined on an element represented by the specified parent class.
+    *
+    * @param parentType a class object indicating where in the WSDL
+    * document this extensibility attribute was encountered. For
+    * example, woden_binding would be used to indicate
+    * this attribute was defined on a &lt;wsdl:binding> element.
+    * @param attr_qname the qname of the extensibility attribute
+    *
+    * @return one of the constants defined on the Attribute Extensible class
+    */
+    void *(AXIS2_CALL *
+    query_ext_attr_type) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_class,
+            axis2_qname_t *attr_qn);
+
+    /**
+    * Register the object that will represent extensions from a specified 
+    * namespace that will extend the specified WSDL component class.
+    * 
+    * @param parent_class the WSDL component class
+    * @param ext_namespace the extension namespace
+    * @param comp_ext_class the obj representing these extensions
+    */
+    axis2_status_t (AXIS2_CALL *
+    register_component_ext) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_class,
+            axis2_uri_t *ext_namespc,
+            void *comp_ext);
+
+    /**
+    * Return the object that represents the extensions from the specified
+    * namespace that extend the specified WSDL component class.
+    * 
+    * @param parent_class the WSDL component
+    * @param ext_namespace the extension namespace
+    * @return the object of the component extensions
+    */
+    void *(AXIS2_CALL *
+    query_component_ext) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_class,
+            axis2_uri_t *ext_namespc);
+
+    /**
+    * Return the extension namespaces registered for the specified WSDL Component class.
+    * 
+    * @param parentClass the class of WSDL component extended by these namespaces
+    * @return an array of namespace URIs
+    */
+    axis2_array_list_t *(AXIS2_CALL *
+    query_component_ext_namespaces) (
+            void *registry,
+            const axis2_env_t *env,
+            axis2_char_t *parent_class);
+};
+
+struct woden_wsdl10_ext_registry
+{
+    woden_wsdl10_ext_registry_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_ext_registry_t * AXIS2_CALL
+woden_wsdl10_ext_registry_create(const axis2_env_t *env);
+
+#define WODEN_WSDL10_EXT_REGISTRY_FREE(ext_registry, env) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         free (ext_registry, env))
+
+#define WODEN_WSDL10_EXT_REGISTRY_REGISTER_DESERIALIZER(ext_registry, env, parent_type, element_qtype, ed) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         register_deserializer (ext_registry, env, parent_type, element_qtype, ed))
+
+#define WODEN_WSDL10_EXT_REGISTRY_QUERY_DESERIALIZER(ext_registry, env, parent_type, element_type) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         query_deserializer (ext_registry, env, parent_type, element_type))
+
+#define WODEN_WSDL10_EXT_REGISTRY_QUERY_EXT_ELEMENT_TYPE(ext_registry, env, parent_class, elem_qn) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         query_ext_element_type (ext_registry, env, parent_class, elem_qn))
+
+#define WODEN_WSDL10_EXT_REGISTRY_GET_ALLOWABLE_EXTS(ext_registry, env, parent_type) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         get_allowable_exts (ext_registry, env, parent_type))
+
+#define WODEN_WSDL10_EXT_REGISTRY_REGISTER_EXT_ELEMENT_TYPE(ext_registry, env, parent_type, element_qtype, element) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         register_ext_element_type (ext_registry, env, parent_type, element_qtype, element))
+
+#define WODEN_WSDL10_EXT_REGISTRY_REGISTER_EXT_ATTR_TYPE(ext_registry, env, owner_class, attr_qname, attr) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         register_ext_attr_type (ext_registry, env, owner_class, attr_qname, attr))
+
+#define WODEN_WSDL10_EXT_REGISTRY_QUERY_EXT_ATTR_TYPE(ext_registry, env, parent_class, attr_qn) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         query_ext_attr_type (ext_registry, env, parent_class, attr_qn))
+
+#define WODEN_WSDL10_EXT_REGISTRY_REGISTER_COMPONENT_EXT(ext_registry, env, parent_class, ext_namespc, comp_ext) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         register_component_ext (ext_registry, env, parent_class, ext_namespc, comp_ext))
+
+#define WODEN_WSDL10_EXT_REGISTRY_QUERY_COMPONENT_EXT(ext_registry, env, parent_class, ext_namespc) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         query_component_ext (ext_registry, env, parent_class, ext_namespc))
+
+#define WODEN_WSDL10_EXT_REGISTRY_QUERY_COMPONENT_EXT_NAMESPACES(ext_registry, env, parent_class) \
+      (((woden_wsdl10_ext_registry_t *) ext_registry)->ops->\
+         query_component_ext_namespaces (ext_registry, env, parent_class))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_EXT_REGISTRY_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,183 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_INTERFACE_FAULT_REF_H
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_H
+
+/**
+ * @file woden_wsdl10_interface_fault_ref.h
+ * @brief Axis2 Interface Message Reference Interface Message Reference
+ * 
+ */
+
+#include <woden.h>
+#include <woden_wsdl10_interface_fault_ref_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_wsdl10_interface_fault_ref Interface Message Reference
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_wsdl10_interface_fault_ref_base woden_wsdl10_interface_fault_ref_base_t;
+typedef struct woden_wsdl10_interface_fault_ref woden_wsdl10_interface_fault_ref_t;
+typedef struct woden_wsdl10_interface_fault_ref_ops woden_wsdl10_interface_fault_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_wsdl10_interface_fault_ref_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *interface_fault_ref,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_direction) (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+};
+
+union woden_wsdl10_interface_fault_ref_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_wsdl10_interface_fault_ref_element_t interface_fault_ref_element;
+};
+
+struct woden_wsdl10_interface_fault_ref
+{
+    woden_wsdl10_interface_fault_ref_base_t base;
+    woden_wsdl10_interface_fault_ref_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_interface_fault_ref_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_nested_configurable(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_configurable(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_nested_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_configurable_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_documentable_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_documentable(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_attr_extensible(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_to_element_extensible(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_interface_fault_ref_resolve_methods(
+        woden_wsdl10_interface_fault_ref_t *interface_fault_ref,
+        const axis2_env_t *env,
+        woden_wsdl10_interface_fault_ref_t *interface_fault_ref_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_FREE(interface_fault_ref, env) \
+      (((woden_wsdl10_interface_fault_ref_t *) interface_fault_ref)->ops->\
+       free(interface_fault_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_SUPER_OBJS(interface_fault_ref, env) \
+      (((woden_wsdl10_interface_fault_ref_t *) interface_fault_ref)->ops->\
+       super_objs(interface_fault_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_TYPE(interface_fault_ref, env) \
+      (((woden_wsdl10_interface_fault_ref_t *) interface_fault_ref)->ops->\
+       type(interface_fault_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_GET_BASE_IMPL(interface_fault_ref, env) \
+      (((woden_wsdl10_interface_fault_ref_t *) interface_fault_ref)->ops->\
+       get_base_impl(interface_fault_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_GET_DIRECTION(interface_fault_ref, env) \
+      (((woden_wsdl10_interface_fault_ref_t *) interface_fault_ref)->ops->\
+         get_direction(interface_fault_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_TO_ELEMENT(interface_fault_ref, env) \
+      (((woden_wsdl10_interface_fault_ref_t *) interface_fault_ref)->ops->\
+         to_element(interface_fault_ref, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_INTERFACE_FAULT_REF_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_fault_ref_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,171 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_H
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_H
+
+/**
+ * @file woden_wsdl10_interface_fault_ref_element.h
+ * @brief Axis2 Interface Msg Reference Element Interface
+ * This interface represents the &lt;input&gt; and &lt;output&gt; 
+ * child elements of interface operation. 
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_wsdl10_interface_fault_ref_element woden_wsdl10_interface_fault_ref_element_t;
+typedef struct woden_wsdl10_interface_fault_ref_element_ops woden_wsdl10_interface_fault_ref_element_ops_t;
+typedef union woden_wsdl10_interface_fault_ref_element_base woden_wsdl10_interface_fault_ref_element_base_t;
+
+/** @defgroup woden_wsdl10_interface_fault_ref_element Interface Msg Reference Element
+  * @ingroup axis2_interface
+  * @{
+  */
+
+struct woden_wsdl10_interface_fault_ref_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *interface_fault_ref_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *interface_fault_ref_element,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_msg_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *element);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_msg_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_direction) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            void *dir);
+
+    void *(AXIS2_CALL *
+    get_direction) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+
+};
+
+union woden_wsdl10_interface_fault_ref_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_wsdl10_interface_fault_ref_element
+{
+    woden_wsdl10_interface_fault_ref_element_base_t base;
+    woden_wsdl10_interface_fault_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_interface_fault_ref_element_t * AXIS2_CALL
+woden_wsdl10_interface_fault_ref_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_interface_fault_ref_element_resolve_methods(
+        woden_wsdl10_interface_fault_ref_element_t *interface_fault_ref_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_FREE(interface_fault_ref_element, env) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         free (interface_fault_ref_element, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_TYPE(interface_fault_ref_element, env) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         type (interface_fault_ref_element, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_SET_QNAME(interface_fault_ref_element, env, qname) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+        set_qname  (interface_fault_ref_element, env, qname))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_GET_QNAME(interface_fault_ref_element, env) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+        get_qname  (interface_fault_ref_element, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_SET_MSG_QNAME(interface_fault_ref_element, env, element) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+        set_msg_qname  (interface_fault_ref_element, env, element))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_GET_MSG_QNAME(interface_fault_ref_element, env) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+        get_msg_qname  (interface_fault_ref_element, env))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_SET_DIRECTION(interface_fault_ref_element, env, dir) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         set_direction (interface_fault_ref_element, env, dir))
+
+#define WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_GET_DIRECTION(interface_fault_ref_element, env) \
+      (((woden_wsdl10_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         get_direction (interface_fault_ref_element, env))
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_INTERFACE_FAULT_REF_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,183 @@
+/*
+ * 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.
+ */
+
+#ifndef WODEN_WSDL10_INTERFACE_MSG_REF_H
+#define WODEN_WSDL10_INTERFACE_MSG_REF_H
+
+/**
+ * @file woden_wsdl10_interface_msg_ref.h
+ * @brief Axis2 Interface Message Reference Interface Message Reference
+ * 
+ */
+
+#include <woden.h>
+#include <woden_wsdl10_interface_msg_ref_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_wsdl10_interface_msg_ref Interface Message Reference
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_wsdl10_interface_msg_ref_base woden_wsdl10_interface_msg_ref_base_t;
+typedef struct woden_wsdl10_interface_msg_ref woden_wsdl10_interface_msg_ref_t;
+typedef struct woden_wsdl10_interface_msg_ref_ops woden_wsdl10_interface_msg_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_wsdl10_interface_msg_ref_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *interface_msg_ref,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *interface_msg_ref,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *interface_msg_ref,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *interface_msg_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_direction) (
+            void *interface_msg_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *interface_msg_ref,
+            const axis2_env_t *env);
+
+};
+
+union woden_wsdl10_interface_msg_ref_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_wsdl10_interface_msg_ref_element_t interface_msg_ref_element;
+};
+
+struct woden_wsdl10_interface_msg_ref
+{
+    woden_wsdl10_interface_msg_ref_base_t base;
+    woden_wsdl10_interface_msg_ref_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_interface_msg_ref_element(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_nested_configurable(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_configurable(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_nested_element(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_configurable_element(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_documentable_element(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_documentable(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_attr_extensible(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_interface_msg_ref_t * AXIS2_CALL
+woden_wsdl10_interface_msg_ref_to_element_extensible(
+        void *interface_msg_ref,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_interface_msg_ref_resolve_methods(
+        woden_wsdl10_interface_msg_ref_t *interface_msg_ref,
+        const axis2_env_t *env,
+        woden_wsdl10_interface_msg_ref_t *interface_msg_ref_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_FREE(interface_msg_ref, env) \
+      (((woden_wsdl10_interface_msg_ref_t *) interface_msg_ref)->ops->\
+       free(interface_msg_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_SUPER_OBJS(interface_msg_ref, env) \
+      (((woden_wsdl10_interface_msg_ref_t *) interface_msg_ref)->ops->\
+       super_objs(interface_msg_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_TYPE(interface_msg_ref, env) \
+      (((woden_wsdl10_interface_msg_ref_t *) interface_msg_ref)->ops->\
+       type(interface_msg_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_GET_BASE_IMPL(interface_msg_ref, env) \
+      (((woden_wsdl10_interface_msg_ref_t *) interface_msg_ref)->ops->\
+       get_base_impl(interface_msg_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_GET_DIRECTION(interface_msg_ref, env) \
+      (((woden_wsdl10_interface_msg_ref_t *) interface_msg_ref)->ops->\
+         get_direction(interface_msg_ref, env))
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_TO_ELEMENT(interface_msg_ref, env) \
+      (((woden_wsdl10_interface_msg_ref_t *) interface_msg_ref)->ops->\
+         to_element(interface_msg_ref, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_INTERFACE_MSG_REF_H */



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