axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dami...@apache.org
Subject svn commit: r419452 [3/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...
Date Thu, 06 Jul 2006 06:02:31 GMT
Added: webservices/axis2/trunk/c/woden/include/woden_desc_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_desc_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_desc_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_desc_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,525 @@
+/*
+ * 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_DESC_ELEMENT_H
+#define WODEN_DESC_ELEMENT_H
+
+/**
+ * @file woden_desc_element.h
+ * @brief Axis2 Description Element Interface
+ * This interface represents a <wsdl:description> element. 
+ * It declares the behaviour required to support 
+ * parsing, creating and manipulating a <description> 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_desc_element woden_desc_element_t;
+typedef struct woden_desc_element_ops woden_desc_element_ops_t;
+typedef union woden_desc_element_base woden_desc_element_base_t;
+
+/** @defgroup woden_desc_element Description Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_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_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_interface_element) (
+            void *desc_ele,
+            const axis2_env_t *env,
+            void *interface_el);
+    
+    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_desc_element
+{
+    woden_documentable_element_t documentable_element;
+    woden_desc_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_desc_element_resolve_methods(
+        woden_desc_element_t *desc_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_DESC_ELEMENT_FREE(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+         free (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_TYPE(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+         type (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_SET_DOCUMENT_BASE_URI(desc_el, env, document_base_uri) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+         set_document_base_uri(desc_el, env, document_base_uri))
+
+#define WODEN_DESC_ELEMENT_GET_DOCUMENT_BASE_URI(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+         get_document_base_uri(desc_el, env))
+
+#define WODEN_DESC_ELEMENT_SET_TARGET_NAMESPACE(desc_el, env, namespc_uri) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+         set_target_namespace(desc_el, env, namespc_uri))
+
+#define WODEN_DESC_ELEMENT_GET_TARGET_NAMESPACE(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+         get_target_namespace(desc_el, env))
+
+#define WODEN_DESC_ELEMENT_ADD_NAMESPACE(desc_el, env, prefix, namespc) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        add_namespace (desc_el, env, prefix, namespc))
+
+#define WODEN_DESC_ELEMENT_REMOVE_NAMESPACE(desc_el, env, prefix) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        remove_namespace (desc_el, env, prefix))
+
+#define WODEN_DESC_ELEMENT_GET_NAMESPACE(desc_el, env, prefix) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_namespace (desc_el, env, prefix))
+
+#define WODEN_DESC_ELEMENT_GET_NAMESPACES(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_namespaces (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_DOCUMENTATION_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_documentation_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_IMPORT_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_import_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_INCLUDE_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_include_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_TYPES_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_types_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_INTERFACE_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_interface_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_INTERFACE_FAULT_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_interface_fault_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_INTERFACE_OP_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_interface_op_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_INTERFACE_FAULT_REF_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_interface_fault_ref_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_INTERFACE_MSG_REF_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_interface_msg_ref_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_BINDING_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_binding_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_BINDING_FAULT_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_binding_fault_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_BINDING_OP_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_binding_op_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_BINDING_FAULT_REF_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_binding_fault_ref_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_BINDING_MSG_REF_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_binding_msg_ref_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_FEATURE_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_feature_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_SVC_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_svc_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_ENDPOINT_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_endpoint_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_CREATE_PROPERTY_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        create_property_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_ADD_IMPORT_ELEMENT(desc_el, env, import_el) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        add_import_element (desc_el, env, import_el))
+
+#define WODEN_DESC_ELEMENT_GET_IMPORT_ELEMENTS(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_import_elements (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_ADD_INCLUDE_ELEMENT(desc_el, env, include_el) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        add_include_element (desc_el, env, include_el))
+
+#define WODEN_DESC_ELEMENT_GET_INCLUDE_ELEMENTS(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_include_elements (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_SET_TYPES_ELEMENT(desc_el, env, types_el) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        set_types_element (desc_el, env, types_el))
+
+#define WODEN_DESC_ELEMENT_GET_TYPES_ELEMENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_types_element (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_ADD_INTERFACE_ELEMENT(desc_el, env, interface_el) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        add_interface_element (desc_el, env, interface_el))
+
+#define WODEN_DESC_ELEMENT_GET_INTERFACE_ELEMENTS(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_interface_elements (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_ADD_BINDING_ELEMENT(desc_el, env, binding_el) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        add_binding_element (desc_el, env, binding_el))
+
+#define WODEN_DESC_ELEMENT_GET_BINDING_ELEMENTS(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_binding_elements (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_ADD_SVC_ELEMENT(desc_el, env, svc_el) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        add_svc_element (desc_el, env, svc_el))
+
+#define WODEN_DESC_ELEMENT_GET_SVC_ELEMENTS(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_svc_elements (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_SET_EXT_REGISTRY(desc_el, env, ext_reg) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        set_ext_registry (desc_el, env, ext_reg))
+
+#define WODEN_DESC_ELEMENT_GET_EXT_REGISTRY(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        get_ext_registry (desc_el, env))
+
+#define WODEN_DESC_ELEMENT_TO_COMPONENT(desc_el, env) \
+      (((woden_desc_element_t *) desc_el)->ops->\
+        to_component (desc_el, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_DESC_ELEMENT_H */
+

Added: webservices/axis2/trunk/c/woden/include/woden_direction.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_direction.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_direction.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_direction.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,118 @@
+/*
+ * 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_DIRECTION_H
+#define WODEN_DIRECTION_H
+
+/**
+ * @file woden_direction.h
+ * @brief Axis2 Direction Interface
+ * This class defines the values of the {direction} property of
+ * Interface Message Reference and Interface Fault Reference. This property 
+ * indicates whether a message is coming "in" to the service or going "out" 
+ * from the service.
+ * <p>
+ * The property is represented in XML by the message or fault 
+ * reference element's tag name:
+ * <ul>
+ * <li>&lt;input&gt; and &lt;infault&gt; have the direction "in" - 
+ *     represented by the constant IN
+ * <li>&lt;output&gt; and &lt;outfault&gt; have the direction "out" - 
+ *     represented by the constant OUT
+ * </ul>
+ * This class uses the typesafe enum pattern. Applications should use the
+ * public static final constants defined in this class to specify or to 
+ * evaluate direction.
+ * <p>
+ * Examples:
+ * <pre>
+ *      WODEN_INTERFACE_MSG_REF_SET_DIRECTION(intf_msg_ref, env, WODEN_IN);
+ *      if(0 == AXIS2_STRCMP(WODEN_IN,WODEN_INTERFACE_GET_DIRECTION(
+ *          intf_msg_ref, env)) ...
+ * </pre>
+ * 
+ */
+
+#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 <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_direction woden_direction_t;
+typedef struct woden_direction_ops woden_direction_ops_t;
+struct woden_ext_element;
+
+/** @defgroup woden_direction Direction
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_direction_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *direction,
+            const axis2_env_t *env);
+    
+    axis2_char_t *(AXIS2_CALL *
+    to_string) (
+            void *direction,
+            const axis2_env_t *env);
+
+
+};
+
+struct woden_direction
+{
+    woden_direction_ops_t *ops;
+    
+};
+
+AXIS2_EXTERN woden_direction_t *AXIS2_CALL
+woden_direction_get_direction_in(
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_direction_t *AXIS2_CALL
+woden_direction_get_direction_out(
+        const axis2_env_t *env);
+
+#define WODEN_DIRECTION_FREE(direction, env) \
+      (((woden_direction_t *) direction)->ops->\
+         free (direction, env))
+
+#define WODEN_DIRECTION_TO_STRING(direction, env) \
+      (((woden_direction_t *) direction)->ops->\
+         to_string (direction, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_DIRECTION_H */

Added: webservices/axis2/trunk/c/woden/include/woden_documentable.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_documentable.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_documentable.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_documentable.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,152 @@
+/*
+ * 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_DOCUMENTABLE_H
+#define WODEN_DOCUMENTABLE_H
+
+/**
+ * @file woden_documentable.h
+ * @brief Axis2 Documentable Interface
+ * An abstract superclass for WSDL 2.0 elements which can have &lt;documentation&gt; 
+ * child elements. That is, all WSDL 2.0 elements except the &lt;documentation&gt; 
+ * element itself. Defines accessor methods for manipulating DocumentationElements.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_wsdl_obj.h>
+
+/** @defgroup woden_documentable Documentable
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_documentable_base woden_documentable_base_t;
+typedef struct woden_documentable woden_documentable_t;
+typedef struct woden_documentable_ops woden_documentable_ops_t;
+struct woden_documentation_element;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_documentable_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *documentable,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_documentable_free) (
+            void *documentable,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *documentable,
+            const axis2_env_t *env);
+    
+    /**
+     * @return the base implementation class
+     */
+    woden_wsdl_obj_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *documentable,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    add_documentation_element) (
+            void *types,
+            const axis2_env_t *env,
+            struct woden_documentation_element *documentation);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_documentation_elements) (
+            void *types,
+            const axis2_env_t *env);
+
+
+};
+
+union woden_documentable_base
+{
+    woden_wsdl_obj_t wsdl_obj;
+    woden_documentable_element_t documentable_element;
+};
+
+struct woden_documentable
+{
+    woden_documentable_base_t base;
+    woden_documentable_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_documentable_t * AXIS2_CALL
+woden_documentable_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+
+AXIS2_EXTERN woden_documentable_t * AXIS2_CALL
+woden_documentable_to_documentable_element(
+        void *documentable,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_documentable_resolve_methods(
+        woden_documentable_t *documentable,
+        const axis2_env_t *env,
+        woden_documentable_t *documentable_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+
+#define WODEN_DOCUMENTABLE_FREE(documentable, env) \
+      (((woden_documentable_t *) documentable)->ops->\
+         free(documentable, env))
+
+#define WODEN_DOCUMENTABLE_TO_DOCUMENTABLE_FREE(documentable, env) \
+      (((woden_documentable_t *) documentable)->ops->\
+         to_documentable_free(documentable, env))
+
+#define WODEN_DOCUMENTABLE_SUPER_OBJS(documentable, env) \
+      (((woden_documentable_t *) documentable)->ops->\
+         super_objs(documentable, env))
+
+#define WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env) \
+      (((woden_documentable_t *) documentable)->ops->\
+         get_base_impl(documentable, env))
+
+#define WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT(documentable, env, \
+        documentation) \
+      (((woden_documentable_t *) documentable)->ops->\
+         add_documentation_element(documentable, env, documentation))
+
+#define WODEN_DOCUMENTABLE_GET_DOCUMENTATION_ELEMENTS(documentable, env) \
+      (((woden_documentable_t *) documentable)->ops->\
+         get_documentation_elements(documentable, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_DOCUMENTABLE_H */

Added: webservices/axis2/trunk/c/woden/include/woden_documentable_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_documentable_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_documentable_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_documentable_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,117 @@
+/*
+ * 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_DOCUMENTABLE_ELEMENT_H
+#define WODEN_DOCUMENTABLE_ELEMENT_H
+
+/**
+ * @file woden_documentable_element.h
+ * @brief Axis2 Documentable Element Interface
+ * Interfaces for WSDL 2.0 elements which may have &lt;documentation&gt; 
+ * child elements will extend this interface. That is, all WSDL 2.0 elements
+ * except the &lt;documentation&gt; element itself.
+ *
+ */
+
+#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_array_list.h>
+#include <woden_wsdl_element.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_documentable_element 
+        woden_documentable_element_t;
+typedef struct woden_documentable_element_ops 
+        woden_documentable_element_ops_t;
+struct woden_documentation_element;
+
+/** @defgroup woden_documentable_element Documentable Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_documentable_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *doc_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *doc_el,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    add_documentation_element) (void *doc_el,
+                        const axis2_env_t *env,
+                        struct woden_documentation_element *doc_elem);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_documentation_elements) (void *doc_el,
+                        const axis2_env_t *env);
+
+};
+
+struct woden_documentable_element
+{
+    woden_wsdl_element_t wsdl_element;
+    woden_documentable_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_documentable_element_resolve_methods(
+        woden_documentable_element_t *documentable_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_DOCUMENTABLE_ELEMENT_FREE(doc_el, env) \
+      (((woden_documentable_element_t *) doc_el)->ops->\
+         free (doc_el, env))
+
+#define WODEN_DOCUMENTABLE_ELEMENT_TYPE(doc_el, env) \
+      (((woden_documentable_element_t *) doc_el)->ops->\
+         type (doc_el, env))
+
+#define WODEN_DOCUMENTABLE_ELEMENT_ADD_DOCUMENTATION_ELEMENT(doc_el, env, doc_elem) \
+      (((woden_documentable_element_t *) doc_el)->ops->\
+         add_documentation_element(doc_el, env, doc_elem))
+
+#define WODEN_DOCUMENTABLE_ELEMENT_GET_DOCUMENTATOIN_ELEMENTS(doc_el, env) \
+      (((woden_documentable_element_t *) doc_el)->ops->\
+         get_documentation_elements(doc_el, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_DOCUMENTABLE_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_documentation.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_documentation.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_documentation.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_documentation.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,136 @@
+/*
+ * 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_DOCUMENTATION_H
+#define WODEN_DOCUMENTATION_H
+
+/**
+ * @file woden_documentation.h
+ * @brief Axis2 Documentation Interface
+ * This class implements support for parsing, creating and manipulating a
+ * WSDL 2.0 &lt;wsdl:documentation&gt; XML element.
+ * The &lt;wsdl:documentation&gt; element may contain mixed content, but this 
+ * class does not attempt to understand that content. Instead it just wraps
+ * the &lt;wsdl:documentation&gt; element's content model as a void *. 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_documentation_element.h>
+#include <woden_wsdl_element.h>
+
+/** @defgroup woden_documentation Documentation
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_documentation_base woden_documentation_base_t;
+typedef struct woden_documentation woden_documentation_t;
+typedef struct woden_documentation_ops woden_documentation_ops_t;
+struct woden_documentation_element;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_documentation_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *documentation,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *documentation,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *documentation,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    woden_wsdl_element_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *documentation,
+            const axis2_env_t *env);
+};
+
+union woden_documentation_base
+{
+    woden_wsdl_element_t wsdl_element;
+    woden_documentation_element_t documentation_element;
+};
+
+struct woden_documentation
+{
+    woden_documentation_base_t base;
+    woden_documentation_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_documentation_t * AXIS2_CALL
+woden_documentation_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN woden_documentation_t * AXIS2_CALL
+woden_documentation_to_documentation_element(
+        void *documentation,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_documentation_t * AXIS2_CALL
+woden_documentation_to_attr_extensible(
+        void *documentation,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_documentation_t * AXIS2_CALL
+woden_documentation_to_element_extensible(
+        void *documentation,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_documentation_resolve_methods(
+        woden_documentation_t *documentation,
+        const axis2_env_t *env,
+        woden_documentation_t *documentation_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+
+#define WODEN_DOCUMENTATION_FREE(documentation, env) \
+      (((woden_documentation_t *) documentation)->ops->free(documentation, env))
+
+#define WODEN_DOCUMENTATION_SUPER_OBJS(documentation, env) \
+      (((woden_documentation_t *) documentation)->ops->\
+         super_objs(documentation, env))
+
+#define WODEN_DOCUMENTATION_TYPE(documentation, env) \
+      (((woden_documentation_t *) documentation)->ops->type(documentation, env))
+
+#define WODEN_DOCUMENTATION_GET_BASE_IMPL(documentation, env) \
+      (((woden_documentation_t *) documentation)->ops->\
+         get_base_impl(documentation, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_DOCUMENTATION_H */

Added: webservices/axis2/trunk/c/woden/include/woden_documentation_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_documentation_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_documentation_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_documentation_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,118 @@
+/*
+ * 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_DOCUMENTATION_ELEMENT_H
+#define WODEN_DOCUMENTATION_ELEMENT_H
+
+/**
+ * @file woden_documentation_element.h
+ * @brief Axis2 Documentation Element Interface
+ * This interface represents the WSDL 2.0 &lt;wsdl:documentation&gt; XML element.
+ * The &lt;wsdl:documentation&gt; element may contain mixed content, but this 
+ * interface does not attempt to understand that content. Instead it just wraps
+ * the &lt;wsdl:documentation&gt; element's content model as a void *. 
+ *
+ */
+
+#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 <woden_wsdl_element.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_documentation_element 
+        woden_documentation_element_t;
+typedef struct woden_documentation_element_ops 
+        woden_documentation_element_ops_t;
+
+/** @defgroup woden_documentation_element Documentation Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_documentation_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *doc_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *doc_el,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_content) (void *doc_el,
+            const axis2_env_t *env,
+            void *doc_elem);
+
+    void *(AXIS2_CALL *
+    get_content) (
+            void *doc_el,
+            const axis2_env_t *env);
+
+};
+
+struct woden_documentation_element
+{
+    woden_wsdl_element_t wsdl_element;
+    woden_documentation_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_documentation_element_resolve_methods(
+        woden_documentation_element_t *documentation_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_DOCUMENTATION_ELEMENT_FREE(doc_el, env) \
+      (((woden_documentation_element_t *) doc_el)->ops->\
+         free (doc_el, env))
+
+#define WODEN_DOCUMENTATION_ELEMENT_TYPE(doc_el, env) \
+      (((woden_documentation_element_t *) doc_el)->ops->\
+         type (doc_el, env))
+
+#define WODEN_DOCUMENTATION_ELEMENT_SET_CONTENT(doc_el, env, doc_elem) \
+      (((woden_documentation_element_t *) doc_el)->ops->\
+         set_content(doc_el, env, doc_elem))
+
+#define WODEN_DOCUMENTATION_ELEMENT_GET_CONTENT(doc_el, env) \
+      (((woden_documentation_element_t *) doc_el)->ops->\
+         get_content(doc_el, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_DOCUMENTATION_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_element_decl.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_element_decl.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_element_decl.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_element_decl.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,254 @@
+/*
+ * 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_ELEMENT_DECL_H
+#define WODEN_ELEMENT_DECL_H
+
+/**
+ * @file woden_element_decl.h
+ * @brief Axis2 Element Declaration Interface
+ * This interface represents the Element Declaration component described
+ * in the WSDL 2.0 Component Model specification (within the Description 
+ * Component section). An Element Declaration refers to an element, such as
+ * a global element declaration in the XML Schema type system 
+ * (&lt;xs:element&gt;), that describes the content of WSDL input, output
+ * and fault messages.  However, it does not impose XML Schema as the type system.  
+ * It returns a String representing the content model or type system 
+ * (e.g. "http://www.w3.org/2001/XMLSchema") and a axis2_generic_obj_t type 
+ * representing the content of the element declaration. This Object may
+ * be cast to a type appropriate for the content model.
+ * 
+ */
+
+#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 <axis2_generic_obj.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_element_decl woden_element_decl_t;
+typedef struct woden_element_decl_ops woden_element_decl_ops_t;
+struct woden_ext_element;
+
+/** @defgroup woden_element_decl Element Declaration
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_element_decl_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *
+            element_decl,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_element_decl_free) (
+            void *
+            element_decl,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *
+            element_decl,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *element_decl,
+            const axis2_env_t *env);
+     
+    /* ************************************************************
+     *  Element Declaration interface methods (the WSDL Component model)
+     * ************************************************************/
+    /**
+     * @return the QName identifying this element declaration in the
+     * underlying type system definition.
+     *  
+     */
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *decl,
+            const axis2_env_t *env); 
+
+    /**
+     * Indicates the underlying type system of this element declaration.
+     * For example, "http://www.w3.org/2001/XMLSchema" indicates the W3 XML Schema
+     * type system.
+     *  
+     * @return the URI identifying the type system
+     */
+    axis2_uri_t *(AXIS2_CALL *
+    get_system) (
+            void *decl,
+            const axis2_env_t *env); 
+
+    /**
+     * Indicates the type of model or API used to represent components from the 
+     * underlying type system identified by the get_system() method.
+     * <p>
+     * For example:
+     * <ul>
+     * <li>"org.w3c.dom" indicates that the DOM API is used, so the element declaration
+     * content will be represented by a org.w3c.dom.Element.
+     * <li>"org.apache.ws.commons.schema" indicates that the XmlSchema API from the
+     * Apache WebServices project is used, so an XmlSchemaElement will represent the 
+     * element declaration content. 
+     * </ul>
+     * 
+     * @return a String identifying the content model or API used to represent this 
+     * element declaration
+     */
+    axis2_char_t *(AXIS2_CALL *
+    get_content_model) (
+            void *decl,
+            const axis2_env_t *env); 
+
+    /**
+     * Returns the content of the element declaration in an object
+     * specific to the underlying content model API. The caller may then
+     * cast this Object to the appropriate type, based on the content model
+     * API indicated by the get_content() method.
+     * 
+     * @return the Object representing the content of the element declaration
+     */
+    axis2_generic_obj_t *(AXIS2_CALL *
+    get_content) (
+            void *decl,
+            const axis2_env_t *env); 
+
+    /* ************************************************************
+     *  Non-API implementation methods
+     * ************************************************************/
+
+    axis2_status_t (AXIS2_CALL *
+    set_qname) (
+            void *decl,
+            const axis2_env_t *env,
+            axis2_qname_t *qname); 
+
+    axis2_status_t (AXIS2_CALL *
+    set_system) (
+            void *decl,
+            const axis2_env_t *env,
+            axis2_uri_t *type_system_uri); 
+
+    axis2_status_t (AXIS2_CALL *
+    set_content_model) (
+            void *decl,
+            const axis2_env_t *env,
+            axis2_char_t *content_model); 
+
+    axis2_status_t (AXIS2_CALL *
+    set_content) (
+            void *decl,
+            const axis2_env_t *env,
+            axis2_generic_obj_t *element_content);
+
+
+};
+
+struct woden_element_decl
+{
+    woden_element_decl_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_element_decl_t * AXIS2_CALL
+woden_element_decl_create(const axis2_env_t *env);
+
+/**
+ * This is an Axis2 C internal method. This is used only from constructor
+ * of the child class
+ */
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_element_decl_resolve_methods(
+        woden_element_decl_t *decl,
+        const axis2_env_t *env,
+        woden_element_decl_t *decl_impl,
+        axis2_hash_t *methods);
+
+#define WODEN_ELEMENT_DECL_FREE(decl, env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         free (decl, env))
+
+#define WODEN_ELEMENT_DECL_TO_ELEMENT_DECL_FREE(decl, \
+        env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         to_element_decl_free (decl, env))
+
+#define WODEN_ELEMENT_DECL_SUPER_OBJS(decl, env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         super_objs (decl, env))
+
+#define WODEN_ELEMENT_DECL_TYPE(decl, env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         type (decl, env))
+
+#define WODEN_ELEMENT_DECL_GET_QNAME(decl, env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         get_qname(decl, env))
+
+#define WODEN_ELEMENT_DECL_GET_SYSTEM(decl, env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         get_system(decl, env))
+
+#define WODEN_ELEMENT_DECL_GET_CONTENT_MODEL(decl, env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         get_content_model(decl, env))
+
+#define WODEN_ELEMENT_DECL_GET_CONTENT(decl, env) \
+      (((woden_element_decl_t *) decl)->ops->\
+         get_content(decl, env))
+
+#define WODEN_ELEMENT_DECL_SET_QNAME(decl, env, qname) \
+      (((woden_element_decl_t *) decl)->ops->\
+         set_qname(decl, env, qname))
+
+#define WODEN_ELEMENT_DECL_SET_SYSTEM(decl, env, type_system_uri) \
+      (((woden_element_decl_t *) decl)->ops->\
+         set_system(decl, env, type_system_uri))
+
+#define WODEN_ELEMENT_DECL_SET_CONTENT_MODEL(decl, env, content_model) \
+      (((woden_element_decl_t *) decl)->ops->\
+         set_content_model(decl, env, content_model))
+
+#define WODEN_ELEMENT_DECL_SET_CONTENT(decl, env, element_content) \
+      (((woden_element_decl_t *) decl)->ops->\
+         set_content(decl, env, element_content))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_ELEMENT_DECL_H */

Added: webservices/axis2/trunk/c/woden/include/woden_element_extensible.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_element_extensible.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_element_extensible.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_element_extensible.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,165 @@
+/*
+ * 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_ELEMENT_EXTENSIBLE_H
+#define WODEN_ELEMENT_EXTENSIBLE_H
+
+/**
+ * @file woden_element_extensible.h
+ * @brief Axis2 Element Extensible Interface
+ *          Common code for handling extension elements. 
+ *          Can be reused by inheritance or by delegation.
+ */
+
+#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_element_extensible woden_element_extensible_t;
+typedef struct woden_element_extensible_ops woden_element_extensible_ops_t;
+struct woden_ext_element;
+
+/** @defgroup woden_element_extensible Element Extensible
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_element_extensible_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *
+            element_extensible,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *
+            element_extensible,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *element_extensible,
+            const axis2_env_t *env);
+ 
+    axis2_status_t (AXIS2_CALL *
+    add_ext_element) (
+            void *extensible,
+            const axis2_env_t *env,
+            struct woden_ext_element *ext_el); 
+
+    axis2_status_t (AXIS2_CALL *
+    remove_ext_element) (
+            void *extensible,
+            const axis2_env_t *env,
+            struct woden_ext_element *ext_el); 
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_ext_elements) (
+            void *extensible,
+            const axis2_env_t *env); 
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_ext_elements_of_type) (
+            void *extensible,
+            const axis2_env_t *env,
+            axis2_qname_t *ext_type);
+
+    axis2_bool_t (AXIS2_CALL *
+    has_ext_elements_for_namespace) (
+            void *extensible,
+            const axis2_env_t *env,
+            axis2_uri_t *namespc);
+ 
+};
+
+struct woden_element_extensible
+{
+    woden_element_extensible_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_element_extensible_t * AXIS2_CALL
+woden_element_extensible_create(const axis2_env_t *env);
+
+/**
+ * This is an Axis2 C internal method. This is used only from constructor
+ * of the child class
+ */
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_element_extensible_resolve_methods(
+        woden_element_extensible_t *extensible,
+        const axis2_env_t *env,
+        woden_element_extensible_t *extensible_impl,
+        axis2_hash_t *methods);
+
+#define WODEN_ELEMENT_EXTENSIBLE_FREE(extensible, env) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         free (extensible, env))
+
+#define WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         super_objs (extensible, env))
+
+#define WODEN_ELEMENT_EXTENSIBLE_TYPE(extensible, env) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         type (extensible, env))
+
+#define WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(extensible, env, ext_el) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         add_ext_element(extensible, env, ext_el))
+
+#define WODEN_ELEMENT_EXTENSIBLE_REMOVE_EXT_ELEMENT(extensible, env, \
+        ext_el) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         remove_ext_element(extensible, env, ext_el))
+
+#define WODEN_ELEMENT_EXTENSIBLE_GET_EXT_ELEMENTS(extensible, env) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         get_ext_elements(extensible, env))
+
+#define WODEN_ELEMENT_EXTENSIBLE_GET_EXT_ELEMENTS_OF_TYPE(extensible, \
+        env, ext_type) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         get_ext_elements_of_type(extensible, env, ext_type))
+
+#define WODEN_ELEMENT_EXTENSIBLE_HAS_EXT_ELEMENTS_FOR_NAMESPACE(\
+        extensible, env, namespc) \
+      (((woden_element_extensible_t *) extensible)->ops->\
+         has_ext_elements_for_namespace(extensible, env, namespc))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_ELEMENT_EXTENSIBLE_H */

