You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2006/07/06 08:02:31 UTC
svn commit: r419452 [7/46] - in /webservices/axis2/trunk/c/woden: ./
include/ samples/ samples/wsdl10/ src/ src/builder/ src/builder/wsdl10/
src/schema/ src/types/ src/util/ src/wsdl/ src/wsdl/enumeration/
src/wsdl10/ src/wsdl10/enumeration/ src/wsdl10...
Added: webservices/axis2/trunk/c/woden/include/woden_soap_module.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_module.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_module.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_module.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,170 @@
+/*
+ * 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_SOAP_MODULE_H
+#define WODEN_SOAP_MODULE_H
+
+/**
+ * @file woden_soap_module.h
+ * @brief Axis2 Soap Module Interface
+ * This interface represents the <wsoap:header> extension element that
+ * can appear within a Binding Fault or Binding Message Reference.
+ *
+ */
+
+#include <woden.h>
+#include <woden_soap_module_element.h>
+
+/** @defgroup woden_soap_module Soap Module
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_soap_module_base woden_soap_module_base_t;
+typedef struct woden_soap_module woden_soap_module_t;
+typedef struct woden_soap_module_ops woden_soap_module_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_module_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *module,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *module,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *module,
+ const axis2_env_t *env);
+
+ struct woden_component_exts *(AXIS2_CALL *
+ get_base_impl) (
+ void *module,
+ const axis2_env_t *env);
+
+
+ /* ***********************************************************************
+ * Component model methods (SOAPHeaderBlock interface), some shared with Element model
+ * ***********************************************************************/
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_ref) (
+ void *module,
+ axis2_env_t *env);
+
+ axis2_bool_t (AXIS2_CALL *
+ is_required) (
+ void *module,
+ axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_parent) (
+ void *module,
+ axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *module,
+ axis2_env_t *env);
+
+};
+
+struct woden_soap_module
+{
+ woden_soap_module_element_t module_element;
+ woden_soap_module_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_module_t * AXIS2_CALL
+woden_soap_module_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_module_t * AXIS2_CALL
+woden_soap_module_to_soap_module_element(
+ void *module,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_soap_module_t * AXIS2_CALL
+woden_soap_module_to_ext_element(
+ void *module,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_soap_module_t * AXIS2_CALL
+woden_soap_module_to_attr_extensible(
+ void *module,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_soap_module_t * AXIS2_CALL
+woden_soap_module_to_element_extensible(
+ void *module,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_module_resolve_methods(
+ woden_soap_module_t *soap_module,
+ const axis2_env_t *env,
+ woden_soap_module_t *soap_module_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_MODULE_FREE(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->ops->free(soap_module, env))
+
+#define WODEN_SOAP_MODULE_SUPER_OBJS(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->ops->super_objs(soap_module, env))
+
+#define WODEN_SOAP_MODULE_TYPE(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->ops->type(soap_module, env))
+
+#define WODEN_SOAP_MODULE_GET_BASE_IMPL(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->ops->get_base_impl(soap_module, env))
+
+#define WODEN_SOAP_MODULE_GET_REF(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->\
+ get_ref (soap_module, env))
+
+#define WODEN_SOAP_MODULE_IS_REQUIRED(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->\
+ is_required (soap_module, env))
+
+#define WODEN_SOAP_MODULE_GET_PARENT(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->\
+ get_parent (soap_module, env))
+
+#define WODEN_SOAP_MODULE_TO_ELEMENT(soap_module, env) \
+ (((woden_soap_module_t *) soap_module)->\
+ to_element (soap_module, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_MODULE_H */
Added: webservices/axis2/trunk/c/woden/include/woden_soap_module_deserializer.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_module_deserializer.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_module_deserializer.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_module_deserializer.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,135 @@
+/*
+ * 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_SOAP_MODULE_DESERIALIZER_H
+#define WODEN_SOAP_MODULE_DESERIALIZER_H
+
+/**
+ * @file woden_soap_module_deserializer.h
+ * @brief Axis2 Soap Module Deserializer Soap Module Deserializer
+ * Deserializes the <wsoap:module> extension element into a
+ * soap_module_element.
+ *
+ */
+
+#include <woden.h>
+#include <woden_ext_deserializer.h>
+#include <woden_ext_registry.h>
+#include <axiom_node.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_soap_module_deserializer Soap Module Deserializer
+ * @ingroup woden
+ * @{
+ */
+
+typedef struct woden_soap_module_deserializer
+ woden_soap_module_deserializer_t;
+typedef struct woden_soap_module_deserializer_ops
+ woden_soap_module_deserializer_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_module_deserializer_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *mod_deser,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *mod_deser,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *mod_deser,
+ const axis2_env_t *env);
+ /**
+ * @return the base implementation class
+ */
+ struct woden_ext_deserializer *(AXIS2_CALL *
+ get_base_impl) (
+ void *mod_deser,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ unmarshall) (
+ void *mod_deser,
+ const axis2_env_t *env,
+ axis2_char_t *parent_type,
+ void *parent,
+ axis2_qname_t *element_type,
+ axiom_node_t *el_node,
+ void *desc,
+ woden_ext_registry_t *ext_reg);
+
+};
+
+struct woden_soap_module_deserializer
+{
+ woden_ext_deserializer_t ext_deserializer;
+ woden_soap_module_deserializer_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_module_deserializer_t * AXIS2_CALL
+woden_soap_module_deserializer_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_module_deserializer_t * AXIS2_CALL
+woden_soap_module_deserializer_to_ext_deserializer(
+ void *mod_deser,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_module_deserializer_resolve_methods(
+ woden_soap_module_deserializer_t *mod_deser,
+ const axis2_env_t *env,
+ woden_soap_module_deserializer_t *mod_deser_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_MODULE_DESERIALIZER_FREE(mod_deser, env) \
+ (((woden_soap_module_deserializer_t *) mod_deser)->ops->free(mod_deser, env))
+
+#define WODEN_SOAP_MODULE_DESERIALIZER_SUPER_OBJS(mod_deser, env) \
+ (((woden_soap_module_deserializer_t *) mod_deser)->ops->super_objs(mod_deser, env))
+
+#define WODEN_SOAP_MODULE_DESERIALIZER_TYPE(mod_deser, env) \
+ (((woden_soap_module_deserializer_t *) mod_deser)->ops->type(mod_deser, env))
+
+#define WODEN_SOAP_MODULE_DESERIALIZER_GET_BASE_IMPL(mod_deser, env) \
+ (((woden_soap_module_deserializer_t *) mod_deser)->ops->get_base_impl(mod_deser, env))
+
+#define WODEN_SOAP_MODULE_DESERIALIZER_UNMARSHALL(mod_deser, env, \
+ parent_type, parent, element_type, el_node, desc, ext_reg) \
+ (((woden_soap_module_deserializer_t *) mod_deser)->\
+ unmarshall(mod_deser, env, parent_type, parent, element_type, el_node, \
+ desc, ext_reg))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_MODULE_DESERIALIZER_H */
Added: webservices/axis2/trunk/c/woden/include/woden_soap_module_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_module_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_module_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_module_element.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,168 @@
+/*
+ * 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_SOAP_MODULE_ELEMENT_H
+#define WODEN_SOAP_MODULE_ELEMENT_H
+
+/**
+ * @file woden_soap_module_element.h
+ * @brief Axis2 Soap Module Element Soap Module
+ * This interface represents the <wsoap:module> extension element that
+ * can appear within a Binding, Binding Fault, Binding Operation, Binding
+ * Fault Reference or Binding Message Reference.
+ */
+
+#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_ext_element.h>
+#include <woden_attr_extensible.h>
+#include <woden_element_extensible.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_soap_module_element woden_soap_module_element_t;
+typedef struct woden_soap_module_element_ops woden_soap_module_element_ops_t;
+typedef union woden_soap_module_element_base woden_soap_module_element_base_t;
+
+/** @defgroup woden_soap_module_element Soap Module Element
+ * @ingroup axiom_soap_module
+ * @{
+ */
+
+struct woden_soap_module_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *soap_module_element,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *soap_module_element,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_ref) (
+ void *soap_module_element,
+ const axis2_env_t *env,
+ axis2_uri_t *uri);
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_ref) (
+ void *soap_module_element,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_parent_element) (
+ void *soap_module_element,
+ const axis2_env_t *env,
+ void *wsdl_el);
+
+ void *(AXIS2_CALL *
+ get_parent_element) (
+ void *soap_module_element,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ add_documentation_element) (
+ void *soap_module_element,
+ const axis2_env_t *env,
+ void *doc_el);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_documentation_elements) (
+ void *soap_module_element,
+ const axis2_env_t *env);
+
+};
+
+union woden_soap_module_element_base
+{
+ woden_ext_element_t ext_element;
+ woden_attr_extensible_t attr_extensible;
+ woden_element_extensible_t element_extensible;
+};
+
+struct woden_soap_module_element
+{
+ woden_soap_module_element_base_t base;
+ woden_soap_module_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_module_element_t * AXIS2_CALL
+woden_soap_module_element_create(
+ const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_module_element_resolve_methods(
+ woden_soap_module_element_t *soap_module_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_MODULE_ELEMENT_FREE(soap_module_element, env) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ free (soap_module_element, env))
+
+#define WODEN_SOAP_MODULE_ELEMENT_TYPE(soap_module_element, env) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ type (soap_module_element, env))
+
+#define WODEN_SOAP_MODULE_ELEMENT_SET_REF(soap_module_element, env, uri) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ set_ref (soap_module_element, env, uri))
+
+#define WODEN_SOAP_MODULE_ELEMENT_GET_REF(soap_module_element, env) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ get_ref (soap_module_element, env))
+
+#define WODEN_SOAP_MODULE_ELEMENT_SET_PARENT_ELEMENT(soap_module_element, env, wsdl_el) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ set_parent_element (soap_module_element, env, wsdl_el))
+
+#define WODEN_SOAP_MODULE_ELEMENT_GET_PARENT_ELEMENT(soap_module_element, env) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ get_parent_element (soap_module_element, env))
+
+#define WODEN_SOAP_MODULE_ELEMENT_ADD_DOCUMENTATION_ELEMENT(soap_module_element, env, doc_el) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ add_documentation_element (soap_module_element, env, doc_el))
+
+#define WODEN_SOAP_MODULE_ELEMENT_GET_DOCUMENTATION_ELEMENTS(soap_module_element, env) \
+ (((woden_soap_module_element_t *) soap_module_element)->ops->\
+ get_documentation_elements (soap_module_element, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_MODULE_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_string_attr.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_string_attr.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_string_attr.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_string_attr.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,153 @@
+/*
+ * 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_STRING_ATTR_H
+#define WODEN_STRING_ATTR_H
+
+/**
+ * @file woden_string_attr.h
+ * @brief Axis2 String Attribute Interface
+ * This class represents XML attribute information items of type xs:string.
+ */
+
+#include <woden_xml_attr.h>
+#include <woden.h>
+
+/** @defgroup woden_string_attr String Attribute
+ * @ingroup woden
+ * @{
+ */
+
+typedef struct woden_string_attr woden_string_attr_t;
+typedef struct woden_string_attr_ops woden_string_attr_ops_t;
+struct axiom_element;
+struct axiom_node;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_string_attr_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *string_attr,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_string_attr_free) (
+ void *string_attr,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *string_attr,
+ const axis2_env_t *env);
+
+ /**
+ * @return the base implementation class
+ */
+ woden_xml_attr_t *(AXIS2_CALL *
+ get_base_impl) (
+ void *string_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * QNameAttr interface declared methods
+ * ************************************************************/
+
+ axis2_char_t *(AXIS2_CALL *
+ get_string) (
+ void *string_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+
+ /*
+ * Convert a string of type xs:string to a axis2_char_t.
+ * A null argument will return a null value.
+ * Any conversion error will be reported and a null value will be returned.
+ */
+ void *(AXIS2_CALL *
+ convert) (
+ void *string_attr,
+ const axis2_env_t *env,
+ struct axiom_element *owner_el,
+ struct axiom_node *owner_node,
+ axis2_char_t *attr_value);
+
+
+};
+
+struct woden_string_attr
+{
+ woden_xml_attr_t base;
+ woden_string_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 XMLAttr interface.
+ */
+AXIS2_EXTERN woden_string_attr_t * AXIS2_CALL
+woden_string_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_string_attr_resolve_methods(
+ woden_string_attr_t *string_attr,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_STRING_ATTR_FREE(string_attr, env) \
+ (((woden_string_attr_t *) string_attr)->ops->\
+ free(string_attr, env))
+
+#define WODEN_STRING_ATTR_TYPE(string_attr, env) \
+ (((woden_string_attr_t *) string_attr)->ops->\
+ type(string_attr, env))
+
+#define WODEN_STRING_ATTR_GET_BASE_IMPL(string_attr, env) \
+ (((woden_string_attr_t *) string_attr)->ops->\
+ get_base_impl(string_attr, env))
+
+#define WODEN_STRING_ATTR_GET_STRING(string_attr, env) \
+ (((woden_string_attr_t *) string_attr)->ops->\
+ get_string(string_attr, env))
+
+#define WODEN_STRING_ATTR_CONVERT(string_attr, env) \
+ (((woden_string_attr_t *) string_attr)->ops->\
+ convert(string_attr, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_STRING_ATTR_H */
Added: webservices/axis2/trunk/c/woden/include/woden_svc.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_svc.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_svc.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_svc.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,212 @@
+/*
+ * 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_SVC_H
+#define WODEN_SVC_H
+
+/**
+ * @file woden_svc.h
+ * @brief Axis2 Service Interface
+ * This class represents the Service component and the
+ * <service> element.
+ *
+ */
+
+#include <woden.h>
+#include <woden_svc_element.h>
+#include <woden_wsdl_obj.h>
+#include <woden_configurable.h>
+#include <woden_configurable_component.h>
+#include <woden_nc_name.h>
+
+/** @defgroup woden_svc Service
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_svc_base woden_svc_base_t;
+typedef struct woden_svc woden_svc_t;
+typedef struct woden_svc_ops woden_svc_ops_t;
+struct woden_documentation_element;
+struct woden_wsdl_component;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_svc_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *svc,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *svc,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *svc,
+ const axis2_env_t *env);
+ /**
+ * @return the base implementation class
+ */
+ struct woden_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *svc,
+ const axis2_env_t *env);
+ /* ************************************************************
+ * Service interface methods (the WSDL Component model)
+ * ************************************************************/
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *svc,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_interface) (
+ void *svc,
+ const axis2_env_t *env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_endpoints) (
+ void *svc,
+ const axis2_env_t *env);
+ /******************************************************************************
+ * Non-API implementation methods
+ *****************************************************************************/
+
+ axis2_status_t (AXIS2_CALL *
+ set_interface_element) (
+ void *svc,
+ const axis2_env_t *env,
+ void *winterface);
+
+
+};
+
+union woden_svc_base
+{
+ woden_configurable_t configurable;
+ woden_svc_element_t svc_element;
+ woden_configurable_component_t configurable_component;
+};
+
+struct woden_svc
+{
+ woden_svc_base_t base;
+ woden_svc_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_svc_element(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_documentable_element(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_configurable(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_configurable_component(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_wsdl_component(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_configurable_element(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_documentable(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_attr_extensible(
+ void *svc,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_svc_t * AXIS2_CALL
+woden_svc_to_element_extensible(
+ void *svc,
+ const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_svc_resolve_methods(
+ woden_svc_t *svc,
+ const axis2_env_t *env,
+ woden_svc_t *svc_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SVC_FREE(svc, env) \
+ (((woden_svc_t *) svc)->ops->free(svc, env))
+
+#define WODEN_SVC_SUPER_OBJS(svc, env) \
+ (((woden_svc_t *) svc)->ops->super_objs(svc, env))
+
+#define WODEN_SVC_TYPE(svc, env) \
+ (((woden_svc_t *) svc)->ops->type(svc, env))
+
+#define WODEN_SVC_GET_BASE_IMPL(svc, env) \
+ (((woden_svc_t *) svc)->ops->get_base_impl(svc, env))
+
+#define WODEN_SVC_GET_QNAME(svc, env) \
+ (((woden_svc_t *) svc)->ops->\
+ get_qname(svc, env))
+
+#define WODEN_SVC_GET_INTERFACE(svc, env) \
+ (((woden_svc_t *) svc)->ops->\
+ get_interface(svc, env))
+
+#define WODEN_SVC_GET_ENDPOINTS(svc, env) \
+ (((woden_svc_t *) svc)->ops->\
+ get_endpoints(svc, env))
+
+#define WODEN_SVC_SET_INTERFACE_ELEMENT(svc, env, interface) \
+ (((woden_svc_t *) svc)->ops->\
+ set_interface_element(svc, env, interface))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SVC_H */
Added: webservices/axis2/trunk/c/woden/include/woden_svc_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_svc_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_svc_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_svc_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_SVC_ELEMENT_H
+#define WODEN_SVC_ELEMENT_H
+
+/**
+ * @file woden_svc_element.h
+ * @brief Axis2 Service Element Interface
+ * This interface represents the <service> 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 <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+#include <woden_nc_name.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_svc_element woden_svc_element_t;
+typedef struct woden_svc_element_ops woden_svc_element_ops_t;
+typedef union woden_svc_element_base woden_svc_element_base_t;
+
+/** @defgroup woden_svc_element Service Element
+ * @ingroup woden
+ * @{
+ */
+
+struct woden_svc_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *svc_el,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *svc_el,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_qname) (
+ void *svc_el,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *svc_el,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_interface_qname) (
+ void *svc_el,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_interface_qname) (
+ void *svc_el,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_interface_element) (
+ void *svc_el,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ add_endpoint_element) (
+ void *svc_el,
+ const axis2_env_t *env,
+ void *endpoint);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_endpoint_elements) (
+ void *svc_el,
+ const axis2_env_t *env);
+
+};
+
+union woden_svc_element_base
+{
+ woden_documentable_element_t documentable_element;
+ woden_configurable_element_t configurable_element;
+ woden_nested_element_t nested_element;
+};
+
+struct woden_svc_element
+{
+ woden_svc_element_base_t base;
+ woden_svc_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_svc_element_resolve_methods(
+ woden_svc_element_t *svc_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SVC_ELEMENT_FREE(svc_el, env) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ free (svc_el, env))
+
+#define WODEN_SVC_ELEMENT_TYPE(svc_el, env) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ type (svc_el, env))
+
+#define WODEN_SVC_ELEMENT_SET_QNAME(svc_el, env, qname) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ set_qname(svc_el, env, qname))
+
+#define WODEN_SVC_ELEMENT_GET_QNAME(svc_el, env) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ get_qname(svc_el, env))
+
+#define WODEN_SVC_ELEMENT_SET_INTERFACE_QNAME(svc_el, env, qname) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ set_interface_qname(svc_el, env, qname))
+
+#define WODEN_SVC_ELEMENT_GET_INTERFACE_QNAME(svc_el, env) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ get_interface_qname(svc_el, env))
+
+#define WODEN_SVC_ELEMENT_GET_INTERFACE_ELEMENT(svc_el, env) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ get_interface_element(svc_el, env))
+
+#define WODEN_SVC_ELEMENT_ADD_ENDPOINT_ELEMENT(svc_el, env, endpoint) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ add_endpoint_element(svc_el, env, endpoint))
+
+#define WODEN_SVC_ELEMENT_GET_ENDPOINT_ELEMENTS(svc_el, env) \
+ (((woden_svc_element_t *) svc_el)->ops->\
+ get_endpoint_elements(svc_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SVC_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_type_def.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_type_def.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_type_def.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_type_def.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,206 @@
+/*
+ * 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_TYPE_DEF_H
+#define WODEN_TYPE_DEF_H
+
+/**
+ * @file 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.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+
+/** @defgroup woden_type_def Type Definition
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_type_def_base woden_type_def_base_t;
+typedef struct woden_type_def woden_type_def_t;
+typedef struct woden_type_def_ops woden_type_def_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_type_def_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *type_def,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *type_def,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *type_def,
+ const axis2_env_t *env);
+ /**
+ * @return the base implementation class
+ */
+ void *(AXIS2_CALL *
+ get_base_impl) (
+ void *type_def,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_qname) (
+ void *type_def,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *type_def,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_system) (
+ void *type_def,
+ const axis2_env_t *env,
+ axis2_uri_t *type_system_uri);
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_system) (
+ void *type_def,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_content_model) (
+ void *type_def,
+ const axis2_env_t *env,
+ axis2_char_t *content_model);
+
+ axis2_char_t *(AXIS2_CALL *
+ get_content_model) (
+ void *type_def,
+ const axis2_env_t *env);
+
+
+ axis2_status_t (AXIS2_CALL *
+ set_content) (
+ void *type_def,
+ const axis2_env_t *env,
+ void *type_def_content);
+
+ void *(AXIS2_CALL *
+ get_content) (
+ void *type_def,
+ const axis2_env_t *env);
+
+};
+
+struct woden_type_def
+{
+ woden_type_def_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_type_def_t * AXIS2_CALL
+woden_type_def_create(
+ const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN woden_type_def_t * AXIS2_CALL
+woden_type_def_to_type_def_element(
+ void *type_def,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_type_def_t * AXIS2_CALL
+woden_type_def_to_attr_extensible(
+ void *type_def,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_type_def_t * AXIS2_CALL
+woden_type_def_to_element_extensible(
+ void *type_def,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_type_def_resolve_methods(
+ woden_type_def_t *type_def,
+ const axis2_env_t *env,
+ woden_type_def_t *type_def_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+
+#define WODEN_TYPE_DEF_FREE(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->free(type_def, env))
+
+#define WODEN_TYPE_DEF_SUPER_OBJS(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->\
+ super_objs(type_def, env))
+
+#define WODEN_TYPE_DEF_TYPE(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->type(type_def, env))
+
+#define WODEN_TYPE_DEF_GET_BASE_IMPL(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->\
+ get_base_impl(type_def, env))
+
+#define WODEN_TYPE_DEF_SET_QNAME(type_def, env, qname) \
+ (((woden_type_def_t *) type_def)->ops->\
+ set_qname(type_def, env, qname))
+
+#define WODEN_TYPE_DEF_GET_QNAME(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->\
+ get_qname(type_def, env))
+
+#define WODEN_TYPE_DEF_SET_SYSTEM(type_def, env, type_system_uri) \
+ (((woden_type_def_t *) type_def)->ops->\
+ set_system(type_def, env, type_system_uri))
+
+#define WODEN_TYPE_DEF_GET_SYSTEM(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->\
+ get_system(type_def, env))
+
+#define WODEN_TYPE_DEF_SET_CONTENT_MODEL(type_def, env, content_model) \
+ (((woden_type_def_t *) type_def)->ops->\
+ set_content_model(type_def, env, content_model))
+
+#define WODEN_TYPE_DEF_GET_CONTENT_MODEL(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->\
+ get_content_model(type_def, env))
+
+#define WODEN_TYPE_DEF_SET_CONTENT(type_def, env, type_def_content) \
+ (((woden_type_def_t *) type_def)->ops->\
+ set_content(type_def, env, type_def_content))
+
+#define WODEN_TYPE_DEF_GET_CONTENT(type_def, env) \
+ (((woden_type_def_t *) type_def)->ops->\
+ get_content(type_def, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_TYPE_DEF_H */
Added: webservices/axis2/trunk/c/woden/include/woden_types.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_types.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_types.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_types.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,299 @@
+/*
+ * 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_TYPES_H
+#define WODEN_TYPES_H
+
+/**
+ * @file woden_types.h
+ * @brief Axis2 Types 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.h>
+#include <woden_types_element.h>
+#include <woden_documentable.h>
+#include <woden_nested_component.h>
+#include <woden_wsdl_obj.h>
+#include <xml_schema.h>
+#include <xml_schema_element.h>
+#include <xml_schema_type.h>
+#include <axis2_array_list.h>
+
+
+/** @defgroup woden_types Types
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_types_base woden_types_base_t;
+typedef struct woden_types woden_types_t;
+typedef struct woden_types_ops woden_types_ops_t;
+struct woden_documentation_element;
+struct woden_documentation;
+struct xml_schema;
+struct xml_schema_element;
+struct xml_schema_type;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_types_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *types,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *types,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *types,
+ const axis2_env_t *env);
+ /**
+ * @return the base implementation class
+ */
+ struct woden_documentable *(AXIS2_CALL *
+ get_base_impl) (
+ void *types,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+
+ /*
+ *
+ * Returns the schema element declaration identified by the QName,
+ * providing the element declaration is referenceable to the
+ * WSDL description (i.e. visible). This means it must exist in a
+ * Schema that has been inlined or resolved from a schema import
+ * within the <types> element according to the schema
+ * referenceability rules in the WSDL 2.0 spec.
+ * If the element declaration is not referenceable, null is returned.
+ * If validation is disabled, the referenceability rules do not apply
+ * so all schemas are considered referenceable by the WSDL.
+ *
+ */
+ void *(AXIS2_CALL *
+ get_element_declaration) (
+ void *types,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ /*
+ *
+ * Returns the schema type definition identified by the QName,
+ * providing the type definition is referenceable by the
+ * WSDL description (i.e. visible). This means it must exist in a
+ * Schema that has been inlined or resolved from a schema import
+ * within the <types> element according to the schema
+ * referenceability rules in the WSDL 2.0 spec.
+ * If the type definition is not referenceable, null is returned.
+ * If validation is disabled, the referenceability rules do not apply
+ * so all schemas are considered referenceable by the WSDL.
+ *
+ */
+ void *(AXIS2_CALL *
+ get_type_definition) (
+ void *types,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+/*
+ * Returns a List of Xml Schema objects for all schemas that are referenceable
+ * by the containing WSDL. Examples of schemas that are not referenceable include
+ * schemas without a target namespace or schemas resolved from a schema import
+ * whose target namespace does not match the imported namespace. Referenceability
+ * is determined by validation.
+ */
+ axis2_array_list_t *(AXIS2_CALL *
+ get_referenceable_schema_defs) (
+ void *types,
+ const axis2_env_t *env);
+
+ /*
+ * Indicates if the namespace represented by the specified URI
+ * is in-scope or referenceable by the WSDL description.
+ * This means it must be the target namespace of a schema correctly
+ * imported or inlined directly within the <types> element.
+ *
+ * @return true if the namespace is in-scope, or false if it is not.
+ *
+ */
+ axis2_bool_t (AXIS2_CALL *
+ is_namespace_in_scope_with_namespace_uri) (
+ void *types,
+ const axis2_env_t *env,
+ axis2_uri_t *namespc_uri);
+
+ /*
+ * Indicates if the namespace represented by the specified QName
+ * is in-scope or referenceable by the WSDL description.
+ * This means it must be the target namespace of a schema correctly
+ * imported or inlined directly within the <types> element.
+ *
+ */
+ axis2_bool_t (AXIS2_CALL *
+ is_namespace_in_scope_with_qname) (
+ void *types,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ /*
+ *
+ * Indicates if the namespace represented by the specified String
+ * is in-scope or referenceable by the WSDL description.
+ * This means it must be the target namespace of a schema correctly
+ * imported or inlined directly within the <types> element.
+ *
+ */
+ axis2_bool_t (AXIS2_CALL *
+ is_namespace_in_scope_with_namespace) (
+ void *types,
+ const axis2_env_t *env,
+ axis2_char_t *namespc);
+
+
+};
+
+union woden_types_base
+{
+ woden_documentable_t documentable;
+ woden_types_element_t types_element;
+ woden_nested_component_t nested_component;
+};
+
+struct woden_types
+{
+ woden_types_base_t base;
+ woden_types_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_types_element(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_nested_element(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_documentable_element(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_documentable(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_wsdl_obj(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_nested_component(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_wsdl_component(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_element_extensible(
+ void *types,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_types_t * AXIS2_CALL
+woden_types_to_attr_extensible(
+ void *types,
+ const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_types_resolve_methods(
+ woden_types_t *types,
+ const axis2_env_t *env,
+ woden_types_t *types_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_TYPES_FREE(types, env) \
+ (((woden_types_t *) types)->ops->free(types, env))
+
+#define WODEN_TYPES_SUPER_OBJS(types, env) \
+ (((woden_types_t *) types)->ops->super_objs(types, env))
+
+#define WODEN_TYPES_TYPE(types, env) \
+ (((woden_types_t *) types)->ops->type(types, env))
+
+#define WODEN_TYPES_GET_BASE_IMPL(types, env) \
+ (((woden_types_t *) types)->ops->get_base_impl(types, env))
+
+#define WODEN_TYPES_GET_ELEMENT_DECLARATION(types, env, qname) \
+ (((woden_types_t *) types)->ops->\
+ get_element_declaration(types, env, qname))
+
+#define WODEN_TYPES_GET_TYPE_DEFINITION(types, env, qname) \
+ (((woden_types_t *) types)->ops->\
+ get_type_definition(types, env, qname))
+
+#define WODEN_TYPES_GET_REFERENCEABLE_SCHEMA_DEFS(types, env) \
+ (((woden_types_t *) types)->ops->\
+ get_referenceable_schema_defs(types, env))
+
+#define WODEN_TYPES_GET_REFERENCEABLE_SCHEMA_DEFS_WITH_NAMESPACE(types, env, namespc) \
+ (((woden_types_t *) types)->ops->\
+ get_referenceable_schema_defs_with_namespace(types, env, namespc))
+
+#define WODEN_TYPES_IS_NAMESPACE_IN_SCOPE_WITH_NAMESPACE_URI(types, env, namespc_uri) \
+ (((woden_types_t *) types)->ops->\
+ is_namespace_in_scope_with_namespace_uri(types, env, namespc_uri))
+
+#define WODEN_TYPES_IS_NAMESPACE_IN_SCOPE_WITH_QNAME(types, env, qname) \
+ (((woden_types_t *) types)->ops->\
+ is_namespace_in_scope_with_qname(types, env, qname))
+
+#define WODEN_TYPES_IS_NAMESPACE_IN_SCOPE_WITH_NAMESPACE(types, env, namespc) \
+ (((woden_types_t *) types)->ops->\
+ is_namespace_in_scope_with_namespace(types, env, namespc))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_TYPES_H */
Added: webservices/axis2/trunk/c/woden/include/woden_types_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_types_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_types_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_types_element.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,228 @@
+/*
+ * 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_TYPES_ELEMENT_H
+#define WODEN_TYPES_ELEMENT_H
+
+/**
+ * @file woden_types_element.h
+ * @brief Axis2 Types Element Interface
+ * This interface represents the <wsdl:types> element.
+ * It supports parsing, creating and manipulating a <types> element.
+ * <p>
+ * The data types used in WSDL elements are typically defined within a
+ * <types> element using a type system such as W3C XML Schema.
+ * Schemas may be imported or inlined within <types>.
+ * A <types> element may contain multiple schema import elements with
+ * the same namespace attribute, so the schemaLocation attribute may be used
+ * to distinguish them.
+ * Likewise, it is valid to have multiple inline schemas, so the id attribute
+ * may be used to distinguish them.
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <xml_schema.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_types_element woden_types_element_t;
+typedef struct woden_types_element_ops woden_types_element_ops_t;
+struct xml_schema;
+
+/** @defgroup woden_types_element Types Element
+ * @ingroup woden
+ * @{
+ */
+
+struct woden_types_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *types_el,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *types_el,
+ const axis2_env_t *env);
+
+ /**
+ * Indicates the type system used within the <types> element.
+ * Typically the W3C XML Schema type system will be used, indicated by
+ * the namespace "http://www.w3.org/2001/XMLSchema". An alternative
+ * schema-like type system is Relax NG (http://www.relaxng.org/).
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_type_system) (void *types_el,
+ const axis2_env_t *env,
+ axis2_char_t *type_system);
+
+ /**
+ * Get the string indicating the type system used within the <types>
+ * element.
+ */
+ axis2_char_t *(AXIS2_CALL *
+ get_type_system) (void *types_el,
+ const axis2_env_t *env);
+
+ /**
+ * Add a Schema object for a schema inlined or imported within
+ * the <types> element.
+ *
+ * @param schema the Schema object.
+ */
+ axis2_status_t (AXIS2_CALL *
+ add_schema) (void *types_el,
+ const axis2_env_t *env,
+ void *schema);
+
+ /**
+ * Delete the specified Schema object.
+ */
+ axis2_status_t (AXIS2_CALL *
+ remove_schema) (
+ void *types_el,
+ const axis2_env_t *env,
+ struct xml_schema *schema);
+
+ /**
+ * Return the Schemas representing all inlined schemas or schema imports,
+ * in the order in which they occur within the <types> element.
+ *
+ * @return an array of Schema objects
+ */
+ axis2_array_list_t *(AXIS2_CALL *
+ get_schemas) (
+ void *types_el,
+ const axis2_env_t *env);
+
+ /**
+ * Return all Schemas where the specified namespace argument is either the
+ * target namespace of an inlined schema or the imported namespace of a
+ * schema import. Schemas are returned in the order in which they occur
+ * within the <types> element.
+ * <p>
+ * A null namespace argument will return any inlined schemas missing their
+ * target namespace attribute or any schema imports missing their namespace
+ * attribute.
+ *
+ * @return the Schemas for the schema with the specified target namespace.
+ */
+ axis2_array_list_t *(AXIS2_CALL *
+ get_schemas_with_namespace) (
+ void *types_el,
+ const axis2_env_t *env,
+ axis2_uri_t *namespc);
+
+ /**
+ * Return all schemas inlined within the <types> element, in the order
+ * in which they occur within <types>.
+ *
+ * @return an array of Schema objects.
+ */
+ axis2_array_list_t *(AXIS2_CALL *
+ get_inlined_schemas) (
+ void *types_el,
+ const axis2_env_t *env);
+
+ /**
+ * Return all schema imports from within the <types> element, in the order
+ * in which they occur within <types>.
+ *
+ * @return an array of Schema objects.
+ */
+ axis2_array_list_t *(AXIS2_CALL *
+ get_imported_schemas) (
+ void *types_el,
+ const axis2_env_t *env);
+};
+
+struct woden_types_element
+{
+ woden_documentable_element_t documentable_element;
+ woden_types_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_types_element_resolve_methods(
+ woden_types_element_t *types_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_TYPES_ELEMENT_FREE(types_el, env) \
+ (((woden_types_element_t *) types_el)->ops->\
+ free (types_el, env))
+
+#define WODEN_TYPES_ELEMENT_TYPE(types_el, env) \
+ (((woden_types_element_t *) types_el)->ops->\
+ type (types_el, env))
+
+#define WODEN_TYPES_ELEMENT_SET_TYPE_SYSTEM(types_el, env, type_system) \
+ (((woden_types_element_t *) types_el)->ops->\
+ set_type_system(types_el, env, type_system))
+
+#define WODEN_TYPES_ELEMENT_GET_TYPE_SYSTEM(types_el, env) \
+ (((woden_types_element_t *) types_el)->ops->\
+ get_type_system(types_el, env))
+
+#define WODEN_TYPES_ELEMENT_ADD_SCHEMA(types_el, env, schema) \
+ (((woden_types_element_t *) types_el)->ops->\
+ add_schema(types_el, env, schema))
+
+#define WODEN_TYPES_ELEMENT_REMOVE_SCHEMA(types_el, env, schema) \
+ (((woden_types_element_t *) types_el)->ops->\
+ remove_schema(types_el, env, schema))
+
+#define WODEN_TYPES_ELEMENT_GET_SCHEMAS(types_el, env) \
+ (((woden_types_element_t *) types_el)->ops->\
+ get_schemas(types_el, env))
+
+#define WODEN_TYPES_ELEMENT_GET_SCHEMAS_WITH_NAMESPACE(types_el, env, \
+ namespc) \
+ (((woden_types_element_t *) types_el)->ops->\
+ get_schemas_with_namespace(types_el, env, namespc))
+
+#define WODEN_TYPES_ELEMENT_GET_INLINED_SCHEMAS(types_el, env) \
+ (((woden_types_element_t *) types_el)->ops->\
+ get_inlined_schemas(types_el, env))
+
+#define WODEN_TYPES_ELEMENT_GET_IMPORTED_SCHEMAS(types_el, env) \
+ (((woden_types_element_t *) types_el)->ops->\
+ get_imported_schemas(types_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_TYPES_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_uri_attr.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_uri_attr.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_uri_attr.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_uri_attr.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,157 @@
+/*
+ * 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_URI_ATTR_H
+#define WODEN_URI_ATTR_H
+
+/**
+ * @file woden_uri_attr.h
+ * @brief Axis2 URI Attribute Interface
+ * This class represents XML attribute information items of type xs:anyURI.
+ */
+
+#include <woden.h>
+#include <axis2_uri.h>
+#include <woden_xml_attr.h>
+
+/** @defgroup woden_uri_attr URI Attribute
+ * @ingroup woden
+ * @{
+ */
+
+typedef struct woden_uri_attr woden_uri_attr_t;
+typedef struct woden_uri_attr_ops woden_uri_attr_ops_t;
+struct axiom_element;
+struct axiom_node;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_uri_attr_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *uri_attr,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_uri_attr_free) (
+ void *uri_attr,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *uri_attr,
+ const axis2_env_t *env);
+
+ /**
+ * @return the base implementation class
+ */
+ woden_xml_attr_t *(AXIS2_CALL *
+ get_base_impl) (
+ void *uri_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * QNameAttr interface declared methods
+ * ************************************************************/
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_uri) (
+ void *uri_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+
+ /*
+ * Convert a string of type xs:anyURI to a axis2_uri_t.
+ * An empty string argument will return an empty string URI.
+ * A null argument will return a null value.
+ * Any conversion error will be reported and a null value will be returned.
+ */
+ void *(AXIS2_CALL *
+ convert) (
+ void *uri_attr,
+ const axis2_env_t *env,
+ struct axiom_element *owner_el,
+ struct axiom_node *owner_node,
+ axis2_char_t *attr_value);
+
+
+};
+
+struct woden_uri_attr
+{
+ woden_xml_attr_t base;
+ woden_uri_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 XMLAttr interface.
+ */
+AXIS2_EXTERN woden_uri_attr_t * AXIS2_CALL
+woden_uri_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_uri_attr_resolve_methods(
+ woden_uri_attr_t *uri_attr,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_URI_ATTR_FREE(uri_attr, env) \
+ (((woden_uri_attr_t *) uri_attr)->ops->free(uri_attr, env))
+
+#define WODEN_URI_ATTR_TO_URI_ATTR_FREE(uri_attr, env) \
+ (((woden_uri_attr_t *) uri_attr)->ops->\
+ to_uri_attr_free(uri_attr, env))
+
+#define WODEN_URI_ATTR_TYPE(uri_attr, env) \
+ (((woden_uri_attr_t *) uri_attr)->ops->type(uri_attr, env))
+
+#define WODEN_URI_ATTR_GET_BASE_IMPL(uri_attr, env) \
+ (((woden_uri_attr_t *) uri_attr)->ops->get_base_impl(uri_attr, \
+ env))
+
+#define WODEN_URI_ATTR_GET_URI(uri_attr, env) \
+ (((woden_uri_attr_t *) uri_attr)->ops->get_uri(uri_attr, \
+ env))
+
+#define WODEN_URI_ATTR_CONVERT(uri_attr, env) \
+ (((woden_uri_attr_t *) uri_attr)->ops->convert(uri_attr, \
+ env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_URI_ATTR_H */
Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_msg_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_msg_ref.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_msg_ref.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_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_WSDL10_BINDING_MSG_REF_H
+#define WODEN_WSDL10_BINDING_MSG_REF_H
+
+/**
+ * @file woden_wsdl10_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 <input> and <output>
+ * child elements of a WSDL binding <operation>.
+ *
+ */
+
+#include <woden.h>
+#include <woden_wsdl10_binding_msg_ref_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_wsdl10_binding_msg_ref Binding Message Reference
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_wsdl10_binding_msg_ref_base woden_wsdl10_binding_msg_ref_base_t;
+typedef struct woden_wsdl10_binding_msg_ref woden_wsdl10_binding_msg_ref_t;
+typedef struct woden_wsdl10_binding_msg_ref_ops woden_wsdl10_binding_msg_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_wsdl10_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_wsdl10_binding_msg_ref_base
+{
+ woden_nested_configurable_t nested_configurable;
+ woden_wsdl10_binding_msg_ref_element_t binding_msg_ref_element;
+};
+
+struct woden_wsdl10_binding_msg_ref
+{
+ woden_wsdl10_binding_msg_ref_base_t base;
+ woden_wsdl10_binding_msg_ref_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_binding_msg_ref_element(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_nested_configurable(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_configurable(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_wsdl_obj(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_nested_element(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_wsdl_component(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_configurable_element(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_documentable_element(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_documentable(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_attr_extensible(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_to_element_extensible(
+ void *binding_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_binding_msg_ref_resolve_methods(
+ woden_wsdl10_binding_msg_ref_t *binding_msg_ref,
+ const axis2_env_t *env,
+ woden_wsdl10_binding_msg_ref_t *binding_msg_ref_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_BINDING_MSG_REF_FREE(binding_msg_ref, env) \
+ (((woden_wsdl10_binding_msg_ref_t *) binding_msg_ref)->ops->free(binding_msg_ref, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_TO_BINDING_MSG_REF_FREE(binding_msg_ref, env) \
+ (((woden_wsdl10_binding_msg_ref_t *) binding_msg_ref)->ops->to_binding_msg_ref_free(binding_msg_ref, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_SUPER_OBJS(binding_msg_ref, env) \
+ (((woden_wsdl10_binding_msg_ref_t *) binding_msg_ref)->ops->super_objs(binding_msg_ref, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_TYPE(binding_msg_ref, env) \
+ (((woden_wsdl10_binding_msg_ref_t *) binding_msg_ref)->ops->type(binding_msg_ref, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_GET_BASE_IMPL(binding_msg_ref, env) \
+ (((woden_wsdl10_binding_msg_ref_t *) binding_msg_ref)->ops->get_base_impl(binding_msg_ref, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_GET_INTERFACE_MSG_REF(binding_msg_ref, env) \
+ (((woden_wsdl10_binding_msg_ref_t *) binding_msg_ref)->ops->\
+ get_interface_msg_ref(binding_msg_ref, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_TO_ELEMENT(binding_msg_ref, env) \
+ (((woden_wsdl10_binding_msg_ref_t *) binding_msg_ref)->ops->\
+ to_element(binding_msg_ref, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_SET_INTERFACE_MSG_REF_ELEMENT(binding_msg_ref, env, int_msg_ref) \
+ (((woden_wsdl10_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_WSDL10_BINDING_MSG_REF_H */
Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_msg_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_msg_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_msg_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_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_WSDL10_BINDING_MSG_REF_ELEMENT_H
+#define WODEN_WSDL10_BINDING_MSG_REF_ELEMENT_H
+
+/**
+ * @file woden_wsdl10_binding_msg_ref_element.h
+ * @brief Axis2 Binding Msg Reference Element Binding
+ * This interface represents the <input> and <output>
+ * child elements of a WSDL binding <operation>.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_wsdl10_binding_msg_ref_element woden_wsdl10_binding_msg_ref_element_t;
+typedef struct woden_wsdl10_binding_msg_ref_element_ops woden_wsdl10_binding_msg_ref_element_ops_t;
+typedef union woden_wsdl10_binding_msg_ref_element_base woden_wsdl10_binding_msg_ref_element_base_t;
+
+/** @defgroup woden_wsdl10_binding_msg_ref_element Binding Msg Reference Element
+ * @ingroup axis2_binding
+ * @{
+ */
+
+struct woden_wsdl10_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_qname) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_direction) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ void *dir);
+
+ void *(AXIS2_CALL *
+ get_direction) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+
+};
+
+union woden_wsdl10_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_wsdl10_binding_msg_ref_element
+{
+ woden_wsdl10_binding_msg_ref_element_base_t base;
+ woden_wsdl10_binding_msg_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_binding_msg_ref_element_t * AXIS2_CALL
+woden_wsdl10_binding_msg_ref_element_create(
+ const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_binding_msg_ref_element_resolve_methods(
+ woden_wsdl10_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_WSDL10_BINDING_MSG_REF_ELEMENT_FREE(binding_msg_ref_element, env) \
+ (((woden_wsdl10_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+ free (binding_msg_ref_element, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_ELEMENT_TYPE(binding_msg_ref_element, env) \
+ (((woden_wsdl10_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+ type (binding_msg_ref_element, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_ELEMENT_SET_QNAME(binding_msg_ref_element, env, qname) \
+ (((woden_wsdl10_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+ set_qname (binding_msg_ref_element, env, qname))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_ELEMENT_GET_QNAME(binding_msg_ref_element, env) \
+ (((woden_wsdl10_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+ get_qname (binding_msg_ref_element, env))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_ELEMENT_SET_DIRECTION(binding_msg_ref_element, env, dir) \
+ (((woden_wsdl10_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+ set_direction (binding_msg_ref_element, env, dir))
+
+#define WODEN_WSDL10_BINDING_MSG_REF_ELEMENT_GET_DIRECTION(binding_msg_ref_element, env) \
+ (((woden_wsdl10_binding_msg_ref_element_t *) binding_msg_ref_element)->ops->\
+ get_direction (binding_msg_ref_element, env))
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_BINDING_MSG_REF_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_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_WSDL10_BINDING_OP_H
+#define WODEN_WSDL10_BINDING_OP_H
+
+/**
+ * @file woden_wsdl10_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 <operation> child element of the WSDL <binding> element.
+ *
+ */
+
+#include <woden.h>
+#include <woden_wsdl10_binding_op_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_wsdl10_binding_op Binding Operation
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_wsdl10_binding_op_base woden_wsdl10_binding_op_base_t;
+typedef struct woden_wsdl10_binding_op woden_wsdl10_binding_op_t;
+typedef struct woden_wsdl10_binding_op_ops woden_wsdl10_binding_op_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_wsdl10_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_wsdl10_binding_op_base
+{
+ woden_nested_configurable_t nested_configurable;
+ woden_wsdl10_binding_op_element_t binding_op_element;
+};
+
+struct woden_wsdl10_binding_op
+{
+ woden_wsdl10_binding_op_base_t base;
+ woden_wsdl10_binding_op_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_binding_op_element(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_nested_configurable(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_configurable(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_wsdl_obj(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_nested_element(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_wsdl_component(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_configurable_element(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_documentable_element(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_documentable(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_attr_extensible(
+ void *binding_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_wsdl10_binding_op_t * AXIS2_CALL
+woden_wsdl10_binding_op_to_element_extensible(
+ void *binding_op,
+ const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_wsdl10_binding_op_resolve_methods(
+ woden_wsdl10_binding_op_t *binding_op,
+ const axis2_env_t *env,
+ woden_wsdl10_binding_op_t *binding_op_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_WSDL10_BINDING_OP_FREE(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->free(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_TO_BINDING_OP_FREE(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->to_binding_op_free(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_SUPER_OBJS(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->super_objs(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_TYPE(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->type(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_GET_BASE_IMPL(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->get_base_impl(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_GET_INTERFACE_OP(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
+ get_interface_op(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_GET_BINDING_MSG_REFS(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
+ get_binding_msg_refs(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_GET_BINDING_FAULT_REFS(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
+ get_binding_fault_refs(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_TO_ELEMENT(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
+ to_element(binding_op, env))
+
+#define WODEN_WSDL10_BINDING_OP_SET_INTERFACE_OP_ELEMENT(binding_op, env, int_op) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
+ set_interface_op_element(binding_op, env, int_op))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_WSDL10_BINDING_OP_H */
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org