You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/05/15 05:32:56 UTC
svn commit: r406516 [1/8] - in
/webservices/axis2/trunk/c/modules/wsdl/woden: include/woden/
include/woden/wsdl20/ include/woden/wsdl20/extensions/
include/woden/wsdl20/xml/ src/wsdl20/ src/wsdl20/extensions/ src/wsdl20/xml/
Author: damitha
Date: Sun May 14 20:32:53 2006
New Revision: 406516
URL: http://svn.apache.org/viewcvs?rev=406516&view=rev
Log:
New files added
Added:
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable_component.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault_ref.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_msg_ref.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_op.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_nested_configurable.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_property.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_type_def.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_fault_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_fault_ref_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_msg_ref_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_interface_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_interface_fault_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_interface_fault_ref_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_interface_msg_ref_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_interface_op_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/binding.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/configurable.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/configurable_component.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/interface.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/interface_fault.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/interface_fault_ref.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/interface_msg_ref.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/interface_op.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/nested_configurable.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/property.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/type_def.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/binding_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/binding_fault_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/binding_fault_ref_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/binding_msg_ref_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/interface_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/interface_fault_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/interface_fault_ref_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/interface_msg_ref_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/interface_op_element.c
Modified:
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden_wsdl_obj.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentable.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentation.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_feature.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_types.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_attr_extensible.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_element_extensible.h
webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_wsdl_element.h
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/Makefile.am
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/documentable.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/documentation.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/extensions/attr_extensible.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/extensions/element_extensible.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/feature.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/types.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/wsdl_element.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/wsdl_obj.c
webservices/axis2/trunk/c/modules/wsdl/woden/src/wsdl20/xml/Makefile.am
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden.h Sun May 14 20:32:53 2006
@@ -60,8 +60,15 @@
AXIS2_WODEN_ATTR_EXTENSIBLE,
AXIS2_WODEN_ELEMENT_EXTENSIBLE,
AXIS2_WODEN_FEATURE,
+ AXIS2_WODEN_PROPERTY,
AXIS2_WODEN_TYPES,
- AXIS2_WODEN_DOCUMENTATION
+ AXIS2_WODEN_DOCUMENTATION,
+ AXIS2_WODEN_TYPE_DEF,
+ AXIS2_WODEN_INTERFACE,
+ AXIS2_WODEN_INTERFACE_FAULT,
+ AXIS2_WODEN_INTERFACE_FAULT_REF,
+ AXIS2_WODEN_INTERFACE_MSG_REF,
+ AXIS2_WODEN_INTERFACE_OP
} axis2_woden_obj_types_t;
/** @} */
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden_wsdl_obj.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden_wsdl_obj.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden_wsdl_obj.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/axis2_woden_wsdl_obj.h Sun May 14 20:32:53 2006
@@ -60,6 +60,11 @@
void *wsdl_obj,
axis2_env_t **env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *wsdl_obj,
+ axis2_env_t **env);
+
axis2_woden_obj_types_t (AXIS2_CALL *
type) (
void *wsdl_obj,
@@ -113,11 +118,15 @@
axis2_woden_wsdl_obj_resolve_methods(
axis2_woden_wsdl_obj_t *wsdl_obj,
axis2_env_t **env,
+ axis2_woden_wsdl_obj_t *wsdl_obj_impl,
axis2_hash_t *methods);
/************************End of Woden C Internal Methods***********************/
#define AXIS2_WODEN_WSDL_OBJ_FREE(wsdl_obj, env) \
(((axis2_woden_wsdl_obj_t *) wsdl_obj)->ops->free(wsdl_obj, env))
+
+#define AXIS2_WODEN_WSDL_OBJ_SUPER_OBJS(wsdl_obj, env) \
+ (((axis2_woden_wsdl_obj_t *) wsdl_obj)->ops->super_objs(wsdl_obj, env))
#define AXIS2_WODEN_WSDL_OBJ_TYPE(wsdl_obj, env) \
(((axis2_woden_wsdl_obj_t *) wsdl_obj)->ops->type(wsdl_obj, env))
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable.h Sun May 14 20:32:53 2006
@@ -0,0 +1,126 @@
+/*
+ * 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 AXIS2_WODEN_CONFIGURABLE_H
+#define AXIS2_WODEN_CONFIGURABLE_H
+
+/**
+ * @file axis2_woden_configurable.h
+ * @brief Axis2 Configurable Interface
+ * An abstract superclass for WSDL 2.0 elements which can have <documentation>
+ * child elements. That is, all WSDL 2.0 elements except the <documentation>
+ * element itself. Defines accessor methods for manipulating DocumentationElements.
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_configurable_element.h>
+#include <woden/axis2_woden_wsdl_obj.h>
+
+/** @defgroup axis2_woden_configurable Configurable
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_configurable_base axis2_woden_configurable_base_t;
+typedef struct axis2_woden_configurable axis2_woden_configurable_t;
+typedef struct axis2_woden_configurable_ops axis2_woden_configurable_ops_t;
+struct axis2_woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_configurable_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *configurable,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_configurable_free) (
+ void *configurable,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *configurable,
+ axis2_env_t **env);
+
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_documentable *(AXIS2_CALL *
+ get_base_impl) (
+ void *configurable,
+ axis2_env_t **env);
+
+
+};
+
+union axis2_woden_configurable_base
+{
+ axis2_woden_wsdl_obj_t wsdl_obj;
+ axis2_woden_configurable_element_t configurable_elem;
+};
+
+struct axis2_woden_configurable
+{
+ axis2_woden_configurable_base_t base;
+ axis2_woden_configurable_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_configurable_t *)
+axis2_woden_configurable_create(
+ axis2_env_t **env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_configurable_resolve_methods(
+ axis2_woden_configurable_t *configurable,
+ axis2_env_t **env,
+ axis2_woden_configurable_t *configurable_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+
+#define AXIS2_WODEN_CONFIGURABLE_FREE(configurable, env) \
+ (((axis2_woden_configurable_t *) configurable)->ops->\
+ free(configurable, env))
+
+#define AXIS2_WODEN_CONFIGURABLE_TO_CONFIGURABLE_FREE(configurable, env) \
+ (((axis2_woden_configurable_t *) configurable)->ops->\
+ to_configurable_free(configurable, env))
+
+#define AXIS2_WODEN_CONFIGURABLE_SUPER_OBJS(configurable, env) \
+ (((axis2_woden_configurable_t *) configurable)->ops->\
+ super_objs(configurable, env))
+
+#define AXIS2_WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env) \
+ (((axis2_woden_configurable_t *) configurable)->ops->\
+ get_base_impl(configurable, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_CONFIGURABLE_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable_component.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable_component.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable_component.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_configurable_component.h Sun May 14 20:32:53 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 AXIS2_WODEN_CONFIGURABLE_COMPONENT_H
+#define AXIS2_WODEN_CONFIGURABLE_COMPONENT_H
+
+/**
+ * @file axis2_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_const.h>
+#include <axis2_hash.h>
+#include <axis2_url.h>
+#include <axis2_array_list.h>
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/axis2_woden_wsdl_component.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_woden_configurable_component axis2_woden_configurable_component_t;
+typedef struct axis2_woden_configurable_component_ops axis2_woden_configurable_component_ops_t;
+
+/** @defgroup axis2_woden_configurable_component Configurable Component
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+struct axis2_woden_configurable_component_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *configurable_component,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_configurable_component_free) (
+ void *configurable_component,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *configurable_component,
+ axis2_env_t **env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_features) (
+ void *configurable_component,
+ axis2_env_t **env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_properties) (
+ void *configurable_component,
+ axis2_env_t **env);
+
+};
+
+struct axis2_woden_configurable_component
+{
+ axis2_woden_wsdl_component_t wsdl_component;
+ axis2_woden_configurable_component_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+axis2_woden_configurable_component_resolve_methods(
+ axis2_woden_configurable_component_t *configurable_component,
+ axis2_env_t **env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_CONFIGURABLE_COMPONENT_FREE(configurable_component, env) \
+ (((axis2_woden_configurable_component_t *) configurable_component)->ops->\
+ free (configurable_component, env))
+
+#define AXIS2_WODEN_CONFIGURABLE_COMPONENT_TO_CONFIGURABLE_COMPONENT_FREE(configurable_component, env) \
+ (((axis2_woden_configurable_component_t *) configurable_component)->ops->\
+ to_configurable_component_free (configurable_component, env))
+
+#define AXIS2_WODEN_CONFIGURABLE_COMPONENT_TYPE(configurable_component, env) \
+ (((axis2_woden_configurable_component_t *) configurable_component)->ops->\
+ type (configurable_component, env))
+
+#define AXIS2_WODEN_CONFIGURABLE_COMPONENT_GET_FEATURES(\
+ configurable_component, env) \
+ (((axis2_woden_configurable_component_t *) configurable_component)->ops->\
+ get_features(configurable_component, env))
+
+#define AXIS2_WODEN_CONFIGURABLE_COMPONENT_GET_PROPERTIES(\
+ configurable_component, env) \
+ (((axis2_woden_configurable_component_t *) configurable_component)->ops->\
+ get_properties(configurable_component, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_CONFIGURABLE_COMPONENT_H */
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentable.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentable.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentable.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentable.h Sun May 14 20:32:53 2006
@@ -55,9 +55,14 @@
free) (
void *documentable,
axis2_env_t **env);
-
+
axis2_status_t (AXIS2_CALL *
- type) (
+ to_documentable_free) (
+ void *documentable,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
void *documentable,
axis2_env_t **env);
@@ -104,6 +109,7 @@
axis2_woden_documentable_resolve_methods(
axis2_woden_documentable_t *documentable,
axis2_env_t **env,
+ axis2_woden_documentable_t *documentable_impl,
axis2_hash_t *methods);
/************************End of Woden C Internal Methods***********************/
@@ -112,9 +118,13 @@
(((axis2_woden_documentable_t *) documentable)->ops->\
free(documentable, env))
-#define AXIS2_WODEN_DOCUMENTABLE_TYPE(documentable, env) \
+#define AXIS2_WODEN_DOCUMENTABLE_TO_DOCUMENTABLE_FREE(documentable, env) \
+ (((axis2_woden_documentable_t *) documentable)->ops->\
+ to_documentable_free(documentable, env))
+
+#define AXIS2_WODEN_DOCUMENTABLE_SUPER_OBJS(documentable, env) \
(((axis2_woden_documentable_t *) documentable)->ops->\
- type(documentable, env))
+ super_objs(documentable, env))
#define AXIS2_WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env) \
(((axis2_woden_documentable_t *) documentable)->ops->\
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentation.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentation.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentation.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_documentation.h Sun May 14 20:32:53 2006
@@ -61,6 +61,10 @@
to_documentation_free) (void *documentation,
axis2_env_t **env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *documentation,
+ axis2_env_t **env);
+
axis2_woden_obj_types_t (AXIS2_CALL *
type) (void *documentation,
axis2_env_t **env);
@@ -109,6 +113,7 @@
axis2_woden_documentation_resolve_methods(
axis2_woden_documentation_t *documentation,
axis2_env_t **env,
+ axis2_woden_documentation_t *documentation_impl,
axis2_hash_t *methods);
/************************End of Woden C Internal Methods***********************/
@@ -116,11 +121,16 @@
#define AXIS2_WODEN_DOCUMENTATION_FREE(documentation, env) \
(((axis2_woden_documentation_t *) documentation)->ops->free(documentation, env))
+#define AXIS2_WODEN_DOCUMENTATION_SUPER_OBJS(documentation, env) \
+ (((axis2_woden_documentation_t *) documentation)->ops->\
+ super_objs(documentation, env))
+
#define AXIS2_WODEN_DOCUMENTATION_TYPE(documentation, env) \
(((axis2_woden_documentation_t *) documentation)->ops->type(documentation, env))
#define AXIS2_WODEN_DOCUMENTATION_GET_BASE_IMPL(documentation, env) \
- (((axis2_woden_documentation_t *) documentation)->ops->get_base_impl(documentation, env))
+ (((axis2_woden_documentation_t *) documentation)->ops->\
+ get_base_impl(documentation, env))
/** @} */
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_feature.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_feature.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_feature.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_feature.h Sun May 14 20:32:53 2006
@@ -63,6 +63,10 @@
to_feature_free) (void *feature,
axis2_env_t **env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *feature,
+ axis2_env_t **env);
+
axis2_woden_obj_types_t (AXIS2_CALL *
type) (void *feature,
axis2_env_t **env);
@@ -165,6 +169,7 @@
axis2_woden_feature_resolve_methods(
axis2_woden_feature_t *feature,
axis2_env_t **env,
+ axis2_woden_feature_t *feature_impl,
axis2_hash_t *methods);
/************************End of Woden C Internal Methods***********************/
@@ -173,6 +178,9 @@
#define AXIS2_WODEN_FEATURE_TO_FEATURE_FREE(feature, env) \
(((axis2_woden_feature_t *) feature)->ops->to_feature_free(feature, env))
+
+#define AXIS2_WODEN_FEATURE_SUPER_OBJS(feature, env) \
+ (((axis2_woden_feature_t *) feature)->ops->super_objs(feature, env))
#define AXIS2_WODEN_FEATURE_TYPE(feature, env) \
(((axis2_woden_feature_t *) feature)->ops->type(feature, env))
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface.h Sun May 14 20:32:53 2006
@@ -0,0 +1,200 @@
+/*
+ * 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 AXIS2_WODEN_INTERFACE_H
+#define AXIS2_WODEN_INTERFACE_H
+
+/**
+ * @file axis2_woden_interface.h
+ * @brief Axis2 Interface Interface
+ * Represents the Interface component from the WSDL 2.0 Component model.
+ * This component provides a read-only, abstract view of the WSDL
+ * interface, including any interface information defined within
+ * imported or included WSDL documents.
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_interface_element.h>
+#include <woden/wsdl20/axis2_woden_configurable.h>
+
+/** @defgroup axis2_woden_interface Interface
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_interface_base axis2_woden_interface_base_t;
+typedef struct axis2_woden_interface axis2_woden_interface_t;
+typedef struct axis2_woden_interface_ops axis2_woden_interface_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_interface_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *interface,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_interface_free) (void *interface,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *interface,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (void *interface,
+ axis2_env_t **env);
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *interface,
+ axis2_env_t **env);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *interface,
+ axis2_env_t **env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_extended_interfaces) (
+ void *interface,
+ axis2_env_t **env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_faults) (
+ void *interface,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_interface_fault) (
+ void *interface,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_ops) (
+ void *interface,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *interface,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_interface_base
+{
+ axis2_woden_configurable_t configurable;
+ axis2_woden_interface_element_t interface_element;
+};
+
+struct axis2_woden_interface
+{
+ axis2_woden_interface_base_t base;
+ axis2_woden_interface_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_interface_t *)
+axis2_woden_interface_create(
+ axis2_env_t **env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_DECLARE(axis2_woden_interface_t *)
+axis2_woden_interface_to_interface_element(
+ void *interface,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_t *)
+axis2_woden_interface_to_configurable_element(
+ void *interface,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_t *)
+axis2_woden_interface_to_documentable_element(
+ void *interface,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_t *)
+axis2_woden_interface_to_configurable(
+ void *interface,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_interface_resolve_methods(
+ axis2_woden_interface_t *interface,
+ axis2_env_t **env,
+ axis2_woden_interface_t *interface_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_INTERFACE_FREE(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->free(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_TO_INTERFACE_FREE(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->to_interface_free(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_SUPER_OBJS(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->super_objs(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_TYPE(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->type(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_GET_BASE_IMPL(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->get_base_impl(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_GET_QNAME(interface, env) \
+ (((axis2_woden_interface_t *) interface)->\
+ get_qname(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_GET_EXTENDED_INTERFACES(interface, env) \
+ (((axis2_woden_interface_t *) interface)->\
+ get_extended_interfaces(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_GET_GET_INTERFACE_FAULTS(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->\
+ get_interface_faults(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_GET_GET_INTERFACE_FAULT(interface, env, qname) \
+ (((axis2_woden_interface_t *) interface)->ops->\
+ get_interface_fault(interface, env, qname))
+
+#define AXIS2_WODEN_INTERFACE_GET_GET_INTERFACE_OPS(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->\
+ get_interface_ops(interface, env))
+
+#define AXIS2_WODEN_INTERFACE_TO_ELEMENT(interface, env) \
+ (((axis2_woden_interface_t *) interface)->ops->\
+ to_element(interface, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_INTERFACE_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault.h Sun May 14 20:32:53 2006
@@ -0,0 +1,166 @@
+/*
+ * 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 AXIS2_WODEN_INTERFACE_FAULT_H
+#define AXIS2_WODEN_INTERFACE_FAULT_H
+
+/**
+ * @file axis2_woden_interface_fault.h
+ * @brief Axis2 Interface Fault Interface Fault
+ * This class represents the InterfaceFault component from the WSDL 2.0 Component
+ * Model and the <fault> child element of the <interface> element.
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_interface_fault_element.h>
+#include <woden/wsdl20/axis2_woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup axis2_woden_interface_fault Interface Fault
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_interface_fault_base axis2_woden_interface_fault_base_t;
+typedef struct axis2_woden_interface_fault axis2_woden_interface_fault_t;
+typedef struct axis2_woden_interface_fault_ops axis2_woden_interface_fault_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_interface_fault_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *interface_fault,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_interface_fault_free) (void *interface_fault,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *interface_fault,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (void *interface_fault,
+ axis2_env_t **env);
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_nested_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *interface_fault,
+ axis2_env_t **env);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *interface_fault,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_element_declaration) (
+ void *interface_fault,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *interface_fault,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_interface_fault_base
+{
+ axis2_woden_nested_configurable_t nested_configurable;
+ axis2_woden_interface_fault_element_t interface_fault_element;
+};
+
+struct axis2_woden_interface_fault
+{
+ axis2_woden_interface_fault_base_t base;
+ axis2_woden_interface_fault_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_interface_fault_t *)
+axis2_woden_interface_fault_create(
+ axis2_env_t **env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_DECLARE(axis2_woden_interface_fault_t *)
+axis2_woden_interface_fault_to_interface_fault_element(
+ void *interface_fault,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_fault_t *)
+axis2_woden_interface_fault_to_nested_configurable(
+ void *interface_fault,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_fault_t *)
+axis2_woden_interface_fault_to_configurable(
+ void *interface_fault,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_interface_fault_resolve_methods(
+ axis2_woden_interface_fault_t *interface_fault,
+ axis2_env_t **env,
+ axis2_woden_interface_fault_t *interface_fault_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_INTERFACE_FAULT_FREE(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->ops->free(interface_fault, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_TO_INTERFACE_FAULT_FREE(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->ops->to_interface_fault_free(interface_fault, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_SUPER_OBJS(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->ops->super_objs(interface_fault, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_TYPE(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->ops->type(interface_fault, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_GET_BASE_IMPL(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->ops->get_base_impl(interface_fault, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_GET_QNAME(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->\
+ get_qname(interface_fault, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_GET_ELEMENT_DECLARATION(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->\
+ get_element_declaration(interface_fault, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_TO_ELEMENT(interface_fault, env) \
+ (((axis2_woden_interface_fault_t *) interface_fault)->ops->\
+ to_element(interface_fault, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_INTERFACE_FAULT_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault_ref.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault_ref.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault_ref.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_fault_ref.h Sun May 14 20:32:53 2006
@@ -0,0 +1,176 @@
+/*
+ * 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 AXIS2_WODEN_INTERFACE_FAULT_REF_H
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_H
+
+/**
+ * @file axis2_woden_interface_fault_ref.h
+ * @brief Axis2 Interface Fault Reference Interface Fault Reference
+ * This class represents the Interface Fault Reference component of the
+ * WSDL 2.0 Component model and the <infault> and <outfault>
+ * child elements of an interface <operation>.
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_interface_fault_ref_element.h>
+#include <woden/wsdl20/axis2_woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup axis2_woden_interface_fault_ref Interface Fault Reference
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_interface_fault_ref_base axis2_woden_interface_fault_ref_base_t;
+typedef struct axis2_woden_interface_fault_ref axis2_woden_interface_fault_ref_t;
+typedef struct axis2_woden_interface_fault_ref_ops axis2_woden_interface_fault_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_interface_fault_ref_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *interface_fault_ref,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_interface_fault_ref_free) (void *interface_fault_ref,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *interface_fault_ref,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (void *interface_fault_ref,
+ axis2_env_t **env);
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_nested_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_interface_fault) (
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_msg_label) (
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_direction) (
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_interface_fault_ref_base
+{
+ axis2_woden_nested_configurable_t nested_configurable;
+ axis2_woden_interface_fault_ref_element_t interface_fault_ref_element;
+};
+
+struct axis2_woden_interface_fault_ref
+{
+ axis2_woden_interface_fault_ref_base_t base;
+ axis2_woden_interface_fault_ref_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_interface_fault_ref_t *)
+axis2_woden_interface_fault_ref_create(
+ axis2_env_t **env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_DECLARE(axis2_woden_interface_fault_ref_t *)
+axis2_woden_interface_fault_ref_to_interface_fault_ref_element(
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_fault_ref_t *)
+axis2_woden_interface_fault_ref_to_nested_configurable(
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_fault_ref_t *)
+axis2_woden_interface_fault_ref_to_configurable(
+ void *interface_fault_ref,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_interface_fault_ref_resolve_methods(
+ axis2_woden_interface_fault_ref_t *interface_fault_ref,
+ axis2_env_t **env,
+ axis2_woden_interface_fault_ref_t *interface_fault_ref_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_FREE(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->ops->free(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_TO_INTERFACE_FAULT_REF_FREE(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->ops->to_interface_fault_ref_free(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_SUPER_OBJS(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->ops->super_objs(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_TYPE(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->ops->type(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_GET_BASE_IMPL(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->ops->get_base_impl(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_GET_INTERFACE_FAULT(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->\
+ get_interface_fault(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_GET_MSG_LABEL(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->\
+ get_msg_label(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_GET_DIRECTION(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->\
+ get_direction(interface_fault_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_FAULT_REF_TO_ELEMENT(interface_fault_ref, env) \
+ (((axis2_woden_interface_fault_ref_t *) interface_fault_ref)->ops->\
+ to_element(interface_fault_ref, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_INTERFACE_FAULT_REF_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_msg_ref.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_msg_ref.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_msg_ref.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_msg_ref.h Sun May 14 20:32:53 2006
@@ -0,0 +1,189 @@
+/*
+ * 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 AXIS2_WODEN_INTERFACE_MSG_REF_H
+#define AXIS2_WODEN_INTERFACE_MSG_REF_H
+
+/**
+ * @file axis2_woden_interface_msg_ref.h
+ * @brief Axis2 Interface Message Reference Interface Message Reference
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_interface_msg_ref_element.h>
+#include <woden/wsdl20/axis2_woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup axis2_woden_interface_msg_ref Interface Message Reference
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_interface_msg_ref_base axis2_woden_interface_msg_ref_base_t;
+typedef struct axis2_woden_interface_msg_ref axis2_woden_interface_msg_ref_t;
+typedef struct axis2_woden_interface_msg_ref_ops axis2_woden_interface_msg_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_interface_msg_ref_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *interface_msg_ref,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_interface_msg_ref_free) (void *interface_msg_ref,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *interface_msg_ref,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (void *interface_msg_ref,
+ axis2_env_t **env);
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_nested_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_msg_label) (
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_direction) (
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+ /**
+ * Indicates the type of message content.#any means any single element,
+ * #none means no message content, #other means non-XML extension type system
+ * or #element means XML Schema global element definition.
+ *
+ * @return string representing the type of message content
+ */
+ axis2_char_t *(AXIS2_CALL *
+ get_msg_content_model) (
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_element_declaration) (
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_interface_msg_ref_base
+{
+ axis2_woden_nested_configurable_t nested_configurable;
+ axis2_woden_interface_msg_ref_element_t interface_msg_ref_element;
+};
+
+struct axis2_woden_interface_msg_ref
+{
+ axis2_woden_interface_msg_ref_base_t base;
+ axis2_woden_interface_msg_ref_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_interface_msg_ref_t *)
+axis2_woden_interface_msg_ref_create(
+ axis2_env_t **env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_DECLARE(axis2_woden_interface_msg_ref_t *)
+axis2_woden_interface_msg_ref_to_interface_msg_ref_element(
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_msg_ref_t *)
+axis2_woden_interface_msg_ref_to_nested_configurable(
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_msg_ref_t *)
+axis2_woden_interface_msg_ref_to_configurable(
+ void *interface_msg_ref,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_interface_msg_ref_resolve_methods(
+ axis2_woden_interface_msg_ref_t *interface_msg_ref,
+ axis2_env_t **env,
+ axis2_woden_interface_msg_ref_t *interface_msg_ref_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_FREE(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->ops->free(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_TO_INTERFACE_MSG_REF_FREE(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->ops->to_interface_msg_ref_free(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_SUPER_OBJS(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->ops->super_objs(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_TYPE(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->ops->type(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_GET_BASE_IMPL(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->ops->get_base_impl(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_GET_MESSAGE_LABEL(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->\
+ get_msg_label(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_GET_DIRECTION(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->\
+ get_direction(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_GET_MSG_CONTENT_MODEL(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->\
+ get_msg_content_model(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_GET_ELEMENT_DECLARATION(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->\
+ get_element_declaration(interface_msg_ref, env))
+
+#define AXIS2_WODEN_INTERFACE_MSG_REF_TO_ELEMENT(interface_msg_ref, env) \
+ (((axis2_woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ to_element(interface_msg_ref, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_INTERFACE_MSG_REF_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_op.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_op.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_op.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_interface_op.h Sun May 14 20:32:53 2006
@@ -0,0 +1,191 @@
+/*
+ * 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 AXIS2_WODEN_INTERFACE_OP_H
+#define AXIS2_WODEN_INTERFACE_OP_H
+
+/**
+ * @file axis2_woden_interface_op.h
+ * @brief Axis2 Interface Operation Interface Operation
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_interface_op_element.h>
+#include <woden/wsdl20/axis2_woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup axis2_woden_interface_op Interface Operation
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_interface_op_base axis2_woden_interface_op_base_t;
+typedef struct axis2_woden_interface_op axis2_woden_interface_op_t;
+typedef struct axis2_woden_interface_op_ops axis2_woden_interface_op_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_interface_op_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *interface_op,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_interface_op_free) (void *interface_op,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *interface_op,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (void *interface_op,
+ axis2_env_t **env);
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_nested_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *interface_op,
+ axis2_env_t **env);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *interface_op,
+ axis2_env_t **env);
+
+ axis2_url_t *(AXIS2_CALL *
+ get_msg_exchange_pattern) (
+ void *interface_op,
+ axis2_env_t **env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_msg_refs) (
+ void *interface_op,
+ axis2_env_t **env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_fault_refs) (
+ void *interface_op,
+ axis2_env_t **env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_style) (
+ void *interface_op,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *interface_op,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_interface_op_base
+{
+ axis2_woden_nested_configurable_t nested_configurable;
+ axis2_woden_interface_op_element_t interface_op_element;
+};
+
+struct axis2_woden_interface_op
+{
+ axis2_woden_interface_op_base_t base;
+ axis2_woden_interface_op_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_interface_op_t *)
+axis2_woden_interface_op_create(
+ axis2_env_t **env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_DECLARE(axis2_woden_interface_op_t *)
+axis2_woden_interface_op_to_interface_op_element(
+ void *interface_op,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_op_t *)
+axis2_woden_interface_op_to_nested_configurable(
+ void *interface_op,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_interface_op_t *)
+axis2_woden_interface_op_to_configurable(
+ void *interface_op,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_interface_op_resolve_methods(
+ axis2_woden_interface_op_t *interface_op,
+ axis2_env_t **env,
+ axis2_woden_interface_op_t *interface_op_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_INTERFACE_OP_FREE(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->ops->free(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_TO_INTERFACE_OP_FREE(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->ops->to_interface_op_free(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_SUPER_OBJS(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->ops->super_objs(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_TYPE(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->ops->type(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_GET_BASE_IMPL(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->ops->get_base_impl(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_GET_QNAME(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->\
+ get_qname(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_GET_MSG_EXCHANGE_PATTERN(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->\
+ get_msg_exchange_pattern(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_GET_INTERFACE_MSG_REFS(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->\
+ get_interface_msg_refs(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_GET_INTERFACE_FAULT_REFS(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->\
+ get_interface_fault_refs(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_GET_STYLE(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->\
+ get_style(interface_op, env))
+
+#define AXIS2_WODEN_INTERFACE_OP_TO_ELEMENT(interface_op, env) \
+ (((axis2_woden_interface_op_t *) interface_op)->ops->\
+ to_element(interface_op, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_INTERFACE_OP_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_nested_configurable.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_nested_configurable.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_nested_configurable.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_nested_configurable.h Sun May 14 20:32:53 2006
@@ -0,0 +1,127 @@
+/*
+ * 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 AXIS2_WODEN_NESTED_CONFIGURABLE_H
+#define AXIS2_WODEN_NESTED_CONFIGURABLE_H
+
+/**
+ * @file axis2_woden_nested_configurable.h
+ * @brief Axis2 Nested Configurable Interface
+ * This abstract superclass implements support for accessing or
+ * setting the 'parent' of a nested, configurable WSDL component.
+ * All such classes will directly or indirectly extend this abstract
+ * class.
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/axis2_woden_nested_component.h>
+#include <woden/wsdl20/xml/axis2_woden_nested_element.h>
+#include <woden/wsdl20/axis2_woden_configurable.h>
+
+/** @defgroup axis2_woden_nested_configurable Nested Configurable
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_nested_configurable_base axis2_woden_nested_configurable_base_t;
+typedef struct axis2_woden_nested_configurable axis2_woden_nested_configurable_t;
+typedef struct axis2_woden_nested_configurable_ops axis2_woden_nested_configurable_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_nested_configurable_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *nested_configurable,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_nested_configurable_free) (
+ void *nested_configurable,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *nested_configurable,
+ axis2_env_t **env);
+
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *nested_configurable,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_nested_configurable_base
+{
+ axis2_woden_configurable_t configurable;
+ axis2_woden_nested_element_t nested_element;
+ axis2_woden_nested_component_t nested_component;
+};
+
+struct axis2_woden_nested_configurable
+{
+ axis2_woden_nested_configurable_base_t base;
+ axis2_woden_nested_configurable_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_nested_configurable_t *)
+axis2_woden_nested_configurable_create(
+ axis2_env_t **env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_nested_configurable_resolve_methods(
+ axis2_woden_nested_configurable_t *nested_configurable,
+ axis2_env_t **env,
+ axis2_woden_nested_configurable_t *nested_configurable_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+
+#define AXIS2_WODEN_NESTED_CONFIGURABLE_FREE(nested_configurable, env) \
+ (((axis2_woden_nested_configurable_t *) nested_configurable)->ops->\
+ free(nested_configurable, env))
+
+#define AXIS2_WODEN_NESTED_CONFIGURABLE_TO_NESTED_CONFIGURABLE_FREE(nested_configurable, env) \
+ (((axis2_woden_nested_configurable_t *) nested_configurable)->ops->\
+ to_nested_configurable_free(nested_configurable, env))
+
+#define AXIS2_WODEN_NESTED_CONFIGURABLE_SUPER_OBJS(nested_configurable, env) \
+ (((axis2_woden_nested_configurable_t *) nested_configurable)->ops->\
+ super_objs(nested_configurable, env))
+
+#define AXIS2_WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_configurable, env) \
+ (((axis2_woden_nested_configurable_t *) nested_configurable)->ops->\
+ get_base_impl(nested_configurable, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_NESTED_CONFIGURABLE_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_property.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_property.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_property.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_property.h Sun May 14 20:32:53 2006
@@ -0,0 +1,220 @@
+/*
+ * 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 AXIS2_WODEN_PROPERTY_H
+#define AXIS2_WODEN_PROPERTY_H
+
+/**
+ * @file axis2_woden_property.h
+ * @brief Axis2 Property Interface
+ * An abstract superclass for WSDL 2.0 elements which can have <documentation>
+ * child elements. That is, all WSDL 2.0 elements except the <documentation>
+ * element itself. Defines accessor methods for manipulating DocumentationElements.
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_property_element.h>
+#include <woden/axis2_woden_wsdl_obj.h>
+#include <woden/wsdl20/axis2_woden_documentable.h>
+#include <woden/wsdl20/axis2_woden_nested_component.h>
+
+/** @defgroup axis2_woden_property Property
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_property_base axis2_woden_property_base_t;
+typedef struct axis2_woden_property axis2_woden_property_t;
+typedef struct axis2_woden_property_ops axis2_woden_property_ops_t;
+struct axis2_woden_documentation_element;
+struct axis2_woden_wsdl_component;
+struct axis2_woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_property_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *property,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_property_free) (void *property,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *property,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (void *property,
+ axis2_env_t **env);
+ /**
+ * @return the base implementation class
+ */
+ struct axis2_woden_documentable *(AXIS2_CALL *
+ get_base_impl) (
+ void *property,
+ axis2_env_t **env);
+
+ axis2_url_t *(AXIS2_CALL *
+ get_ref) (
+ void *property,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_value_constraint) (
+ void *property,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_value) (
+ void *property,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ get_parent) (
+ void *property,
+ axis2_env_t **env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *property,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_property_base
+{
+ axis2_woden_documentable_t documentable;
+ axis2_woden_property_element_t property_element;
+ axis2_woden_nested_component_t nested_component;
+};
+
+struct axis2_woden_property
+{
+ axis2_woden_property_base_t base;
+ axis2_woden_property_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_create(
+ axis2_env_t **env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_property_element(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_nested_element(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_documentable_element(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_documentable(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_wsdl_obj(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_nested_component(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_wsdl_component(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_element_extensible(
+ void *property,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_property_t *)
+axis2_woden_property_to_attr_extensible(
+ void *property,
+ axis2_env_t **env);
+
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_property_resolve_methods(
+ axis2_woden_property_t *property,
+ axis2_env_t **env,
+ axis2_woden_property_t *property_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_PROPERTY_FREE(property, env) \
+ (((axis2_woden_property_t *) property)->ops->free(property, env))
+
+#define AXIS2_WODEN_PROPERTY_TO_PROPERTY_FREE(property, env) \
+ (((axis2_woden_property_t *) property)->ops->to_property_free(property, env))
+
+#define AXIS2_WODEN_PROPERTY_SUPER_OBJS(property, env) \
+ (((axis2_woden_property_t *) property)->ops->super_objs(property, env))
+
+#define AXIS2_WODEN_PROPERTY_TYPE(property, env) \
+ (((axis2_woden_property_t *) property)->ops->type(property, env))
+
+#define AXIS2_WODEN_PROPERTY_GET_BASE_IMPL(property, env) \
+ (((axis2_woden_property_t *) property)->ops->get_base_impl(property, env))
+
+#define AXIS2_WODEN_PROPERTY_GET_REF(property, env) \
+ (((axis2_woden_property_t *) property)->\
+ get_ref(property, env))
+
+#define AXIS2_WODEN_PROPERTY_GET_VALUE_CONSTRAINT(property, env) \
+ (((axis2_woden_property_t *) property)->\
+ get_value_constraint(property, env))
+
+#define AXIS2_WODEN_PROPERTY_GET_VALUE(property, env) \
+ (((axis2_woden_property_t *) property)->\
+ get_value(property, env))
+
+#define AXIS2_WODEN_PROPERTY_GET_PARENT(property, env) \
+ (((axis2_woden_property_t *) property)->ops->\
+ get_parent(property, env))
+
+#define AXIS2_WODEN_PROPERTY_TO_ELEMENT(property, env) \
+ (((axis2_woden_property_t *) property)->ops->\
+ to_element(property, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_PROPERTY_H */
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_type_def.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_type_def.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_type_def.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_type_def.h Sun May 14 20:32:53 2006
@@ -0,0 +1,210 @@
+/*
+ * 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 AXIS2_WODEN_TYPE_DEF_H
+#define AXIS2_WODEN_TYPE_DEF_H
+
+/**
+ * @file axis2_woden_type_def.h
+ * @brief Axis2 Type Definition Interface
+ * This class implements support for parsing, creating and manipulating a
+ * WSDL 2.0 <wsdl:type_def> XML element.
+ * The <wsdl:type_def> element may contain mixed content, but this
+ * class does not attempt to understand that content. Instead it just wraps
+ * the <wsdl:type_def> element's content model as a void *.
+ *
+ */
+
+#include <woden/axis2_woden.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_url.h>
+
+/** @defgroup axis2_woden_type_def Type Definition
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+typedef union axis2_woden_type_def_base axis2_woden_type_def_base_t;
+typedef struct axis2_woden_type_def axis2_woden_type_def_t;
+typedef struct axis2_woden_type_def_ops axis2_woden_type_def_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_woden_type_def_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *type_def,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_type_def_free) (void *type_def,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *type_def,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (void *type_def,
+ axis2_env_t **env);
+ /**
+ * @return the base implementation class
+ */
+ void *(AXIS2_CALL *
+ get_base_impl) (
+ void *type_def,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_qname) (
+ void *type_def,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *type_def,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_system) (
+ void *type_def,
+ axis2_env_t **env,
+ axis2_url_t *type_system_uri);
+
+ axis2_url_t *(AXIS2_CALL *
+ get_system) (
+ void *type_def,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_content_model) (
+ void *type_def,
+ axis2_env_t **env,
+ axis2_char_t *content_model);
+
+ axis2_char_t *(AXIS2_CALL *
+ get_content_model) (
+ void *type_def,
+ axis2_env_t **env);
+
+
+ axis2_status_t (AXIS2_CALL *
+ set_content) (
+ void *type_def,
+ axis2_env_t **env,
+ void *type_def_content);
+
+ void *(AXIS2_CALL *
+ get_content) (
+ void *type_def,
+ axis2_env_t **env);
+
+};
+
+struct axis2_woden_type_def
+{
+ axis2_woden_type_def_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_type_def_t *)
+axis2_woden_type_def_create(
+ axis2_env_t **env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_DECLARE(axis2_woden_type_def_t *)
+axis2_woden_type_def_to_type_def_element(
+ void *type_def,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_type_def_t *)
+axis2_woden_type_def_to_attr_extensible(
+ void *type_def,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_woden_type_def_t *)
+axis2_woden_type_def_to_element_extensible(
+ void *type_def,
+ axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_type_def_resolve_methods(
+ axis2_woden_type_def_t *type_def,
+ axis2_env_t **env,
+ axis2_woden_type_def_t *type_def_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+
+#define AXIS2_WODEN_TYPE_DEF_FREE(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->free(type_def, env))
+
+#define AXIS2_WODEN_TYPE_DEF_SUPER_OBJS(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ super_objs(type_def, env))
+
+#define AXIS2_WODEN_TYPE_DEF_TYPE(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->type(type_def, env))
+
+#define AXIS2_WODEN_TYPE_DEF_GET_BASE_IMPL(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ get_base_impl(type_def, env))
+
+#define AXIS2_WODEN_TYPE_DEF_SET_QNAME(type_def, env, qname) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ set_qname(type_def, env, qname))
+
+#define AXIS2_WODEN_TYPE_DEF_GET_QNAME(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ get_qname(type_def, env))
+
+#define AXIS2_WODEN_TYPE_DEF_SET_SYSTEM(type_def, env, type_system_uri) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ set_system(type_def, env, type_system_uri))
+
+#define AXIS2_WODEN_TYPE_DEF_GET_SYSTEM(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ get_system(type_def, env))
+
+#define AXIS2_WODEN_TYPE_DEF_SET_CONTENT_MODEL(type_def, env, content_model) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ set_content_model(type_def, env, content_model))
+
+#define AXIS2_WODEN_TYPE_DEF_GET_CONTENT_MODEL(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ get_content_model(type_def, env))
+
+#define AXIS2_WODEN_TYPE_DEF_SET_CONTENT(type_def, env, type_def_content) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ set_content(type_def, env, type_def_content))
+
+#define AXIS2_WODEN_TYPE_DEF_GET_CONTENT(type_def, env) \
+ (((axis2_woden_type_def_t *) type_def)->ops->\
+ get_content(type_def, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_TYPE_DEF_H */
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_types.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_types.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_types.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/axis2_woden_types.h Sun May 14 20:32:53 2006
@@ -70,6 +70,10 @@
to_types_free) (void *types,
axis2_env_t **env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *types,
+ axis2_env_t **env);
+
axis2_woden_obj_types_t (AXIS2_CALL *
type) (void *types,
axis2_env_t **env);
@@ -248,6 +252,7 @@
axis2_woden_types_resolve_methods(
axis2_woden_types_t *types,
axis2_env_t **env,
+ axis2_woden_types_t *types_impl,
axis2_hash_t *methods);
/************************End of Woden C Internal Methods***********************/
@@ -256,6 +261,9 @@
#define AXIS2_WODEN_TYPES_TO_TYPES_FREE(types, env) \
(((axis2_woden_types_t *) types)->ops->to_types_free(types, env))
+
+#define AXIS2_WODEN_TYPES_SUPER_OBJS(types, env) \
+ (((axis2_woden_types_t *) types)->ops->super_objs(types, env))
#define AXIS2_WODEN_TYPES_TYPE(types, env) \
(((axis2_woden_types_t *) types)->ops->type(types, env))
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_attr_extensible.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_attr_extensible.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_attr_extensible.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_attr_extensible.h Sun May 14 20:32:53 2006
@@ -65,6 +65,11 @@
void *attr_extensible,
axis2_env_t **env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *attr_extensible,
+ axis2_env_t **env);
+
axis2_woden_obj_types_t (AXIS2_CALL *
type) (
void *attr_extensible,
@@ -119,6 +124,7 @@
axis2_woden_attr_extensible_resolve_methods(
axis2_woden_attr_extensible_t *extensible,
axis2_env_t **env,
+ axis2_woden_attr_extensible_t *extensible_impl,
axis2_hash_t *methods);
#define AXIS2_WODEN_ATTR_EXTENSIBLE_FREE(extensible, env) \
@@ -128,6 +134,10 @@
#define AXIS2_WODEN_ATTR_EXTENSIBLE_TO_ATTR_EXTENSIBLE_FREE(extensible, env) \
(((axis2_woden_attr_extensible_t *) extensible)->ops->\
to_attr_extensible_free (extensible, env))
+
+#define AXIS2_WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env) \
+ (((axis2_woden_attr_extensible_t *) extensible)->ops->\
+ super_objs (extensible, env))
#define AXIS2_WODEN_ATTR_EXTENSIBLE_TYPE(extensible, env) \
(((axis2_woden_attr_extensible_t *) extensible)->ops->\
Modified: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_element_extensible.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_element_extensible.h?rev=406516&r1=406515&r2=406516&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_element_extensible.h (original)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/extensions/axis2_woden_element_extensible.h Sun May 14 20:32:53 2006
@@ -67,6 +67,12 @@
element_extensible,
axis2_env_t **env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *
+ element_extensible,
+ axis2_env_t **env);
+
axis2_woden_obj_types_t (AXIS2_CALL *
type) (
void *element_extensible,
@@ -119,6 +125,7 @@
axis2_woden_element_extensible_resolve_methods(
axis2_woden_element_extensible_t *extensible,
axis2_env_t **env,
+ axis2_woden_element_extensible_t *extensible_impl,
axis2_hash_t *methods);
#define AXIS2_WODEN_ELEMENT_EXTENSIBLE_FREE(extensible, env) \
@@ -129,6 +136,10 @@
env) \
(((axis2_woden_element_extensible_t *) extensible)->ops->\
to_element_extensible_free (extensible, env))
+
+#define AXIS2_WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env) \
+ (((axis2_woden_element_extensible_t *) extensible)->ops->\
+ super_objs (extensible, env))
#define AXIS2_WODEN_ELEMENT_EXTENSIBLE_TYPE(extensible, env) \
(((axis2_woden_element_extensible_t *) extensible)->ops->\
Added: webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_element.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_element.h?rev=406516&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_element.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/woden/include/woden/wsdl20/xml/axis2_woden_binding_element.h Sun May 14 20:32:53 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 AXIS2_WODEN_BINDING_ELEMENT_H
+#define AXIS2_WODEN_BINDING_ELEMENT_H
+
+/**
+ * @file axis2_woden_binding_element.h
+ * @brief Axis2 Binding Element Binding
+ * This interface represents a WSDL <binding> element.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_const.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_url.h>
+#include <axis2_array_list.h>
+#include <woden/axis2_woden.h>
+#include <woden/wsdl20/xml/axis2_woden_documentable_element.h>
+#include <woden/wsdl20/xml/axis2_woden_configurable_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_woden_binding_element axis2_woden_binding_element_t;
+typedef struct axis2_woden_binding_element_ops axis2_woden_binding_element_ops_t;
+typedef union axis2_woden_binding_element_base axis2_woden_binding_element_base_t;
+
+/** @defgroup axis2_woden_binding_element Binding Element
+ * @ingroup axis2_binding
+ * @{
+ */
+
+struct axis2_woden_binding_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_binding_element_free) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ axis2_woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ /**
+ * Set the QName that represents the <tt>name</tt> attribute of the
+ * <binding> element.
+ *
+ * @param qname the QName that identifies the binding.
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_qname) (
+ void *binding_element,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ /**
+ * Set the QName that represents the <tt>interface</tt> attribute of the
+ * <binding> element. This associates the binding with an interface.
+ *
+ * @param qname the QName that identifies interface for this binding
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_interface_qname) (
+ void *binding_element,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_interface_qname) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ /**
+ * Get the Interface Element identified by the QName specified in the
+ * <tt>interface</tt> attribute of this <binding> element.
+ *
+ * @return Interface Element the interface associated with this binding
+ */
+ void *(AXIS2_CALL *
+ get_interface_element) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ /**
+ * Set the URI that represents the <tt>type</tt> attribute of the
+ * <binding> element. This indicates the type of concrete binding
+ * extensions contained within this binding.
+ *
+ * @param URI the URI indicating the concrete binding
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_type) (
+ void *binding_element,
+ axis2_env_t **env,
+ axis2_url_t *type);
+
+ axis2_url_t *(AXIS2_CALL *
+ get_type) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ add_binding_fault_element) (
+ void *binding_element,
+ axis2_env_t **env,
+ void *fault);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_binding_fault_elements) (
+ void *binding_element,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ add_binding_op_element) (
+ void *binding_element,
+ axis2_env_t **env,
+ void *op);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_binding_op_elements) (
+ void *binding_element,
+ axis2_env_t **env);
+
+};
+
+union axis2_woden_binding_element_base
+{
+ axis2_woden_documentable_element_t documentable_element;
+ axis2_woden_configurable_element_t configurable_element;
+};
+
+struct axis2_woden_binding_element
+{
+ axis2_woden_binding_element_base_t base;
+ axis2_woden_binding_element_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_woden_binding_element_t *)
+axis2_woden_binding_element_create(
+ axis2_env_t **env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_DECLARE(axis2_status_t)
+axis2_woden_binding_element_resolve_methods(
+ axis2_woden_binding_element_t *binding_element,
+ axis2_env_t **env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define AXIS2_WODEN_BINDING_ELEMENT_FREE(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ free (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_TO_BINDING_ELEMENT_FREE(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ to_binding_element_free (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_SUPER_OBJS(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ super_objs (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_TYPE(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ type (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_SET_QNAME(binding_element, env, qname) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ set_qname (binding_element, env, qname))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_GET_QNAME(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ get_qname (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_SET_INTERFACE_QNAME(binding_element, env, qname) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ set_interface_qname (binding_element, env, qname))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_GET_INTERFACE_QNAME(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ get_interface_qname (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_GET_INTERFACE_ELEMENT(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ get_interface_element (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_SET_TYPE(binding_element, env, type) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ set_type (binding_element, env, type))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_GET_TYPE(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ get_type (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_ADD_BINDING_FAULT_ELEMENT(binding_element, env, fault) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ add_binding_fault_element (binding_element, env, fault))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_GET_BINDING_FAULT_ELEMENTS(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ get_binding_fault_elements (binding_element, env))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_ADD_BINDING_OP_ELEMENT(binding_element, env, op) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ add_binding_op_element (binding_element, env, op))
+
+#define AXIS2_WODEN_BINDING_ELEMENT_GET_BINDING_OP_ELEMENTS(binding_element, env) \
+ (((axis2_woden_binding_element_t *) binding_element)->ops->\
+ get_binding_op_elements (binding_element, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WODEN_BINDING_ELEMENT_H */