Added: webservices/axis2/trunk/c/woden/include/woden_endpoint.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_endpoint.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_endpoint.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_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_ENDPOINT_H
+#define WODEN_ENDPOINT_H
+
+/**
+ * @file woden_endpoint.h
+ * @brief Axis2 Endpoint Interface
+ * This class represents the Endpoint component and the &lt;endpoint&gt; element.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_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_endpoint Endpoint
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_endpoint_base woden_endpoint_base_t;
+typedef struct woden_endpoint woden_endpoint_t;
+typedef struct woden_endpoint_ops woden_endpoint_ops_t;
+struct woden_documentation_element;
+struct woden_wsdl_component;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_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_endpoint_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_endpoint_element_t endpoint_element;
+    woden_configurable_component_t configurable_component;
+    woden_configurable_component_t nested_component;
+};
+
+struct woden_endpoint
+{
+    woden_endpoint_base_t base;
+    woden_endpoint_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_create(
+        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);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_nested_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_documentable_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_nested_configurable(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_configurable(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_nested_component(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_configurable_component(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_wsdl_component(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_configurable_element(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_documentable(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_attr_extensible(
+        void *endpoint,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_endpoint_t * AXIS2_CALL
+woden_endpoint_to_element_extensible(
+        void *endpoint,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN 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);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_ENDPOINT_FREE(endpoint, env) \
+      (((woden_endpoint_t *) endpoint)->ops->free(endpoint, env))
+
+#define WODEN_ENDPOINT_SUPER_OBJS(endpoint, env) \
+      (((woden_endpoint_t *) endpoint)->ops->super_objs(endpoint, env))
+
+#define WODEN_ENDPOINT_TYPE(endpoint, env) \
+      (((woden_endpoint_t *) endpoint)->ops->type(endpoint, env))
+
+#define WODEN_ENDPOINT_GET_BASE_IMPL(endpoint, env) \
+      (((woden_endpoint_t *) endpoint)->ops->get_base_impl(endpoint, env))
+
+#define WODEN_ENDPOINT_GET_NAME(endpoint, env) \
+      (((woden_endpoint_t *) endpoint)->ops->\
+         get_name(endpoint, env))
+
+#define WODEN_ENDPOINT_GET_BINDING(endpoint, env) \
+      (((woden_endpoint_t *) endpoint)->ops->\
+         get_binding(endpoint, env))
+
+#define WODEN_ENDPOINT_GET_ADDRESS(endpoint, env) \
+      (((woden_endpoint_t *) endpoint)->ops->\
+         get_address(endpoint, env))
+
+#define WODEN_ENDPOINT_SET_BINDING_ELEMENT(endpoint, env, binding) \
+      (((woden_endpoint_t *) endpoint)->ops->\
+         set_binding_element(endpoint, env, binding))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_ENDPOINT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_endpoint_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_endpoint_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_endpoint_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_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_ENDPOINT_ELEMENT_H
+#define WODEN_ENDPOINT_ELEMENT_H
+
+/**
+ * @file woden_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_endpoint_element woden_endpoint_element_t;
+typedef struct woden_endpoint_element_ops woden_endpoint_element_ops_t;
+typedef union woden_endpoint_element_base woden_endpoint_element_base_t;
+
+/** @defgroup woden_endpoint_element Endpoint Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_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_endpoint_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_endpoint_element
+{
+    woden_endpoint_element_base_t base;
+    woden_endpoint_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_endpoint_element_resolve_methods(
+        woden_endpoint_element_t *endpoint_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_ENDPOINT_ELEMENT_FREE(endpoint_el, env) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         free (endpoint_el, env))
+
+#define WODEN_ENDPOINT_ELEMENT_TYPE(endpoint_el, env) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         type (endpoint_el, env))
+
+#define WODEN_ENDPOINT_ELEMENT_SET_NAME(endpoint_el, env, name) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         set_name(endpoint_el, env, name))
+
+#define WODEN_ENDPOINT_ELEMENT_GET_NAME(endpoint_el, env) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         get_name(endpoint_el, env))
+
+#define WODEN_ENDPOINT_ELEMENT_SET_BINDING_QNAME(endpoint_el, env, qname) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         set_binding_qname(endpoint_el, env, qname))
+
+#define WODEN_ENDPOINT_ELEMENT_GET_BINDING_QNAME(endpoint_el, env) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         get_binding_qname(endpoint_el, env))
+
+#define WODEN_ENDPOINT_ELEMENT_GET_BINDING_ELEMENT(endpoint_el, env) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         get_binding_element(endpoint_el, env))
+
+#define WODEN_ENDPOINT_ELEMENT_SET_ADDRESS(endpoint_el, env, uri) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         set_address(endpoint_el, env, uri))
+
+#define WODEN_ENDPOINT_ELEMENT_GET_ADDRESS(endpoint_el, env) \
+      (((woden_endpoint_element_t *) endpoint_el)->ops->\
+         get_address(endpoint_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_ENDPOINT_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_ext_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_ext_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_ext_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_ext_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,139 @@
+/*
+ * 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_EXT_ELEMENT_H
+#define WODEN_EXT_ELEMENT_H
+
+/**
+ * @file woden_ext_element.h
+ * @brief Axis2 Extension Element Interface
+ *          This interface represents WSDL 2.0 extension elements. That is, 
+ *          any XML element information items that appear as [children] of a 
+ *          WSDL 2.0 element and are not in  the WSDL 2.0 namespace 
+ *          (http://www.w3.org/2006/01/wsdl).
+ *          <p>
+ *          Based on a similar interface from WSDL4J element extensibility.
+ *
+ *          TODO change this URL if the WSDL 2.0 namespace changes before spec 
+ *          is finalized.
+ *
+ */
+
+#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 <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_ext_element woden_ext_element_t;
+typedef struct woden_ext_element_ops woden_ext_element_ops_t;
+struct axis2_xml_ext_element;
+struct axis2_uri;
+
+/** @defgroup woden_ext_element Extension Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_ext_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *ext_element,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *ext_element,
+            const axis2_env_t *env);
+
+
+    axis2_status_t (AXIS2_CALL *
+    set_ext_type) (void *ext_element,
+                        const axis2_env_t *env,
+                        axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_ext_type) (void *ext_element,
+                        const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_required) (void *ext_element,
+                        const axis2_env_t *env,
+                        axis2_bool_t required);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_required) (void *ext_element,
+                        const axis2_env_t *env);
+
+};
+
+struct woden_ext_element
+{
+    woden_ext_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_ext_element_t * AXIS2_CALL
+woden_ext_element_create(const axis2_env_t *env);
+
+/**
+ * This is an Axis2 C internal method. This is used only from constructor
+ * of the child class
+ */
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_ext_element_resolve_methods(
+        woden_ext_element_t *ext_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+
+#define WODEN_EXT_ELEMENT_FREE(ext_element, env) \
+      (((woden_ext_element_t *) ext_element)->ops->free (ext_element, env))
+
+#define WODEN_EXT_ELEMENT_ELEMENT_TYPE(ext_element, env) \
+      (((woden_ext_element_t *) ext_element)->ops->\
+         type (ext_element, env))
+
+#define WODEN_EXT_ELEMENT_SET_EXT_TYPE(ext_element, env, qname) \
+      (((woden_ext_element_t *) ext_element)->ops->set_ext_type(ext_element, env, \
+                                                               qname))
+
+#define WODEN_EXT_ELEMENT_GET_EXT_TYPE(ext_element, env) \
+      (((woden_ext_element_t *) ext_element)->ops->get_ext_type(ext_element, env))
+
+#define WODEN_EXT_ELEMENT_SET_REQUIRED(ext_element, env, required) \
+      (((woden_ext_element_t *) ext_element)->ops->set_required(ext_element, env, \
+                                                             required))
+
+#define WODEN_EXT_ELEMENT_IS_REQUIRED(ext_element, env) \
+      (((woden_ext_element_t *) ext_element)->ops->is_required(ext_element, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_EXT_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_ext_registry.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_ext_registry.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_ext_registry.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_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_EXT_REGISTRY_H
+#define WODEN_EXT_REGISTRY_H
+
+/**
+ * @file woden_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_ext_registry woden_ext_registry_t;
+typedef struct woden_ext_registry_ops woden_ext_registry_ops_t;
+struct woden_wsdl_element;
+    
+/** @defgroup woden_ext_registry Extension Registry
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_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_ext_registry
+{
+    woden_ext_registry_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_ext_registry_t * AXIS2_CALL
+woden_ext_registry_create(const axis2_env_t *env);
+
+#define WODEN_EXT_REGISTRY_FREE(ext_registry, env) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         free (ext_registry, env))
+
+#define WODEN_EXT_REGISTRY_REGISTER_DESERIALIZER(ext_registry, env, parent_type, element_qtype, ed) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         register_deserializer (ext_registry, env, parent_type, element_qtype, ed))
+
+#define WODEN_EXT_REGISTRY_QUERY_DESERIALIZER(ext_registry, env, parent_type, element_type) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         query_deserializer (ext_registry, env, parent_type, element_type))
+
+#define WODEN_EXT_REGISTRY_QUERY_EXT_ELEMENT_TYPE(ext_registry, env, parent_class, elem_qn) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         query_ext_element_type (ext_registry, env, parent_class, elem_qn))
+
+#define WODEN_EXT_REGISTRY_GET_ALLOWABLE_EXTS(ext_registry, env, parent_type) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         get_allowable_exts (ext_registry, env, parent_type))
+
+#define WODEN_EXT_REGISTRY_REGISTER_EXT_ELEMENT_TYPE(ext_registry, env, parent_type, element_qtype, element) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         register_ext_element_type (ext_registry, env, parent_type, element_qtype, element))
+
+#define WODEN_EXT_REGISTRY_REGISTER_EXT_ATTR_TYPE(ext_registry, env, owner_class, attr_qname, attr) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         register_ext_attr_type (ext_registry, env, owner_class, attr_qname, attr))
+
+#define WODEN_EXT_REGISTRY_QUERY_EXT_ATTR_TYPE(ext_registry, env, parent_class, attr_qn) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         query_ext_attr_type (ext_registry, env, parent_class, attr_qn))
+
+#define WODEN_EXT_REGISTRY_REGISTER_COMPONENT_EXT(ext_registry, env, parent_class, ext_namespc, comp_ext) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         register_component_ext (ext_registry, env, parent_class, ext_namespc, comp_ext))
+
+#define WODEN_EXT_REGISTRY_QUERY_COMPONENT_EXT(ext_registry, env, parent_class, ext_namespc) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         query_component_ext (ext_registry, env, parent_class, ext_namespc))
+
+#define WODEN_EXT_REGISTRY_QUERY_COMPONENT_EXT_NAMESPACES(ext_registry, env, parent_class) \
+      (((woden_ext_registry_t *) ext_registry)->ops->\
+         query_component_ext_namespaces (ext_registry, env, parent_class))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_EXT_REGISTRY_H */

Added: webservices/axis2/trunk/c/woden/include/woden_fault_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_fault_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_fault_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_fault_ref_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,190 @@
+/*
+ * 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_INTERFACE_FAULT_REF_ELEMENT_H
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_H
+
+/**
+ * @file woden_fault_ref_element.h
+ * @brief Axis2 Interface Fault Reference Element Interface
+ * This interface represents the &lt;infault&gt; and &lt;outfault&gt; 
+ * child elements of a WSDL interface &lt;operation&gt; or 
+ * binding &lt;operation&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 <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_fault_ref_element woden_fault_ref_element_t;
+typedef struct woden_fault_ref_element_ops woden_fault_ref_element_ops_t;
+typedef union woden_fault_ref_element_base woden_fault_ref_element_base_t;
+
+/** @defgroup woden_fault_ref_element Interface Fault Reference Element
+  * @ingroup axis2_interface
+  * @{
+  */
+
+struct woden_fault_ref_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *fault_ref_element,
+            const axis2_env_t *env);
+ 
+    axis2_status_t (AXIS2_CALL *
+    to_fault_ref_element_free) (
+            void *fault_ref_element,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *fault_ref_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *fault_ref_element,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_ref) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *fault_qname);
+    
+    axis2_qname_t *(AXIS2_CALL *
+    get_ref) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_msg_label) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            void *msg_label);
+
+    void *(AXIS2_CALL *
+    get_msg_label) (
+            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_fault_ref_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_fault_ref_element
+{
+    woden_fault_ref_element_base_t base;
+    woden_fault_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_fault_ref_element_t * AXIS2_CALL
+woden_fault_ref_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_fault_ref_element_resolve_methods(
+        woden_fault_ref_element_t *fault_ref_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_FREE(fault_ref_element, env) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         free (fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_TO_INTERFACE_FAULT_REF_ELEMENT_FREE(fault_ref_element, env) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         to_fault_ref_element_free (fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SUPER_OBJS(fault_ref_element, env) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         super_objs (fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_TYPE(fault_ref_element, env) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         type (fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_REF(fault_ref_element, env, fault_qname) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         set_ref (fault_ref_element, env, fault_qname))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_REF(fault_ref_element, env) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+        get_ref  (fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_MSG_LABEL(fault_ref_element, env, msg_label) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         set_msg_label (fault_ref_element, env, msg_label))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_MSG_LABEL(fault_ref_element, env) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         get_msg_label (fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_DIRECTION(fault_ref_element, env, dir) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         set_direction (fault_ref_element, env, dir))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_DIRECTION(fault_ref_element, env) \
+      (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
+         get_direction (fault_ref_element, env))
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_FAULT_REF_ELEMENT_H */



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


Mime
View raw message