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 [2/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_binding_fault_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_binding_fault_ref.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_binding_fault_ref.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_binding_fault_ref.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,215 @@
+/*
+ * 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_BINDING_FAULT_REF_H
+#define WODEN_BINDING_FAULT_REF_H
+
+/**
+ * @file woden_binding_fault_ref.h
+ * @brief Axis2 Binding Fault Reference Binding Fault Reference
+ * This class represents the Binding Fault Reference component of the
+ * WSDL 2.0 Component model and the <infault> or <outfault> 
+ * child element of a WSDL binding <operation>.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_binding_fault_ref_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_binding_fault_ref Binding Fault Reference
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_binding_fault_ref_base woden_binding_fault_ref_base_t;
+typedef struct woden_binding_fault_ref woden_binding_fault_ref_t;
+typedef struct woden_binding_fault_ref_ops woden_binding_fault_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_binding_fault_ref_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *binding_fault_ref,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *binding_fault_ref,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *binding_fault_ref,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *binding_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_interface_fault_ref) (
+            void *binding_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *binding_fault_ref,
+            const axis2_env_t *env);
+
+    /**************************************************************************
+     *                      Non-API implementation methods
+     **************************************************************************/
+    axis2_status_t (AXIS2_CALL *
+    set_interface_fault_ref_element)  (
+            void *binding_fault_ref,
+            const axis2_env_t *env,
+            void *fault_ref);
+
+    axis2_status_t (AXIS2_CALL *
+    set_interface_fault_ref)  (
+            void *binding_fault_ref,
+            const axis2_env_t *env,
+            void *fault_ref);
+
+};
+
+union woden_binding_fault_ref_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_binding_fault_ref_element_t binding_fault_ref_element;
+};
+
+struct woden_binding_fault_ref
+{
+    woden_binding_fault_ref_base_t base;
+    woden_binding_fault_ref_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_binding_fault_ref_element(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_nested_configurable(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_configurable(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_wsdl_obj(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_nested_element(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_wsdl_component(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_configurable_element(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_documentable_element(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_documentable(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_attr_extensible(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_fault_ref_t * AXIS2_CALL
+woden_binding_fault_ref_to_element_extensible(
+        void *binding_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_binding_fault_ref_resolve_methods(
+        woden_binding_fault_ref_t *binding_fault_ref,
+        const axis2_env_t *env,
+        woden_binding_fault_ref_t *binding_fault_ref_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_BINDING_FAULT_REF_FREE(binding_fault_ref, env) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->ops->free(binding_fault_ref, env))
+
+#define WODEN_BINDING_FAULT_REF_SUPER_OBJS(binding_fault_ref, env) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->ops->super_objs(binding_fault_ref, env))
+
+#define WODEN_BINDING_FAULT_REF_TYPE(binding_fault_ref, env) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->ops->type(binding_fault_ref, env))
+
+#define WODEN_BINDING_FAULT_REF_GET_BASE_IMPL(binding_fault_ref, env) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->ops->get_base_impl(binding_fault_ref, env))
+
+#define WODEN_BINDING_FAULT_REF_GET_INTERFACE_FAULT_REF(binding_fault_ref, env) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->\
+         get_interface_fault_ref(binding_fault_ref, env))
+
+#define WODEN_BINDING_FAULT_REF_TO_ELEMENT(binding_fault_ref, env) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->ops->\
+         to_element(binding_fault_ref, env))
+
+#define WODEN_BINDING_FAULT_REF_SET_INTERFACE_FAULT_REF_ELEMENT(binding_fault_ref, env, fault_ref) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->ops->\
+         set_interface_fault_ref_element(binding_fault_ref, env, fault_ref))
+
+#define WODEN_BINDING_FAULT_REF_SET_INTERFACE_FAULT_REF(binding_fault_ref, env, fault_ref) \
+      (((woden_binding_fault_ref_t *) binding_fault_ref)->ops->\
+         set_interface_fault_ref(binding_fault_ref, env, fault_ref))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_BINDING_FAULT_REF_H */

Added: webservices/axis2/trunk/c/woden/include/woden_binding_fault_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_binding_fault_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_binding_fault_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_binding_fault_ref_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,172 @@
+/*
+ * 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_BINDING_FAULT_REF_ELEMENT_H
+#define WODEN_BINDING_FAULT_REF_ELEMENT_H
+
+/**
+ * @file woden_binding_fault_ref_element.h
+ * @brief Axis2 Binding Fault Reference Element Binding
+ * This interface represents the &lt;infault&gt; and &lt;outfault&gt; 
+ * child elements of a WSDL binding &lt;operation&gt; 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_binding_fault_ref_element woden_binding_fault_ref_element_t;
+typedef struct woden_binding_fault_ref_element_ops woden_binding_fault_ref_element_ops_t;
+typedef union woden_binding_fault_ref_element_base woden_binding_fault_ref_element_base_t;
+
+/** @defgroup woden_binding_fault_ref_element Binding Fault Reference Element
+  * @ingroup axis2_binding
+  * @{
+  */
+
+struct woden_binding_fault_ref_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *binding_fault_ref_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *binding_fault_ref_element,
+            const axis2_env_t *env);
+
+    /**
+     * Set the 'ref' attribute to the specified QName.
+     * @param fault QName the QName identifying the associated Interface Fault Element. 
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_ref) (
+            void *binding_fault_ref_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *fault_qname);
+    
+    /**
+     * Get the QName specified in the 'ref' attribute.
+     * @return QName identifies the associated Interface Fault Element. 
+     */
+    axis2_qname_t *(AXIS2_CALL *
+    get_ref) (
+            void *binding_fault_ref_ele,
+            const axis2_env_t *env);
+    
+    /**
+     * Get the Interface Fault Reference Element associated with this Binding Fault Reference Element
+     * by the QName specified in the 'ref' attribute.
+     * @return Interface Fault Reference Element the associated interface fault reference. 
+     */
+    void *(AXIS2_CALL *
+    get_interface_fault_ref_element) (
+            void *binding_fault_ref_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_msg_label) (
+            void *binding_fault_ref_ele,
+            const axis2_env_t *env,
+            void *msg_label);
+
+    void *(AXIS2_CALL *
+    get_msg_label) (
+            void *binding_fault_ref_ele,
+            const axis2_env_t *env);
+     
+};
+
+union woden_binding_fault_ref_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_binding_fault_ref_element
+{
+    woden_binding_fault_ref_element_base_t base;
+    woden_binding_fault_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_binding_fault_ref_element_t * AXIS2_CALL
+woden_binding_fault_ref_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_binding_fault_ref_element_resolve_methods(
+        woden_binding_fault_ref_element_t *binding_fault_ref_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_BINDING_FAULT_REF_ELEMENT_FREE(binding_fault_ref_element, env) \
+      (((woden_binding_fault_ref_element_t *) binding_fault_ref_element)->ops->\
+         free (binding_fault_ref_element, env))
+
+#define WODEN_BINDING_FAULT_REF_ELEMENT_TYPE(binding_fault_ref_element, env) \
+      (((woden_binding_fault_ref_element_t *) binding_fault_ref_element)->ops->\
+         type (binding_fault_ref_element, env))
+
+#define WODEN_BINDING_FAULT_REF_ELEMENT_SET_REF(binding_fault_ref_element, env, fault_qname) \
+      (((woden_binding_fault_ref_element_t *) binding_fault_ref_element)->ops->\
+         set_ref (binding_fault_ref_element, env, fault_qname))
+
+#define WODEN_BINDING_FAULT_REF_ELEMENT_GET_REF(binding_fault_ref_element, env) \
+      (((woden_binding_fault_ref_element_t *) binding_fault_ref_element)->ops->\
+        get_ref  (binding_fault_ref_element, env))
+
+#define WODEN_BINDING_FAULT_REF_ELEMENT_GET_INTERFACE_FAULT_REF_ELEMENT(binding_fault_ref_element, env) \
+      (((woden_binding_fault_ref_element_t *) binding_fault_ref_element)->ops->\
+        get_interface_fault_ref_element  (binding_fault_ref_element, env))
+
+#define WODEN_BINDING_FAULT_REF_ELEMENT_SET_MSG_LABEL(binding_fault_ref_element, env, msg_label) \
+      (((woden_binding_fault_ref_element_t *) binding_fault_ref_element)->ops->\
+         set_msg_label (binding_fault_ref_element, env, msg_label))
+
+#define WODEN_BINDING_FAULT_REF_ELEMENT_GET_MSG_LABEL(binding_fault_ref_element, env) \
+      (((woden_binding_fault_ref_element_t *) binding_fault_ref_element)->ops->\
+         get_msg_label (binding_fault_ref_element, env))
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_BINDING_FAULT_REF_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,208 @@
+/*
+ * 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_BINDING_MSG_REF_H
+#define WODEN_BINDING_MSG_REF_H
+
+/**
+ * @file woden_binding_msg_ref.h
+ * @brief Axis2 Binding Message Reference Binding Message Reference
+ * This class represents the Binding Message Reference component of the 
+ * WSDL 2.0 Component model and the &lt;input&gt; and &lt;output&gt; 
+ * child elements of a WSDL binding &lt;operation&gt;. 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_binding_msg_ref_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_binding_msg_ref Binding Message Reference
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_binding_msg_ref_base woden_binding_msg_ref_base_t;
+typedef struct woden_binding_msg_ref woden_binding_msg_ref_t;
+typedef struct woden_binding_msg_ref_ops woden_binding_msg_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_binding_msg_ref_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *binding_msg_ref,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    to_binding_msg_ref_free) (void *binding_msg_ref,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *binding_msg_ref,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *binding_msg_ref,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *binding_msg_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_interface_msg_ref) (
+            void *binding_msg_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *binding_msg_ref,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_interface_msg_ref_element) (
+            void *binding_msg_ref,
+            const axis2_env_t *env,
+            void *int_msg_ref);
+
+};
+
+union woden_binding_msg_ref_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_binding_msg_ref_element_t binding_msg_ref_element;
+};
+
+struct woden_binding_msg_ref
+{
+    woden_binding_msg_ref_base_t base;
+    woden_binding_msg_ref_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_binding_msg_ref_element(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_nested_configurable(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_configurable(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_wsdl_obj(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_nested_element(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_wsdl_component(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_configurable_element(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_documentable_element(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_documentable(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_attr_extensible(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
+woden_binding_msg_ref_to_element_extensible(
+        void *binding_msg_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_binding_msg_ref_resolve_methods(
+        woden_binding_msg_ref_t *binding_msg_ref,
+        const axis2_env_t *env,
+        woden_binding_msg_ref_t *binding_msg_ref_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_BINDING_MSG_REF_FREE(binding_msg_ref, env) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->free(binding_msg_ref, env))
+
+#define WODEN_BINDING_MSG_REF_TO_BINDING_MSG_REF_FREE(binding_msg_ref, env) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->to_binding_msg_ref_free(binding_msg_ref, env))
+
+#define WODEN_BINDING_MSG_REF_SUPER_OBJS(binding_msg_ref, env) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->super_objs(binding_msg_ref, env))
+
+#define WODEN_BINDING_MSG_REF_TYPE(binding_msg_ref, env) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->type(binding_msg_ref, env))
+
+#define WODEN_BINDING_MSG_REF_GET_BASE_IMPL(binding_msg_ref, env) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->get_base_impl(binding_msg_ref, env))
+
+#define WODEN_BINDING_MSG_REF_GET_INTERFACE_MSG_REF(binding_msg_ref, env) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->\
+         get_interface_msg_ref(binding_msg_ref, env))
+
+#define WODEN_BINDING_MSG_REF_TO_ELEMENT(binding_msg_ref, env) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->\
+         to_element(binding_msg_ref, env))
+
+#define WODEN_BINDING_MSG_REF_SET_INTERFACE_MSG_REF_ELEMENT(binding_msg_ref, env, int_msg_ref) \
+      (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->\
+         set_interface_msg_ref_element(binding_msg_ref, env, int_msg_ref))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_BINDING_MSG_REF_H */

Added: webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_binding_msg_ref_element.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_BINDING_MSG_REF_ELEMENT_H
+#define WODEN_BINDING_MSG_REF_ELEMENT_H
+
+/**
+ * @file woden_binding_msg_ref_element.h
+ * @brief Axis2 Binding Msg Reference Element Binding
+ * This interface represents the &lt;input&gt; and &lt;output&gt; 
+ * child elements of a WSDL 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_binding_msg_ref_element woden_binding_msg_ref_element_t;
+typedef struct woden_binding_msg_ref_element_ops woden_binding_msg_ref_element_ops_t;
+typedef union woden_binding_msg_ref_element_base woden_binding_msg_ref_element_base_t;
+
+/** @defgroup woden_binding_msg_ref_element Binding Msg Reference Element
+  * @ingroup axis2_binding
+  * @{
+  */
+
+struct woden_binding_msg_ref_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *binding_msg_ref_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *binding_msg_ref_element,
+            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_binding_msg_ref_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_binding_msg_ref_element
+{
+    woden_binding_msg_ref_element_base_t base;
+    woden_binding_msg_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_binding_msg_ref_element_t * AXIS2_CALL
+woden_binding_msg_ref_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_binding_msg_ref_element_resolve_methods(
+        woden_binding_msg_ref_element_t *binding_msg_ref_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_BINDING_MSG_REF_ELEMENT_FREE(binding_msg_ref_element, env) \
+      (((woden_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+         free (binding_msg_ref_element, env))
+
+#define WODEN_BINDING_MSG_REF_ELEMENT_TYPE(binding_msg_ref_element, env) \
+      (((woden_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+         type (binding_msg_ref_element, env))
+
+#define WODEN_BINDING_MSG_REF_ELEMENT_SET_MSG_LABEL(binding_msg_ref_element, env, msg_label) \
+      (((woden_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+         set_msg_label (binding_msg_ref_element, env, msg_label))
+
+#define WODEN_BINDING_MSG_REF_ELEMENT_GET_MSG_LABEL(binding_msg_ref_element, env) \
+      (((woden_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+        get_msg_label  (binding_msg_ref_element, env))
+
+#define WODEN_BINDING_MSG_REF_ELEMENT_SET_DIRECTION(binding_msg_ref_element, env, dir) \
+      (((woden_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+         set_direction (binding_msg_ref_element, env, dir))
+
+#define WODEN_BINDING_MSG_REF_ELEMENT_GET_DIRECTION(binding_msg_ref_element, env) \
+      (((woden_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+         get_direction (binding_msg_ref_element, env))
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_BINDING_MSG_REF_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_binding_op.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_binding_op.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_binding_op.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_binding_op.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,226 @@
+/*
+ * 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_BINDING_OP_H
+#define WODEN_BINDING_OP_H
+
+/**
+ * @file woden_binding_op.h
+ * @brief Axis2 Binding Operation Binding Operation
+ * This class represents the Binding Operation component from the WSDL 2.0 Component Model 
+ * and the &lt;operation&gt; child element of the WSDL &lt;binding&gt; element.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_binding_op_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_binding_op Binding Operation
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_binding_op_base woden_binding_op_base_t;
+typedef struct woden_binding_op woden_binding_op_t;
+typedef struct woden_binding_op_ops woden_binding_op_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_binding_op_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *binding_op,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    to_binding_op_free) (void *binding_op,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *binding_op,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *binding_op,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *binding_op,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_interface_op) (
+            void *binding_op,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_binding_msg_refs) (
+            void *binding_op,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_binding_fault_refs) (
+            void *binding_op,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *binding_op,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_interface_op_element) (
+            void *binding_op,
+            const axis2_env_t *env,
+            void *int_op);
+
+};
+
+union woden_binding_op_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_binding_op_element_t binding_op_element;
+};
+
+struct woden_binding_op
+{
+    woden_binding_op_base_t base;
+    woden_binding_op_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_binding_op_element(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_nested_configurable(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_configurable(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_wsdl_obj(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_nested_element(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_wsdl_component(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_configurable_element(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_documentable_element(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_documentable(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_attr_extensible(
+        void *binding_op,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_binding_op_t * AXIS2_CALL
+woden_binding_op_to_element_extensible(
+        void *binding_op,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_binding_op_resolve_methods(
+        woden_binding_op_t *binding_op,
+        const axis2_env_t *env,
+        woden_binding_op_t *binding_op_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_BINDING_OP_FREE(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->ops->free(binding_op, env))
+
+#define WODEN_BINDING_OP_TO_BINDING_OP_FREE(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->ops->to_binding_op_free(binding_op, env))
+
+#define WODEN_BINDING_OP_SUPER_OBJS(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->ops->super_objs(binding_op, env))
+
+#define WODEN_BINDING_OP_TYPE(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->ops->type(binding_op, env))
+
+#define WODEN_BINDING_OP_GET_BASE_IMPL(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->ops->get_base_impl(binding_op, env))
+
+#define WODEN_BINDING_OP_GET_GET_INTERFACE_OP(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->\
+         get_interface_op(binding_op, env))
+
+#define WODEN_BINDING_OP_GET_BINDING_MSG_REFS(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->\
+         get_binding_msg_refs(binding_op, env))
+
+#define WODEN_BINDING_OP_GET_BINDING_FAULT_REFS(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->\
+         get_binding_fault_refs(binding_op, env))
+
+#define WODEN_BINDING_OP_TO_ELEMENT(binding_op, env) \
+      (((woden_binding_op_t *) binding_op)->ops->\
+         to_element(binding_op, env))
+
+#define WODEN_BINDING_OP_SET_INTERFACE_OP_ELEMENT(binding_op, env, int_op) \
+      (((woden_binding_op_t *) binding_op)->ops->\
+         set_interface_op_element(binding_op, env, int_op))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_BINDING_OP_H */

Added: webservices/axis2/trunk/c/woden/include/woden_binding_op_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_binding_op_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_binding_op_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_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_BINDING_OP_ELEMENT_H
+#define WODEN_BINDING_OP_ELEMENT_H
+
+/**
+ * @file woden_binding_op_element.h
+ * @brief Axis2 Binding Msg Reference Element Binding
+ * This interface represents the &lt;operation&gt; child element of a
+ * WSDL &lt;binding&gt; 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_binding_op_element woden_binding_op_element_t;
+typedef struct woden_binding_op_element_ops woden_binding_op_element_ops_t;
+typedef union woden_binding_op_element_base woden_binding_op_element_base_t;
+
+/** @defgroup woden_binding_op_element Binding Msg Reference Element
+  * @ingroup axis2_binding
+  * @{
+  */
+
+struct woden_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 'ref' 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_ref) (
+            void *iface_op_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_ref) (
+            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_binding_op_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_binding_op_element
+{
+    woden_binding_op_element_base_t base;
+    woden_binding_op_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_binding_op_element_t * AXIS2_CALL
+woden_binding_op_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_binding_op_element_resolve_methods(
+        woden_binding_op_element_t *binding_op_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_BINDING_OP_ELEMENT_FREE(binding_op_element, env) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         free (binding_op_element, env))
+
+#define WODEN_BINDING_OP_ELEMENT_TYPE(binding_op_element, env) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         type (binding_op_element, env))
+
+#define WODEN_BINDING_OP_ELEMENT_SET_REF(binding_op_element, env, qname) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         set_ref (binding_op_element, env, qname))
+
+#define WODEN_BINDING_OP_ELEMENT_GET_REF(binding_op_element, env) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+        get_ref  (binding_op_element, env))
+
+#define WODEN_BINDING_OP_ELEMENT_GET_INTERFACE_OP_ELEMENT(binding_op_element, env) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         get_interface_op_element (binding_op_element, env))
+
+#define WODEN_BINDING_OP_ELEMENT_ADD_BINDING_MSG_REF_ELEMENT(binding_op_element, env, msg_ref) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         add_binding_msg_ref_element (binding_op_element, env, msg_ref))
+
+#define WODEN_BINDING_OP_ELEMENT_REMOVE_MSG_REF_ELEMENT(binding_op_element, env, msg_ref) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         remove_msg_ref_element (binding_op_element, env, msg_ref))
+
+#define WODEN_BINDING_OP_ELEMENT_GET_BINDING_MSG_REF_ELEMENTS(binding_op_element, env) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         get_binding_msg_ref_elements (binding_op_element, env))
+
+#define WODEN_BINDING_OP_ELEMENT_ADD_BINDING_FAULT_REF_ELEMENT(binding_op_element, env, fault_ref) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         add_binding_fault_ref_element (binding_op_element, env, fault_ref))
+
+#define WODEN_BINDING_OP_ELEMENT_REMOVE_FAULT_REF_ELEMENT(binding_op_element, env, fault_ref) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         remove_fault_ref_element (binding_op_element, env, fault_ref))
+
+#define WODEN_BINDING_OP_ELEMENT_GET_BINDING_FAULT_REF_ELEMENTS(binding_op_element, env) \
+      (((woden_binding_op_element_t *) binding_op_element)->ops->\
+         get_binding_fault_ref_elements (binding_op_element, env))
+
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_BINDING_OP_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_bool_attr.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_bool_attr.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_bool_attr.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_bool_attr.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,160 @@
+/*
+ * 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_BOOL_ATTR_H
+#define WODEN_BOOL_ATTR_H
+
+/**
+ * @file woden_bool_attr.h
+ * @brief Axis2 Boolean Attribute Interface
+ *          This class represents XML attribute information items of type 
+ *          xs:boolean. If the attribute value is not "true" or "false" 
+ *          the Boolean content will be initialized to "false" by default, 
+ *          but the isValid() method will return "false".
+ */
+
+#include <woden_xml_attr.h>
+#include <woden.h>
+
+/** @defgroup woden_bool_attr Boolean Attribute
+  * @ingroup woden
+  * @{
+  */
+
+typedef struct woden_bool_attr woden_bool_attr_t;
+typedef struct woden_bool_attr_ops woden_bool_attr_ops_t;
+struct axiom_element;
+struct axiom_node;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_bool_attr_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *bool_attr,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_bool_attr_free) (
+            void *bool_attr,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *bool_attr,
+            const axis2_env_t *env);
+
+    /**
+     * @return the base implementation class
+     */
+    woden_xml_attr_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *bool_attr,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  BooleanAttr interface declared methods 
+     * ************************************************************/
+
+    axis2_bool_t (AXIS2_CALL *
+    get_boolean) (
+            void *bool_attr,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  Non-API implementation methods 
+     * ************************************************************/
+
+    /**
+     * Convert a string of type xs:boolean to a axis2_bool_t.
+     * An empty string or a null argument will initialize the Boolean to false.
+     * Any conversion error will be reported and will initialize the Boolean to false.
+     * If the attrValue does not match the Boolean value the Attr is marked invalid.
+     */
+    void *(AXIS2_CALL *
+    convert) (
+            void *bool_attr,
+            const axis2_env_t *env,
+            struct axiom_element *owner_el,
+            struct axiom_node *owner_node,
+            axis2_char_t *attr_value);
+
+  
+};
+
+struct woden_bool_attr
+{
+    woden_xml_attr_t base;
+    woden_bool_attr_ops_t *ops;
+};
+
+/*
+ * TODO This constructor is not used for extension attributes, but may be useful if
+ * parsing of native WSDL attributes is changed to use the axis2_xml_attr interface.
+ */
+AXIS2_EXTERN woden_bool_attr_t * AXIS2_CALL
+woden_bool_attr_create(
+        const axis2_env_t *env,
+        struct axiom_element *owner_el,
+        struct axiom_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
+
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_bool_attr_resolve_methods(
+        woden_bool_attr_t *bool_attr,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_BOOL_ATTR_FREE(bool_attr, env) \
+      (((woden_bool_attr_t *) bool_attr)->ops->free(bool_attr, env))
+
+#define WODEN_BOOL_ATTR_TO_BOOL_ATTR_FREE(bool_attr, env) \
+      (((woden_bool_attr_t *) bool_attr)->ops->\
+         to_bool_attr_free(bool_attr, env))
+
+#define WODEN_BOOL_ATTR_TYPE(bool_attr, env) \
+      (((woden_bool_attr_t *) bool_attr)->ops->\
+         type(bool_attr, env))
+
+#define WODEN_BOOL_ATTR_GET_BASE_IMPL(bool_attr, env) \
+      (((woden_bool_attr_t *) bool_attr)->ops->\
+         get_base_impl(bool_attr, env))
+
+#define WODEN_BOOL_ATTR_GET_BOOL(bool_attr, env) \
+      (((woden_bool_attr_t *) bool_attr)->ops->\
+         get_boolean(bool_attr, env))
+
+#define WODEN_BOOL_ATTR_CONVERT(bool_attr, env) \
+      (((woden_bool_attr_t *) bool_attr)->ops->\
+         convert(bool_attr, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_BOOL_ATTR_H */

Added: webservices/axis2/trunk/c/woden/include/woden_component_exts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_component_exts.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_component_exts.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_component_exts.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,156 @@
+/*
+ * 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_COMPONENT_EXTS_H
+#define WODEN_COMPONENT_EXTS_H
+
+/**
+ * @file woden_component_exts.h
+ * @brief Axis2 Component Extensions Interface
+ * This interface represents a group of properties that extend a <code>wsdl_component</code>.
+ * These properties share the same namespace and it is different to the WSDL 2.0 namespace.
+ * The XML representation of these properties are the elements and attributes
+ * from outside the WSDL 2.0 namespace that extend a WSDL element.
+ * For example, the elements and attributes from the SOAP namespace that extend the 
+ * WSDL &lt;binding&gt; element are represented by this interface as extension
+ * properties of the <code>binding</code> component. 
+ * <p>
+ * This interface provides a common point of reference to a WSDL component's extension
+ * properties that belong to a particular namespace. 
+ * The interface does not define any behaviour specific to the individual properties.
+ * Woden implementations that need to support WSDL extensions from a particular namespace
+ * should implement this interface and add support specific to those extensions.
+ * <p>
+ * For example, Woden implements this interface to support the SOAP and HTTP binding
+ * extensions defined in the W3C WSDL 2.0 specification.
+ * 
+ */
+
+#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>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_component_exts woden_component_exts_t;
+typedef struct woden_component_exts_ops woden_component_exts_ops_t;
+struct woden_wsdl_element;
+
+    
+/**
+ * Namespace URIs for extensions defined by WSDL 2.0 Specification.
+ */
+#define WODEN_URI_NS_SOAP "http://www.w3.org/2006/01/wsdl/soap"
+#define WODEN_URI_NS_HTTP "http://www.w3.org/2006/01/wsdl/http"
+    
+/** @defgroup woden_component_exts Component Extensions
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_component_exts_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *component_exts,
+            const axis2_env_t *env);
+      
+    axis2_status_t (AXIS2_CALL *
+    to_component_exts_free) (void *component_exts,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *component_exts,
+            const axis2_env_t *env);
+    
+    axis2_uri_t *(AXIS2_CALL *
+    get_namespace) (
+            void *component_exts,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    init) (
+            void *component_exts,
+            const axis2_env_t *env,
+            struct woden_wsdl_element *parent_el,
+            axis2_uri_t *namespc);
+
+    void *(AXIS2_CALL *
+    get_parent_element) (
+           void *component_exts,
+            const axis2_env_t *env);
+};
+
+struct woden_component_exts
+{
+    woden_component_exts_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_component_exts_t * AXIS2_CALL
+woden_component_exts_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_component_exts_resolve_methods(
+        woden_component_exts_t *component_exts,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+
+#define WODEN_COMPONENT_EXTS_FREE(component_exts, env) \
+      (((woden_component_exts_t *) component_exts)->ops->\
+         free (component_exts, env))
+
+#define WODEN_COMPONENT_EXTS_TO_COMPONENT_EXTS_FREE(component_exts, env) \
+      (((woden_component_exts_t *) component_exts)->ops->\
+         to_component_exts_free (component_exts, env))
+
+#define WODEN_COMPONENT_EXTS_TYPE(component_exts, env) \
+      (((woden_component_exts_t *) component_exts)->ops->\
+         type (component_exts, env))
+
+#define WODEN_COMPONENT_EXTS_INIT(component_exts, env, parent_el, namespc) \
+      (((woden_component_exts_t *) component_exts)->ops->\
+         init(component_exts, env, \
+            parent_el, namespc))
+
+#define WODEN_COMPONENT_EXTS_GET_NAMESPACE(component_exts, env) \
+      (((woden_component_exts_t *) component_exts)->ops->\
+         get_namespace(component_exts, env))
+
+#define WODEN_COMPONENT_EXTS_GET_PARENT_ELEMENT(component_exts, env) \
+      (((woden_component_exts_t *) component_exts)->ops->\
+         get_parent_element(component_exts, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_COMPONENT_EXTS_H */

Added: webservices/axis2/trunk/c/woden/include/woden_configurable.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_configurable.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_configurable.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_configurable.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,132 @@
+/*
+ * 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_CONFIGURABLE_H
+#define WODEN_CONFIGURABLE_H
+
+/**
+ * @file woden_configurable.h
+ * @brief Axis2 Configurable 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_configurable_element.h>
+#include <woden_configurable_component.h>
+#include <woden_documentable.h>
+
+/** @defgroup woden_configurable Configurable
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_configurable_base woden_configurable_base_t;
+typedef struct woden_configurable woden_configurable_t;
+typedef struct woden_configurable_ops woden_configurable_ops_t;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_configurable_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *configurable,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    to_configurable_free) (
+            void *configurable,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *configurable,
+            const axis2_env_t *env);
+    
+    /**
+     * @return the base implementation class
+     */
+    struct woden_documentable *(AXIS2_CALL *
+    get_base_impl) (
+            void *configurable,
+            const axis2_env_t *env);
+
+
+};
+
+union woden_configurable_base
+{
+    woden_documentable_t documentable;
+    woden_configurable_element_t configurable_element;
+    woden_configurable_component_t configurable_component;
+};
+
+struct woden_configurable
+{
+    woden_configurable_base_t base;
+    woden_configurable_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_configurable_t * AXIS2_CALL
+woden_configurable_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN woden_configurable_t * AXIS2_CALL
+woden_configurable_to_configurable_element(
+        void *configurable,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_configurable_resolve_methods(
+        woden_configurable_t *configurable,
+        const axis2_env_t *env,
+        woden_configurable_t *configurable_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_CONFIGURABLE_FREE(configurable, env) \
+      (((woden_configurable_t *) configurable)->ops->\
+         free(configurable, env))
+
+#define WODEN_CONFIGURABLE_TO_CONFIGURABLE_FREE(configurable, env) \
+      (((woden_configurable_t *) configurable)->ops->\
+         to_configurable_free(configurable, env))
+
+#define WODEN_CONFIGURABLE_SUPER_OBJS(configurable, env) \
+      (((woden_configurable_t *) configurable)->ops->\
+         super_objs(configurable, env))
+
+#define WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env) \
+      (((woden_configurable_t *) configurable)->ops->\
+         get_base_impl(configurable, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_CONFIGURABLE_H */

Added: webservices/axis2/trunk/c/woden/include/woden_configurable_component.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_configurable_component.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_configurable_component.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_configurable_component.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,125 @@
+/*
+ * 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_CONFIGURABLE_COMPONENT_H
+#define WODEN_CONFIGURABLE_COMPONENT_H
+
+/**
+ * @file woden_configurable_component.h
+ * @brief Axis2 Configurable Component Interface
+ * All components directly or indirectly extend this interface, so it provides 
+ * a common term of reference for all components.
+ *
+ */
+
+#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_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_wsdl_component.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_configurable_component woden_configurable_component_t;
+typedef struct woden_configurable_component_ops woden_configurable_component_ops_t;
+
+/** @defgroup woden_configurable_component Configurable Component
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_configurable_component_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *configurable_component,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_configurable_component_free) (
+            void *configurable_component,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *configurable_component,
+            const axis2_env_t *env);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_features) (
+            void *configurable_component,
+            const axis2_env_t *env);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_properties) (
+            void *configurable_component,
+            const axis2_env_t *env);
+
+};
+
+struct woden_configurable_component
+{
+    woden_wsdl_component_t wsdl_component;
+    woden_configurable_component_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_configurable_component_resolve_methods(
+        woden_configurable_component_t *configurable_component,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_CONFIGURABLE_COMPONENT_FREE(configurable_component, env) \
+      (((woden_configurable_component_t *) configurable_component)->ops->\
+         free (configurable_component, env))
+
+#define WODEN_CONFIGURABLE_COMPONENT_TO_CONFIGURABLE_COMPONENT_FREE(configurable_component, env) \
+      (((woden_configurable_component_t *) configurable_component)->ops->\
+         to_configurable_component_free (configurable_component, env))
+
+#define WODEN_CONFIGURABLE_COMPONENT_TYPE(configurable_component, env) \
+      (((woden_configurable_component_t *) configurable_component)->ops->\
+         type (configurable_component, env))
+
+#define WODEN_CONFIGURABLE_COMPONENT_GET_FEATURES(\
+        configurable_component, env) \
+      (((woden_configurable_component_t *) configurable_component)->ops->\
+         get_features(configurable_component, env))
+
+#define WODEN_CONFIGURABLE_COMPONENT_GET_PROPERTIES(\
+        configurable_component, env) \
+      (((woden_configurable_component_t *) configurable_component)->ops->\
+         get_properties(configurable_component, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_CONFIGURABLE_COMPONENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_configurable_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_configurable_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_configurable_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_configurable_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,150 @@
+/*
+ * 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_CONFIGURABLE_ELEMENT_H
+#define WODEN_CONFIGURABLE_ELEMENT_H
+
+/**
+ * @file woden_configurable_element.h
+ * @brief Axis2 Configurable Element Interface
+ * Interfaces for elements which can have &lt;feature&gt; and &lt;property&gt;
+ * child elements will extend this interface. That is, &lt;types&gt;, 
+ * &lt;interface&gt; and its child elements, 
+ * &lt;binding&gt; and its child elements, and
+ * &lt;service&gt; and its child elements.
+ * <p>
+ * The WSDL elements which are not configurable are
+ * &lt;description&gt;, &lt;feature&gt;, &lt;property&gt;, 
+ * &lt;import&gt;, &lt;include&gt; and &lt;documentation&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 <woden.h>
+#include <woden_wsdl_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_configurable_element 
+        woden_configurable_element_t;
+typedef struct woden_configurable_element_ops 
+        woden_configurable_element_ops_t;
+struct woden_feature_element;
+struct woden_property_element;
+
+/** @defgroup woden_configurable_element Configurable Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_configurable_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *conf_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *conf_el,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    add_feature_element) (
+            void *conf_el,
+            const axis2_env_t *env,
+            struct woden_feature_element *feature);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_feature_elements) (
+            void *conf_el,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    add_property_element) (
+            void *conf_el,
+            const axis2_env_t *env,
+            struct woden_property_element *feature);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_property_elements) (
+            void *conf_el,
+            const axis2_env_t *env);
+
+
+};
+
+struct woden_configurable_element
+{
+    woden_wsdl_element_t wsdl_element;
+    woden_configurable_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods*****************************/
+axis2_status_t AXIS2_CALL
+woden_configurable_element_resolve_methods(
+        woden_configurable_element_t *configurable_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_CONFIGURABLE_ELEMENT_FREE(conf_el, env) \
+      (((woden_configurable_element_t *) conf_el)->ops->\
+         free (conf_el, env))
+
+#define WODEN_CONFIGURABLE_ELEMENT_TYPE(conf_el, env) \
+      (((woden_configurable_element_t *) conf_el)->ops->\
+         type (conf_el, env))
+
+#define WODEN_CONFIGURABLE_ELEMENT_ADD_FEATURE_ELEMENT(conf_el, env, \
+        feature) \
+      (((woden_configurable_element_t *) conf_el)->ops->\
+         add_feature_element(conf_el, env, feature))
+
+#define WODEN_CONFIGURABLE_ELEMENT_GET_FEATURE_ELEMENTS(conf_el, env) \
+      (((woden_configurable_element_t *) conf_el)->ops->\
+         get_feature_elements(conf_el, env))
+
+#define WODEN_CONFIGURABLE_ELEMENT_ADD_PROPERTY_ELEMENT(conf_el, env, \
+        property) \
+      (((woden_configurable_element_t *) conf_el)->ops->\
+         add_property_element(conf_el, env, property))
+
+#define WODEN_CONFIGURABLE_ELEMENT_GET_PROPERTY_ELEMENTS(conf_el, env) \
+      (((woden_configurable_element_t *) conf_el)->ops->\
+         get_property_elements(conf_el, env))
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_CONFIGURABLE_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_desc.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_desc.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_desc.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_desc.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,318 @@
+/*
+ * 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_H
+#define WODEN_DESC_H
+
+/**
+ * @file woden_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_desc_element.h>
+#include <woden_wsdl_obj.h>
+#include <woden_documentable.h>
+#include <woden_wsdl_component.h>
+
+/**
+ * @defgroup woden Woden/C
+ * @{
+ * @} 
+ */
+
+
+/** @defgroup woden_desc Description
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_desc_base woden_desc_base_t;
+typedef struct woden_desc woden_desc_t;
+typedef struct woden_desc_ops woden_desc_ops_t;
+struct woden_documentation_element;
+struct woden_wsdl_component;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_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_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);
+
+    axis2_array_list_t *(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_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_desc_base
+{
+    woden_documentable_t documentable;
+    woden_desc_element_t desc_element;
+    woden_wsdl_component_t wsdl_component;
+};
+
+struct woden_desc
+{
+    woden_desc_base_t base;
+    woden_desc_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_to_desc_element(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_to_documentable_element(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_to_documentable(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_to_wsdl_obj(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_to_wsdl_component(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_to_attr_extensible(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_desc_t * AXIS2_CALL
+woden_desc_to_element_extensible(
+        void *desc,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_desc_resolve_methods(
+        woden_desc_t *desc,
+        const axis2_env_t *env,
+        woden_desc_t *desc_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_DESC_FREE(desc, env) \
+      (((woden_desc_t *) desc)->ops->free(desc, env))
+
+#define WODEN_DESC_TO_DESC_FREE(desc, env) \
+      (((woden_desc_t *) desc)->ops->to_desc_free(desc, env))
+
+#define WODEN_DESC_SUPER_OBJS(desc, env) \
+      (((woden_desc_t *) desc)->ops->super_objs(desc, env))
+
+#define WODEN_DESC_TYPE(desc, env) \
+      (((woden_desc_t *) desc)->ops->type(desc, env))
+
+#define WODEN_DESC_GET_BASE_IMPL(desc, env) \
+      (((woden_desc_t *) desc)->ops->get_base_impl(desc, env))
+
+#define WODEN_DESC_GET_INTERFACES(desc, env) \
+      (((woden_desc_t *) desc)->ops->\
+        get_interfaces (desc, env))
+
+#define WODEN_DESC_GET_BINDINGS(desc, env) \
+      (((woden_desc_t *) desc)->ops->\
+         get_bindings(desc, env))
+
+#define WODEN_DESC_GET_SVCS(desc, env) \
+      (((woden_desc_t *) desc)->ops->\
+         get_svcs(desc, env))
+
+#define WODEN_DESC_GET_ELEMENT_DECLS(desc, env) \
+      (((woden_desc_t *) desc)->ops->\
+         get_element_decls(desc, env))
+
+#define WODEN_DESC_GET_ELEMENT_DECL(desc, env, qname) \
+      (((woden_desc_t *) desc)->ops->\
+        get_element_decl (desc, env, qname))
+
+#define WODEN_DESC_GET_TYPE_DEFS(desc, env) \
+      (((woden_desc_t *) desc)->ops->\
+        get_type_defs (desc, env))
+
+#define WODEN_DESC_GET_TYPE_DEF(desc, env, qname) \
+      (((woden_desc_t *) desc)->ops->\
+        get_type_def (desc, env, qname))
+
+#define WODEN_DESC_TO_ELEMENT(desc, env) \
+      (((woden_desc_t *) desc)->ops->\
+        to_element (desc, env))
+
+#define WODEN_DESC_ADD_TO_ALL_INTERFACES(desc, env, interface) \
+      (((woden_desc_t *) desc)->ops->\
+        add_to_all_interfaces (desc, env, interface))
+
+#define WODEN_DESC_ADD_TO_ALL_BINDINGS(desc, env, binding) \
+      (((woden_desc_t *) desc)->ops->\
+        add_to_all_bindings (desc, env, binding))
+
+#define WODEN_DESC_ADD_TO_ALL_SVCS(desc, env, svc) \
+      (((woden_desc_t *) desc)->ops->\
+        add_to_all_svcs (desc, env, svc))
+
+#define WODEN_DESC_ADD_TO_ALL_ELEMENT_DECLS(desc, env, element_decl) \
+      (((woden_desc_t *) desc)->ops->\
+        add_to_all_element_decls (desc, env, element_decl))
+
+#define WODEN_DESC_ADD_TO_ALL_TYPE_DEFS(desc, env, type_def) \
+      (((woden_desc_t *) desc)->ops->\
+        add_to_all_type_defs (desc, env, type_def))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_DESC_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