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 [5/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_interface_msg_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_msg_ref.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_msg_ref.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_msg_ref.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,239 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_INTERFACE_MSG_REF_H
+#define WODEN_INTERFACE_MSG_REF_H
+
+/**
+ * @file woden_interface_msg_ref.h
+ * @brief Axis2 Interface Message Reference Interface Message Reference
+ *
+ */
+
+#include <woden.h>
+#include <woden_interface_msg_ref_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_interface_msg_ref Interface Message Reference
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_interface_msg_ref_base woden_interface_msg_ref_base_t;
+typedef struct woden_interface_msg_ref woden_interface_msg_ref_t;
+typedef struct woden_interface_msg_ref_ops woden_interface_msg_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_interface_msg_ref_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *interface_msg_ref,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *interface_msg_ref,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *interface_msg_ref,
+ const axis2_env_t *env);
+ /**
+ * @return the base implementation class
+ */
+ struct woden_nested_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_msg_label) (
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_direction) (
+ void *interface_msg_ref,
+ const 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,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_element_declaration) (
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+/* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+ axis2_status_t (AXIS2_CALL *
+ set_element_declaration) (
+ void *interface_msg_ref,
+ const axis2_env_t *env,
+ void *element);
+
+ axis2_status_t (AXIS2_CALL *
+ set_types) (
+ void *interface_msg_ref,
+ const axis2_env_t *env,
+ void *types);
+};
+
+union woden_interface_msg_ref_base
+{
+ woden_nested_configurable_t nested_configurable;
+ woden_interface_msg_ref_element_t interface_msg_ref_element;
+};
+
+struct woden_interface_msg_ref
+{
+ woden_interface_msg_ref_base_t base;
+ woden_interface_msg_ref_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_interface_msg_ref_element(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_nested_configurable(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_configurable(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_nested_element(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_configurable_element(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_documentable_element(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_documentable(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_attr_extensible(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_msg_ref_t * AXIS2_CALL
+woden_interface_msg_ref_to_element_extensible(
+ void *interface_msg_ref,
+ const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_msg_ref_resolve_methods(
+ woden_interface_msg_ref_t *interface_msg_ref,
+ const axis2_env_t *env,
+ woden_interface_msg_ref_t *interface_msg_ref_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_MSG_REF_FREE(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ free(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_SUPER_OBJS(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ super_objs(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_TYPE(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ type(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_GET_BASE_IMPL(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ get_base_impl(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_GET_MESSAGE_LABEL(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ get_msg_label(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_GET_DIRECTION(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ get_direction(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_GET_MSG_CONTENT_MODEL(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ get_msg_content_model(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_GET_ELEMENT_DECLARATION(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ get_element_declaration(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_TO_ELEMENT(interface_msg_ref, env) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ to_element(interface_msg_ref, env))
+
+#define WODEN_INTERFACE_MSG_REF_SET_ELEMENT_DECLARATION(interface_msg_ref, env, element) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ set_element_declaration(interface_msg_ref, env, element))
+
+#define WODEN_INTERFACE_MSG_REF_SET_TYPES(interface_msg_ref, env, types) \
+ (((woden_interface_msg_ref_t *) interface_msg_ref)->ops->\
+ set_types(interface_msg_ref, env, types))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_MSG_REF_H */
Added: webservices/axis2/trunk/c/woden/include/woden_interface_msg_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_msg_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_msg_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_msg_ref_element.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_INTERFACE_MSG_REF_ELEMENT_H
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_H
+
+/**
+ * @file woden_interface_msg_ref_element.h
+ * @brief Axis2 Interface Msg Reference Element Interface
+ * This interface represents the <input> and <output>
+ * child elements of interface operation.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_interface_msg_ref_element woden_interface_msg_ref_element_t;
+typedef struct woden_interface_msg_ref_element_ops woden_interface_msg_ref_element_ops_t;
+typedef union woden_interface_msg_ref_element_base woden_interface_msg_ref_element_base_t;
+
+/** @defgroup woden_interface_msg_ref_element Interface Msg Reference Element
+ * @ingroup axis2_interface
+ * @{
+ */
+
+struct woden_interface_msg_ref_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *interface_msg_ref_element,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *interface_msg_ref_element,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_msg_label) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ void *msg_label);
+
+ void *(AXIS2_CALL *
+ get_msg_label) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_msg_content_model) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ axis2_char_t *nm_token);
+
+ axis2_char_t *(AXIS2_CALL *
+ get_msg_content_model) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+ /**
+ * Set the QName that represents the 'element' attribute of the interface
+ * operation <input> or <output> element. This identifies a Schema
+ * element declaration.
+ *
+ * @param qname the QName that identifies a Schema element declaration
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_element_qname) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ axis2_qname_t *element);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_element_qname) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+ /**
+ * Returns the Schema element declaration identified by the QName in the 'element'
+ * attribute of the interface operation <input> or <output> element.
+ * If this QName does not resolve to an element declaration in a schema that is visible
+ * to the containing WSDL description, null will be returned by this method.
+ * To be visible, the Schema must have been correctly imported or inlined within
+ * the <types> element.
+ *
+ * @return the XmlSchemaElement identified by the 'element' attribute
+ */
+ void *(AXIS2_CALL *
+ get_element) (
+ 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_interface_msg_ref_element_base
+{
+ woden_documentable_element_t documentable_element;
+ woden_configurable_element_t configurable_element;
+ woden_nested_element_t nested_element;
+};
+
+struct woden_interface_msg_ref_element
+{
+ woden_interface_msg_ref_element_base_t base;
+ woden_interface_msg_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_msg_ref_element_t * AXIS2_CALL
+woden_interface_msg_ref_element_create(
+ const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_msg_ref_element_resolve_methods(
+ woden_interface_msg_ref_element_t *interface_msg_ref_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_FREE(interface_msg_ref_element, env) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ free (interface_msg_ref_element, env))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_TYPE(interface_msg_ref_element, env) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ type (interface_msg_ref_element, env))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_MSG_LABEL(interface_msg_ref_element, env, msg_label) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ set_msg_label (interface_msg_ref_element, env, msg_label))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_MSG_LABEL(interface_msg_ref_element, env) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ get_msg_label (interface_msg_ref_element, env))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_MSG_CONTENT_MODEL(interface_msg_ref_element, env, nm_token) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ set_msg_content_model (interface_msg_ref_element, env, nm_token))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_MSG_CONTENT_MODEL(interface_msg_ref_element, env) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ get_msg_content_model (interface_msg_ref_element, env))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_ELEMENT_QNAME(interface_msg_ref_element, env, element) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ set_element_qname (interface_msg_ref_element, env, element))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_ELEMENT_QNAME(interface_msg_ref_element, env) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ get_element_qname (interface_msg_ref_element, env))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_ELEMENT(interface_msg_ref_element, env) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ get_element (interface_msg_ref_element, env))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_DIRECTION(interface_msg_ref_element, env, dir) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ set_direction (interface_msg_ref_element, env, dir))
+
+#define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_DIRECTION(interface_msg_ref_element, env) \
+ (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ get_direction (interface_msg_ref_element, env))
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_MSG_REF_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_interface_op.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_op.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_op.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_op.h Wed Jul 5 23:02:19 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 WODEN_INTERFACE_OP_H
+#define WODEN_INTERFACE_OP_H
+
+/**
+ * @file woden_interface_op.h
+ * @brief Axis2 Interface Operation Interface Operation
+ *
+ */
+
+#include <woden.h>
+#include <woden_interface_op_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_interface_op Interface Operation
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_interface_op_base woden_interface_op_base_t;
+typedef struct woden_interface_op woden_interface_op_t;
+typedef struct woden_interface_op_ops woden_interface_op_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_interface_op_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *interface_op,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *interface_op,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *interface_op,
+ const axis2_env_t *env);
+ /**
+ * @return the base implementation class
+ */
+ struct woden_nested_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *interface_op,
+ const axis2_env_t *env);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *interface_op,
+ const axis2_env_t *env);
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_msg_exchange_pattern) (
+ void *interface_op,
+ const axis2_env_t *env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_msg_refs) (
+ void *interface_op,
+ const axis2_env_t *env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_fault_refs) (
+ void *interface_op,
+ const axis2_env_t *env);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_style) (
+ void *interface_op,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *interface_op,
+ const axis2_env_t *env);
+
+};
+
+union woden_interface_op_base
+{
+ woden_nested_configurable_t nested_configurable;
+ woden_interface_op_element_t interface_op_element;
+};
+
+struct woden_interface_op
+{
+ woden_interface_op_base_t base;
+ woden_interface_op_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_interface_op_element(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_nested_configurable(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_nested_component(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_configurable(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_nested_element(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_configurable_element(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_documentable_element(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_documentable(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_attr_extensible(
+ void *interface_op,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_op_t * AXIS2_CALL
+woden_interface_op_to_element_extensible(
+ void *interface_op,
+ const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_op_resolve_methods(
+ woden_interface_op_t *interface_op,
+ const axis2_env_t *env,
+ woden_interface_op_t *interface_op_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_OP_FREE(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->free(interface_op, env))
+
+#define WODEN_INTERFACE_OP_SUPER_OBJS(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->super_objs(interface_op, env))
+
+#define WODEN_INTERFACE_OP_TYPE(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->type(interface_op, env))
+
+#define WODEN_INTERFACE_OP_GET_BASE_IMPL(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->get_base_impl(interface_op, env))
+
+#define WODEN_INTERFACE_OP_GET_QNAME(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->\
+ get_qname(interface_op, env))
+
+#define WODEN_INTERFACE_OP_GET_MSG_EXCHANGE_PATTERN(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->\
+ get_msg_exchange_pattern(interface_op, env))
+
+#define WODEN_INTERFACE_OP_GET_INTERFACE_MSG_REFS(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->\
+ get_interface_msg_refs(interface_op, env))
+
+#define WODEN_INTERFACE_OP_GET_INTERFACE_FAULT_REFS(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->\
+ get_interface_fault_refs(interface_op, env))
+
+#define WODEN_INTERFACE_OP_GET_STYLE(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->\
+ get_style(interface_op, env))
+
+#define WODEN_INTERFACE_OP_TO_ELEMENT(interface_op, env) \
+ (((woden_interface_op_t *) interface_op)->ops->\
+ to_element(interface_op, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_OP_H */
Added: webservices/axis2/trunk/c/woden/include/woden_interface_op_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_op_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_op_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_op_element.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,242 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_INTERFACE_OP_ELEMENT_H
+#define WODEN_INTERFACE_OP_ELEMENT_H
+
+/**
+ * @file woden_interface_op_element.h
+ * @brief Axis2 Interface Msg Reference Element Interface
+ * This interface represents an <operation> child element
+ * of the WSDL <interface> element.
+ * It declares the behaviour required to support parsing,
+ * creating and manipulating an <operation> element.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_interface_op_element woden_interface_op_element_t;
+typedef struct woden_interface_op_element_ops woden_interface_op_element_ops_t;
+typedef union woden_interface_op_element_base woden_interface_op_element_base_t;
+
+/** @defgroup woden_interface_op_element Interface Msg Reference Element
+ * @ingroup axis2_interface
+ * @{
+ */
+
+struct woden_interface_op_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *interface_op_element,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *interface_op_element,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_qname) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *iface_op_ele,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_pattern) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ axis2_uri_t *uri);
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_pattern) (
+ void *iface_op_ele,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ add_style_uri) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ axis2_uri_t *uri);
+
+ axis2_status_t (AXIS2_CALL *
+ remove_style_uri) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ axis2_uri_t *uri);
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_style) (
+ void *iface_op_ele,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ add_interface_msg_ref_element) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ void *msg_ref);
+
+ axis2_status_t (AXIS2_CALL *
+ remove_interface_msg_ref_element) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ void *msg_ref);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_msg_ref_elements) (
+ void *iface_op_ele,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ add_interface_fault_ref_element) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ void *fault_ref);
+
+ axis2_status_t (AXIS2_CALL *
+ remove_interface_fault_ref_element) (
+ void *iface_op_ele,
+ const axis2_env_t *env,
+ void *fault_ref);
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_interface_fault_ref_elements) (
+ void *iface_op_ele,
+ const axis2_env_t *env);
+
+
+};
+
+union woden_interface_op_element_base
+{
+ woden_documentable_element_t documentable_element;
+ woden_configurable_element_t configurable_element;
+ woden_nested_element_t nested_element;
+};
+
+struct woden_interface_op_element
+{
+ woden_interface_op_element_base_t base;
+ woden_interface_op_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_op_element_t * AXIS2_CALL
+woden_interface_op_element_create(
+ const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_op_element_resolve_methods(
+ woden_interface_op_element_t *interface_op_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_OP_ELEMENT_FREE(interface_op_element, env) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ free (interface_op_element, env))
+
+#define WODEN_INTERFACE_OP_ELEMENT_TYPE(interface_op_element, env) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ type (interface_op_element, env))
+
+#define WODEN_INTERFACE_OP_ELEMENT_SET_QNAME(interface_op_element, env, qname) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ set_qname (interface_op_element, env, qname))
+
+#define WODEN_INTERFACE_OP_ELEMENT_GET_QNAME(interface_op_element, env) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ get_qname (interface_op_element, env))
+
+#define WODEN_INTERFACE_OP_ELEMENT_SET_PATTERN(interface_op_element, env, uri) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ set_pattern (interface_op_element, env, uri))
+
+#define WODEN_INTERFACE_OP_ELEMENT_GET_PATTERN(interface_op_element, env) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ get_pattern (interface_op_element, env))
+
+#define WODEN_INTERFACE_OP_ELEMENT_ADD_STYLE_URI(interface_op_element, env, uri) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ add_style_uri (interface_op_element, env, uri))
+
+#define WODEN_INTERFACE_OP_ELEMENT_REMOVE_STYLE_URI(interface_op_element, env, uri) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ remove_style_uri (interface_op_element, env, uri))
+
+#define WODEN_INTERFACE_OP_ELEMENT_GET_STYLE(interface_op_element, env) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ get_style (interface_op_element, env))
+
+#define WODEN_INTERFACE_OP_ELEMENT_ADD_INTERFACE_MSG_REF_ELEMENT(interface_op_element, env, msg_ref) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ add_interface_msg_ref_element (interface_op_element, env, msg_ref))
+
+#define WODEN_INTERFACE_OP_ELEMENT_REMOVE_MSG_REF_ELEMENT(interface_op_element, env, msg_ref) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ remove_msg_ref_element (interface_op_element, env, msg_ref))
+
+#define WODEN_INTERFACE_OP_ELEMENT_GET_INTERFACE_MSG_REF_ELEMENTS(interface_op_element, env) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ get_interface_msg_ref_elements (interface_op_element, env))
+
+#define WODEN_INTERFACE_OP_ELEMENT_ADD_INTERFACE_FAULT_REF_ELEMENT(interface_op_element, env, fault_ref) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ add_interface_fault_ref_element (interface_op_element, env, fault_ref))
+
+#define WODEN_INTERFACE_OP_ELEMENT_REMOVE_FAULT_REF_ELEMENT(interface_op_element, env, fault_ref) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ remove_fault_ref_element (interface_op_element, env, fault_ref))
+
+#define WODEN_INTERFACE_OP_ELEMENT_GET_INTERFACE_FAULT_REF_ELEMENTS(interface_op_element, env) \
+ (((woden_interface_op_element_t *) interface_op_element)->ops->\
+ get_interface_fault_ref_elements (interface_op_element, env))
+
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_OP_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_msg_label.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_msg_label.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_msg_label.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_msg_label.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,143 @@
+/*
+ * 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_MSG_LABEL_H
+#define WODEN_MSG_LABEL_H
+
+/**
+ * @file woden_msg_label.h
+ * @brief Axis2 Message Label Interface
+ * This class defines the values of the {msg_label} property of
+ * Interface Message Reference and Interface Fault Reference. This property
+ * indicates whether a message is coming "in" to the service or going "out"
+ * from the service.
+ * <p>
+ * The property is represented in XML by the message or fault
+ * reference element's tag name:
+ * <ul>
+ * <li><input> and <infault> have the msg_label "in" -
+ * represented by the constant IN
+ * <li><output> and <outfault> have the msg_label "out" -
+ * represented by the constant OUT
+ * </ul>
+ * This class uses the typesafe enum pattern. Applications should use the
+ * constants defined in this class to specify or to
+ * evaluate msg_label.
+ * <p>
+ * Examples:
+ * <pre>
+ * WODEN_INTERFACE_MSG_REF_SET_MSG_LABEL(msg_ref, env, msg_ref->WODEN_IN);
+ * if(msg_ref->WODEN_IN == WODEN_INTERFACE_MSG_REF_GET_MSG_LABEL(msg_ref, env))
+ * ...
+ *
+ * </pre>
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_msg_label woden_msg_label_t;
+typedef struct woden_msg_label_ops woden_msg_label_ops_t;
+struct woden_ext_element;
+
+/** @defgroup woden_msg_label Message Label
+ * @ingroup woden
+ * @{
+ */
+
+struct woden_msg_label_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *msg_label,
+ const axis2_env_t *env);
+
+ axis2_char_t *(AXIS2_CALL *
+ to_string) (
+ void *msg_label,
+ const axis2_env_t *env);
+
+ axis2_bool_t (AXIS2_CALL *
+ is_valid) (
+ void *msg_label,
+ const axis2_env_t *env);
+
+ axis2_bool_t (AXIS2_CALL *
+ equals) (
+ void *msg_label,
+ const axis2_env_t *env,
+ woden_msg_label_t *other);
+
+
+};
+
+struct woden_msg_label
+{
+ woden_msg_label_ops_t *ops;
+
+};
+
+AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
+woden_msg_label_get_msg_label_in(
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
+woden_msg_label_get_msg_label_out(
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_msg_label_t *AXIS2_CALL
+woden_msg_label_get_invalid_value(
+ const axis2_env_t *env,
+ const axis2_char_t *value);
+
+#define WODEN_MSG_LABEL_FREE(msg_label, env) \
+ (((woden_msg_label_t *) msg_label)->ops->\
+ free (msg_label, env))
+
+#define WODEN_MSG_LABEL_TO_STRING(msg_label, env) \
+ (((woden_msg_label_t *) msg_label)->ops->\
+ to_string (msg_label, env))
+
+#define WODEN_MSG_LABEL_IS_VALID(msg_label, env) \
+ (((woden_msg_label_t *) msg_label)->ops->\
+ is_valid (msg_label, env))
+
+#define WODEN_MSG_LABEL_EQUALS(msg_label, env, other) \
+ (((woden_msg_label_t *) msg_label)->ops->\
+ equals (msg_label, env, other))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_MSG_LABEL_H */
Added: webservices/axis2/trunk/c/woden/include/woden_msg_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_msg_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_msg_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_msg_ref_element.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,216 @@
+/*
+ * 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_MSG_REG_ELEMENT_H
+#define WODEN_MSG_REG_ELEMENT_H
+
+/**
+ * @file woden_msg_ref_element.h
+ * @brief Axis2 Interface Msg Reference Element Interface
+ * This interface represents the <input> and <output>
+ * child elements of interface operation.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_msg_ref_element woden_msg_ref_element_t;
+typedef struct woden_msg_ref_element_ops woden_msg_ref_element_ops_t;
+typedef union woden_msg_ref_element_base woden_msg_ref_element_base_t;
+
+/** @defgroup woden_msg_ref_element Interface Msg Reference Element
+ * @ingroup axis2_interface
+ * @{
+ */
+
+struct woden_msg_ref_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *msg_ref_element,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *msg_ref_element,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_msg_label) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ void *msg_label);
+
+ void *(AXIS2_CALL *
+ get_msg_label) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_msg_content_model) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ axis2_char_t *nm_token);
+
+ axis2_char_t *(AXIS2_CALL *
+ get_msg_content_model) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+ /**
+ * Set the QName that represents the 'element' attribute of the interface
+ * operation <input> or <output> element. This identifies a Schema
+ * element declaration.
+ *
+ * @param qname the QName that identifies a Schema element declaration
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_element_qname) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ axis2_qname_t *element);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_element_qname) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
+ /**
+ * Returns the Schema element declaration identified by the QName in the 'element'
+ * attribute of the interface operation <input> or <output> element.
+ * If this QName does not resolve to an element declaration in a schema that is visible
+ * to the containing WSDL description, null will be returned by this method.
+ * To be visible, the Schema must have been correctly imported or inlined within
+ * the <types> element.
+ *
+ * @return the XmlSchemaElement identified by the 'element' attribute
+ */
+ void *(AXIS2_CALL *
+ get_element) (
+ 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_msg_ref_element_base
+{
+ woden_documentable_element_t documentable_element;
+ woden_configurable_element_t configurable_element;
+ woden_nested_element_t nested_element;
+};
+
+struct woden_msg_ref_element
+{
+ woden_msg_ref_element_base_t base;
+ woden_msg_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_msg_ref_element_t * AXIS2_CALL
+woden_msg_ref_element_create(
+ const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_msg_ref_element_resolve_methods(
+ woden_msg_ref_element_t *msg_ref_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_MSG_REG_ELEMENT_FREE(msg_ref_element, env) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ free (msg_ref_element, env))
+
+#define WODEN_MSG_REG_ELEMENT_TYPE(msg_ref_element, env) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ type (msg_ref_element, env))
+
+#define WODEN_MSG_REG_ELEMENT_SET_MSG_LABEL(msg_ref_element, env, msg_label) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ set_msg_label (msg_ref_element, env, msg_label))
+
+#define WODEN_MSG_REG_ELEMENT_GET_MSG_LABEL(msg_ref_element, env) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ get_msg_label (msg_ref_element, env))
+
+#define WODEN_MSG_REG_ELEMENT_SET_MSG_CONTENT_MODEL(msg_ref_element, env, nm_token) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ set_msg_content_model (msg_ref_element, env, nm_token))
+
+#define WODEN_MSG_REG_ELEMENT_GET_MSG_CONTENT_MODEL(msg_ref_element, env) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ get_msg_content_model (msg_ref_element, env))
+
+#define WODEN_MSG_REG_ELEMENT_SET_ELEMENT_QNAME(msg_ref_element, env, element) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ set_element_qname (msg_ref_element, env, element))
+
+#define WODEN_MSG_REG_ELEMENT_GET_ELEMENT_QNAME(msg_ref_element, env) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ get_element_qname (msg_ref_element, env))
+
+#define WODEN_MSG_REG_ELEMENT_GET_ELEMENT(msg_ref_element, env) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ get_element (msg_ref_element, env))
+
+#define WODEN_MSG_REG_ELEMENT_SET_DIRECTION(msg_ref_element, env, dir) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ set_direction (msg_ref_element, env, dir))
+
+#define WODEN_MSG_REG_ELEMENT_GET_DIRECTION(msg_ref_element, env) \
+ (((woden_msg_ref_element_t *) msg_ref_element)->ops->\
+ get_direction (msg_ref_element, env))
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_MSG_REG_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_nc_name.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_nc_name.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_nc_name.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_nc_name.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_NC_NAME_H
+#define WODEN_NC_NAME_H
+
+/**
+ * @file woden_nc_name.h
+ * @brief Axis2 NC Name Interface
+ * This class represents the data type NCName use for XML non-colonized names.
+ * It is based on the class of the same name in Apache Axis.
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_uri.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_nc_name woden_nc_name_t;
+typedef struct woden_nc_name_ops woden_nc_name_ops_t;
+struct axis2_xml_nc_name;
+
+/** @defgroup woden_nc_name NC Name
+ * @ingroup woden
+ * @{
+ */
+
+struct woden_nc_name_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *nc_name,
+ const axis2_env_t *env);
+
+ axis2_bool_t (AXIS2_CALL *
+ is_valid) (
+ void *nc_name,
+ const axis2_env_t *env,
+ axis2_char_t *st_value);
+
+ /**
+ *
+ * @param value String representing an NCName
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_value) (
+ void *nc_name,
+ const axis2_env_t *env,
+ axis2_char_t *value);
+
+ axis2_char_t *(AXIS2_CALL *
+ to_string) (
+ void *nc_name,
+ const axis2_env_t *env);
+
+
+};
+
+struct woden_nc_name
+{
+ woden_nc_name_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_nc_name_t * AXIS2_CALL
+woden_nc_name_create(
+ const axis2_env_t *env,
+ axis2_char_t *value);
+
+#define WODEN_NC_NAME_FREE(nc_name, env) \
+ (((woden_nc_name_t *) nc_name)->ops->free (nc_name, env))
+
+#define WODEN_NC_NAME_IS_VALID(nc_name, env, st_value) \
+ (((woden_nc_name_t *) nc_name)->ops-> \
+ is_valid (nc_name, env, st_value))
+
+#define WODEN_NC_NAME_SET_VALUE(nc_name, env, value) \
+ (((woden_nc_name_t *) nc_name)->ops-> \
+ set_value (nc_name, env, value))
+
+#define WODEN_NC_NAME_TO_STRING(nc_name, env) \
+ (((woden_nc_name_t *) nc_name)->ops-> \
+ to_string (nc_name, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_NC_NAME_H */
Added: webservices/axis2/trunk/c/woden/include/woden_nested_component.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_nested_component.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_nested_component.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_nested_component.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,119 @@
+/*
+ * 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_NESTED_COMPONENT_H
+#define WODEN_NESTED_COMPONENT_H
+
+/**
+ * @file woden_nested_component.h
+ * @brief Axis2 Nested Component Interface
+ * Components which are nested within a 'top-level' component will extend
+ * this interface. These are Property, Feature and the sub components of
+ * Interface, Binding and Service.
+ * <p>
+ * The components which are not nested are Description, Interface,
+ * Binding, Service, ElementDeclaration and TypeDefinition.
+ *
+ */
+
+#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 <woden.h>
+#include <woden_wsdl_component.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_nested_component woden_nested_component_t;
+typedef struct woden_nested_component_ops woden_nested_component_ops_t;
+struct woden_component_exts;
+
+/** @defgroup woden_nested_component Nested Component
+ * @ingroup woden
+ * @{
+ */
+
+struct woden_nested_component_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *nested_component,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_nested_component_free) (
+ void *nested_component,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *nested_component,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_parent) (
+ void *nested_component,
+ const axis2_env_t *env);
+
+};
+
+struct woden_nested_component
+{
+ woden_wsdl_component_t wsdl_component;
+ woden_nested_component_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_nested_component_resolve_methods(
+ woden_nested_component_t *nested_component,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_NESTED_COMPONENT_FREE(nested_component, env) \
+ (((woden_nested_component_t *) nested_component)->ops->\
+ free (nested_component, env))
+
+#define WODEN_NESTED_COMPONENT_TO_NESTED_COMPONENT_FREE(nested_component, \
+ env) \
+ (((woden_nested_component_t *) nested_component)->ops->\
+ to_nested_component_free (nested_component, env))
+
+#define WODEN_NESTED_COMPONENT_TYPE(nested_component, env) \
+ (((woden_nested_component_t *) nested_component)->ops->\
+ type (nested_component, env))
+
+#define WODEN_NESTED_COMPONENT_GET_PARENT(\
+ nested_component, env) \
+ (((woden_nested_component_t *) nested_component)->ops->\
+ get_parent(nested_component, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_NESTED_COMPONENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_nested_configurable.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_nested_configurable.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_nested_configurable.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_nested_configurable.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_NESTED_CONFIGURABLE_H
+#define WODEN_NESTED_CONFIGURABLE_H
+
+/**
+ * @file 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.h>
+#include <woden_nested_component.h>
+#include <woden_nested_element.h>
+#include <woden_configurable.h>
+
+/** @defgroup woden_nested_configurable Nested Configurable
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_nested_configurable_base woden_nested_configurable_base_t;
+typedef struct woden_nested_configurable woden_nested_configurable_t;
+typedef struct woden_nested_configurable_ops woden_nested_configurable_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_nested_configurable_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *nested_configurable,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_nested_configurable_free) (
+ void *nested_configurable,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *nested_configurable,
+ const axis2_env_t *env);
+
+ /**
+ * @return the base implementation class
+ */
+ struct woden_configurable *(AXIS2_CALL *
+ get_base_impl) (
+ void *nested_configurable,
+ const axis2_env_t *env);
+
+};
+
+union woden_nested_configurable_base
+{
+ woden_configurable_t configurable;
+ woden_nested_element_t nested_element;
+ woden_nested_component_t nested_component;
+};
+
+struct woden_nested_configurable
+{
+ woden_nested_configurable_base_t base;
+ woden_nested_configurable_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_nested_configurable_t * AXIS2_CALL
+woden_nested_configurable_create(
+ const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN woden_nested_configurable_t * AXIS2_CALL
+woden_nested_configurable_to_nested_element(
+ void *nested_configurable,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_nested_configurable_resolve_methods(
+ woden_nested_configurable_t *nested_configurable,
+ const axis2_env_t *env,
+ woden_nested_configurable_t *nested_configurable_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+
+#define WODEN_NESTED_CONFIGURABLE_FREE(nested_configurable, env) \
+ (((woden_nested_configurable_t *) nested_configurable)->ops->\
+ free(nested_configurable, env))
+
+#define WODEN_NESTED_CONFIGURABLE_TO_NESTED_CONFIGURABLE_FREE(nested_configurable, env) \
+ (((woden_nested_configurable_t *) nested_configurable)->ops->\
+ to_nested_configurable_free(nested_configurable, env))
+
+#define WODEN_NESTED_CONFIGURABLE_SUPER_OBJS(nested_configurable, env) \
+ (((woden_nested_configurable_t *) nested_configurable)->ops->\
+ super_objs(nested_configurable, env))
+
+#define WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_configurable, env) \
+ (((woden_nested_configurable_t *) nested_configurable)->ops->\
+ get_base_impl(nested_configurable, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_NESTED_CONFIGURABLE_H */
Added: webservices/axis2/trunk/c/woden/include/woden_nested_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_nested_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_nested_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_nested_element.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,123 @@
+/*
+ * 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_NESTED_ELEMENT_H
+#define WODEN_NESTED_ELEMENT_H
+
+/**
+ * @file woden_nested_element.h
+ * @brief Axis2 Nested Element Interface
+ * Elements which are nested within a 'top-level' WSDL element will
+ * extend this interface. These are <feature>, <property>
+ * and the child elements of <interface>, <binding> and
+ * <service>.
+ * <p>
+ * The elements which are not nested are <description>,
+ * <import>, <include>, <types>, <interface>,
+ * <binding> and <service>.
+ *
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <woden.h>
+#include <woden_wsdl_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_nested_element woden_nested_element_t;
+typedef struct woden_nested_element_ops woden_nested_element_ops_t;
+struct woden_wsdl_element;
+
+/** @defgroup woden_nested_element Nested Element
+ * @ingroup woden
+ * @{
+ */
+
+struct woden_nested_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *nested_el,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *nested_el,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_parent_element) (
+ void *nested_el,
+ const axis2_env_t *env,
+ struct woden_wsdl_element *parent);
+
+ void *(AXIS2_CALL *
+ get_parent_element) (
+ void *nested_el,
+ const axis2_env_t *env);
+
+};
+
+struct woden_nested_element
+{
+ woden_wsdl_element_t wsdl_element;
+ woden_nested_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods*****************************/
+axis2_status_t AXIS2_CALL
+woden_nested_element_resolve_methods(
+ woden_nested_element_t *nested_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_NESTED_ELEMENT_FREE(nested_el, env) \
+ (((woden_nested_element_t *) nested_el)->ops->\
+ free (nested_el, env))
+
+#define WODEN_NESTED_ELEMENT_TYPE(nested_el, env) \
+ (((woden_nested_element_t *) nested_el)->ops->\
+ type (nested_el, env))
+
+#define WODEN_NESTED_ELEMENT_SET_PARENT_ELEMENT(nested_el, env, parent) \
+ (((woden_nested_element_t *) nested_el)->ops->\
+ set_parent_element(nested_el, env, parent))
+
+#define WODEN_NESTED_ELEMENT_GET_PARENT_ELEMENT(nested_el, env) \
+ (((woden_nested_element_t *) nested_el)->ops->\
+ get_parent_element(nested_el, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_NESTED_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_property.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_property.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_property.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_property.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,236 @@
+/*
+ * 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_PROPERTY_H
+#define WODEN_PROPERTY_H
+
+/**
+ * @file 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.h>
+#include <woden_property_element.h>
+#include <woden_wsdl_obj.h>
+#include <woden_documentable.h>
+#include <woden_nested_component.h>
+
+/** @defgroup woden_property Property
+ * @ingroup woden
+ * @{
+ */
+
+typedef union woden_property_base woden_property_base_t;
+typedef struct woden_property woden_property_t;
+typedef struct woden_property_ops woden_property_ops_t;
+struct woden_documentation_element;
+struct woden_wsdl_component;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_property_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (void *property,
+ const axis2_env_t *env);
+
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (void *property,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (void *property,
+ const axis2_env_t *env);
+ /**
+ * @return the base implementation class
+ */
+ struct woden_documentable *(AXIS2_CALL *
+ get_base_impl) (
+ void *property,
+ const axis2_env_t *env);
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_ref) (
+ void *property,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_value_constraint) (
+ void *property,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_value) (
+ void *property,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_parent) (
+ void *property,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ to_element) (
+ void *property,
+ const axis2_env_t *env);
+
+ /* ****************************************************************************
+ * Non-API implementation methods
+ * ***************************************************************************/
+ axis2_status_t (AXIS2_CALL *
+ set_value_constraint) (
+ void *property,
+ const axis2_env_t *env,
+ void *type_def);
+
+ axis2_status_t (AXIS2_CALL *
+ set_types) (
+ void *property,
+ const axis2_env_t *env,
+ void *types);
+
+};
+
+union woden_property_base
+{
+ woden_documentable_t documentable;
+ woden_property_element_t property_element;
+ woden_nested_component_t nested_component;
+};
+
+struct woden_property
+{
+ woden_property_base_t base;
+ woden_property_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_create(
+ const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_property_element(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_nested_element(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_documentable_element(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_documentable(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_wsdl_obj(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_nested_component(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_wsdl_component(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_element_extensible(
+ void *property,
+ const axis2_env_t *env);
+
+AXIS2_EXTERN woden_property_t * AXIS2_CALL
+woden_property_to_attr_extensible(
+ void *property,
+ const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_property_resolve_methods(
+ woden_property_t *property,
+ const axis2_env_t *env,
+ woden_property_t *property_impl,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_PROPERTY_FREE(property, env) \
+ (((woden_property_t *) property)->ops->free(property, env))
+
+#define WODEN_PROPERTY_SUPER_OBJS(property, env) \
+ (((woden_property_t *) property)->ops->super_objs(property, env))
+
+#define WODEN_PROPERTY_TYPE(property, env) \
+ (((woden_property_t *) property)->ops->type(property, env))
+
+#define WODEN_PROPERTY_GET_BASE_IMPL(property, env) \
+ (((woden_property_t *) property)->ops->get_base_impl(property, env))
+
+#define WODEN_PROPERTY_GET_REF(property, env) \
+ (((woden_property_t *) property)->\
+ get_ref(property, env))
+
+#define WODEN_PROPERTY_GET_VALUE_CONSTRAINT(property, env) \
+ (((woden_property_t *) property)->\
+ get_value_constraint(property, env))
+
+#define WODEN_PROPERTY_GET_VALUE(property, env) \
+ (((woden_property_t *) property)->\
+ get_value(property, env))
+
+#define WODEN_PROPERTY_GET_PARENT(property, env) \
+ (((woden_property_t *) property)->ops->\
+ get_parent(property, env))
+
+#define WODEN_PROPERTY_TO_ELEMENT(property, env) \
+ (((woden_property_t *) property)->ops->\
+ to_element(property, env))
+
+#define WODEN_PROPERTY_SET_VALUE_CONSTRAINT(property, env, type_def) \
+ (((woden_property_t *) property)->ops->\
+ set_value_constraint(property, env, type_def))
+
+#define WODEN_PROPERTY_SET_TYPES(property, env, types) \
+ (((woden_property_t *) property)->ops->\
+ set_types(property, env, types))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_PROPERTY_H */
Added: webservices/axis2/trunk/c/woden/include/woden_property_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_property_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_property_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_property_element.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,229 @@
+/*
+ * 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_PROPERTY_ELEMENT_H
+#define WODEN_PROPERTY_ELEMENT_H
+
+/**
+ * @file woden_property_element.h
+ * Represents the <property> element and its child elements;
+ * <documentation>,
+ * <value> or <constraint> and
+ * any extension elements.
+ * <p>
+ * A property may have a value or a constraint but not both. If it
+ * has a value, the <constraint> element may only contain the
+ * the NM Token <code>#value</code>, in which case
+ * <code>has_value_token()</code> will return true
+ * and <code>get_constraint</code> will return null.
+ * @brief Axis2 Property Element Interface
+ *
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_generic_obj.h>
+#include <axis2_uri.h>
+#include <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_nested_element.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_property_element woden_property_element_t;
+typedef struct woden_property_element_ops woden_property_element_ops_t;
+typedef union woden_property_element_base woden_property_element_base_t;
+struct xml_schema_type;
+
+/** @defgroup woden_property_element Property Element
+ * @ingroup woden
+ * @{
+ */
+
+struct woden_property_element_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *doc_el,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *doc_el,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_ref) (void *doc_el,
+ const axis2_env_t *env,
+ axis2_uri_t *uri);
+
+ axis2_uri_t *(AXIS2_CALL *
+ get_ref) (void *doc_el,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_value) (void *doc_el,
+ const axis2_env_t *env,
+ axis2_generic_obj_t *value);
+
+ axis2_generic_obj_t *(AXIS2_CALL *
+ get_value) (void *doc_el,
+ const axis2_env_t *env);
+
+ /**
+ * Set the QName represented by the <constraint> element within the
+ * <property> element. This QName identifies a global type definition
+ * from a schema inlined or imported within the <types> element.
+ * Note that the use of the NMToken <code>#value</code>
+ * as the constraint, instead of a QName, is captured using the
+ * <code>set_has_value_token</code> method.
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_constraint_qname) (
+ void *property_el,
+ const axis2_env_t *env,
+ axis2_qname_t *qname);
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_constraint_qname) (
+ void *property_el,
+ const axis2_env_t *env);
+
+ /**
+ * Returns the Schema type definition identified by the QName in the <
+ * constraint> element within the <property> element.
+ * If this QName does not resolve to an type definition in a schema that
+ * is visible to the containing WSDL description, null will be returned by
+ * this method. To be visible, the Schema must have been correctly imported
+ * or inlined within the <types> element.
+ *
+ * @return the Xml Schema Type identified by the <constraint> element
+ */
+ struct xml_schema_type *(AXIS2_CALL *
+ get_constraint) (
+ void *property_el,
+ const axis2_env_t *env);
+
+ /**
+ * Set to true if <constraint> specifies the NMToken <code>"#value"
+ * </code> rather than a QName, indicating that this property specifies a
+ * value rather than a constraint.
+ * Set to false if <constraint> does not specify the NMToken "#value",
+ * or if it is omitted.
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_has_value_token) (
+ void *property_el,
+ const axis2_env_t *env,
+ axis2_bool_t b);
+
+ /**
+ * Returns true if <constraint> specifies the NMToken "#value" rather
+ * than a QName, indicating that this property specifies a value rather than
+ * a constraint. Returns false if <constraint> does not specify the
+ * NMToken "#value", or if it is omitted.
+ */
+ axis2_bool_t (AXIS2_CALL *
+ has_value_token) (
+ void *property_el,
+ const axis2_env_t *env);
+
+};
+
+union woden_property_element_base
+{
+ woden_documentable_element_t documentable_element;
+ woden_nested_element_t nested_element;
+};
+
+struct woden_property_element
+{
+ woden_property_element_base_t base;
+ woden_property_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods*****************************/
+axis2_status_t AXIS2_CALL
+woden_property_element_resolve_methods(
+ woden_property_element_t *property_element,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_PROPERTY_ELEMENT_FREE(doc_el, env) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ free (doc_el, env))
+
+#define WODEN_PROPERTY_ELEMENT_TYPE(doc_el, env) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ type (doc_el, env))
+
+#define WODEN_PROPERTY_ELEMENT_SET_REF(doc_el, env, uri) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ set_ref(doc_el, env, uri))
+
+#define WODEN_PROPERTY_ELEMENT_GET_REF(doc_el, env) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ get_value(doc_el, env))
+
+#define WODEN_PROPERTY_ELEMENT_SET_VALUE(doc_el, env, value) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ set_value(doc_el, env, value))
+
+#define WODEN_PROPERTY_ELEMENT_GET_VALUE(doc_el, env) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ get_value(doc_el, env))
+
+
+#define WODEN_PROPERTY_ELEMENT_SET_CONSTRAINT_QNAME(doc_el, env, qname) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ set_constraint_qname(doc_el, env, qname))
+
+#define WODEN_PROPERTY_ELEMENT_GET_CONSTRAINT_QNAME(doc_el, env) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ get_constraint_qname(doc_el, env))
+
+#define WODEN_PROPERTY_ELEMENT_GET_CONSTRAINT(doc_el, env) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ get_constraint(doc_el, env))
+
+#define WODEN_PROPERTY_ELEMENT_SET_HAS_VALUE_TOKEN(doc_el, env, b) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ set_has_value_token(doc_el, env, b))
+
+#define WODEN_PROPERTY_ELEMENT_HAS_VALUE_TOKEN(doc_el, env) \
+ (((woden_property_element_t *) doc_el)->ops->\
+ has_value_token(doc_el, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_PROPERTY_ELEMENT_H */
Added: webservices/axis2/trunk/c/woden/include/woden_qname_attr.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_qname_attr.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_qname_attr.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_qname_attr.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,155 @@
+/*
+ * 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_QNAME_ATTR_H
+#define WODEN_QNAME_ATTR_H
+
+/**
+ * @file woden_qname_attr.h
+ * @brief Axis2 Qname Attribute Interface
+ * This class represents XML attribute information items of type xs:QName.
+ */
+
+#include <woden.h>
+#include <woden_xml_attr.h>
+
+/** @defgroup woden_qname_attr Qname Attribute
+ * @ingroup woden
+ * @{
+ */
+
+typedef struct woden_qname_attr woden_qname_attr_t;
+typedef struct woden_qname_attr_ops woden_qname_attr_ops_t;
+struct axiom_element;
+struct axiom_node;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_qname_attr_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *qname_attr,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_qname_attr_free) (
+ void *qname_attr,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *qname_attr,
+ const axis2_env_t *env);
+
+ /**
+ * @return the base implementation class
+ */
+ woden_xml_attr_t *(AXIS2_CALL *
+ get_base_impl) (
+ void *qname_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * QNameAttr interface declared methods
+ * ************************************************************/
+
+ axis2_qname_t *(AXIS2_CALL *
+ get_qname) (
+ void *qname_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+
+ /*
+ * Convert a string of type xs:QName to a axis2_qname_t.
+ * A 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 *qname_attr,
+ const axis2_env_t *env,
+ struct axiom_element *owner_el,
+ struct axiom_node *owner_node,
+ axis2_char_t *attr_value);
+
+
+};
+
+struct woden_qname_attr
+{
+ woden_xml_attr_t base;
+ woden_qname_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_qname_attr_t * AXIS2_CALL
+woden_qname_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_qname_attr_resolve_methods(
+ woden_qname_attr_t *qname_attr,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_QNAME_ATTR_FREE(qname_attr, env) \
+ (((woden_qname_attr_t *) qname_attr)->ops->free(qname_attr, env))
+
+#define WODEN_QNAME_ATTR_TO_QNAME_ATTR_FREE(qname_attr, env) \
+ (((woden_qname_attr_t *) qname_attr)->ops->\
+ to_qname_attr_free(qname_attr, env))
+
+#define WODEN_QNAME_ATTR_TYPE(qname_attr, env) \
+ (((woden_qname_attr_t *) qname_attr)->ops->type(qname_attr, env))
+
+#define WODEN_QNAME_ATTR_GET_BASE_IMPL(qname_attr, env) \
+ (((woden_qname_attr_t *) qname_attr)->ops->get_base_impl(qname_attr, \
+ env))
+
+#define WODEN_QNAME_ATTR_GET_QNAME(qname_attr, env) \
+ (((woden_qname_attr_t *) qname_attr)->ops->get_qname(qname_attr, \
+ env))
+
+#define WODEN_QNAME_ATTR_CONVERT(qname_attr, env) \
+ (((woden_qname_attr_t *) qname_attr)->ops->convert(qname_attr, \
+ env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_QNAME_ATTR_H */
Added: webservices/axis2/trunk/c/woden/include/woden_qname_list_attr.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_qname_list_attr.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_qname_list_attr.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_qname_list_attr.h Wed Jul 5 23:02:19 2006
@@ -0,0 +1,161 @@
+/*
+ * 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_QNAME_LIST_ATTR_H
+#define WODEN_QNAME_LIST_ATTR_H
+
+/**
+ * @file woden_qname_list_attr.h
+ * @brief Axis2 QName List Attribute Interface
+ * This class represents XML attribute information items of type
+ * xs:list of QNames.
+ */
+
+#include <woden.h>
+#include <woden_xml_attr.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_qname_list_attr QName List Attribute
+ * @ingroup woden
+ * @{
+ */
+
+typedef struct woden_qname_list_attr woden_qname_list_attr_t;
+typedef struct woden_qname_list_attr_ops woden_qname_list_attr_ops_t;
+struct axiom_element;
+struct axiom_node;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_qname_list_attr_ops
+{
+ /**
+ * Deallocate memory
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ free) (
+ void *qname_list_attr,
+ const axis2_env_t *env);
+
+ axis2_status_t (AXIS2_CALL *
+ to_qname_list_attr_free) (
+ void *qname_list_attr,
+ const axis2_env_t *env);
+
+ woden_obj_types_t (AXIS2_CALL *
+ type) (
+ void *qname_list_attr,
+ const axis2_env_t *env);
+
+ /**
+ * @return the base implementation class
+ */
+ woden_xml_attr_t *(AXIS2_CALL *
+ get_base_impl) (
+ void *qname_list_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * QNameAttr interface declared methods
+ * ************************************************************/
+
+ axis2_array_list_t *(AXIS2_CALL *
+ get_qnames) (
+ void *qname_list_attr,
+ const axis2_env_t *env);
+
+ /* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+
+ /*
+ * Convert a string of type 'xs:list of QNames' to a java.xml.namespace.QName[].
+ * A a null argument will return a null value.
+ * If a QName string in the list causes a conversion error, it will be reported
+ * and that QName will not appear in the array. Valid QName strings will still
+ * be converted, but the object will be marked invalid. If no QName strings can
+ * be converted, a null value will be returned.
+ */
+ void *(AXIS2_CALL *
+ convert) (
+ void *qname_list_attr,
+ const axis2_env_t *env,
+ struct axiom_element *owner_el,
+ struct axiom_node *owner_node,
+ axis2_char_t *attr_value);
+
+
+};
+
+struct woden_qname_list_attr
+{
+ woden_xml_attr_t base;
+ woden_qname_list_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_qname_list_attr_t * AXIS2_CALL
+woden_qname_list_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_qname_list_attr_resolve_methods(
+ woden_qname_list_attr_t *qname_list_attr,
+ const axis2_env_t *env,
+ axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_QNAME_LIST_ATTR_FREE(qname_list_attr, env) \
+ (((woden_qname_list_attr_t *) qname_list_attr)->ops->free(qname_list_attr, env))
+
+#define WODEN_QNAME_LIST_ATTR_TO_QNAME_LIST_ATTR_FREE(qname_list_attr, env) \
+ (((woden_qname_list_attr_t *) qname_list_attr)->ops->\
+ to_qname_list_attr_free(qname_list_attr, env))
+
+#define WODEN_QNAME_LIST_ATTR_TYPE(qname_list_attr, env) \
+ (((woden_qname_list_attr_t *) qname_list_attr)->ops->\
+ type(qname_list_attr, env))
+
+#define WODEN_QNAME_LIST_ATTR_GET_BASE_IMPL(qname_list_attr, env) \
+ (((woden_qname_list_attr_t *) qname_list_attr)->ops->\
+ get_base_impl(qname_list_attr, env))
+
+#define WODEN_QNAME_LIST_ATTR_GET_QNAMES(qname_list_attr, env) \
+ (((woden_qname_list_attr_t *) qname_list_attr)->ops->\
+ get_qnames(qname_list_attr, env))
+
+#define WODEN_QNAME_LIST_ATTR_CONVERT(qname_list_attr, env) \
+ (((woden_qname_list_attr_t *) qname_list_attr)->ops->\
+ convert(qname_list_attr, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_QNAME_LIST_ATTR_H */
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org