Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 36117 invoked from network); 6 Jul 2006 06:03:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Jul 2006 06:03:59 -0000 Received: (qmail 77662 invoked by uid 500); 6 Jul 2006 06:03:56 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 77497 invoked by uid 500); 6 Jul 2006 06:03:54 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 77438 invoked by uid 500); 6 Jul 2006 06:03:54 -0000 Delivered-To: apmail-ws-axis2-cvs@ws.apache.org Received: (qmail 77273 invoked by uid 99); 6 Jul 2006 06:03:53 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Jul 2006 23:03:53 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Jul 2006 23:03:46 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 2F7831A9823; Wed, 5 Jul 2006 23:03:26 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r419452 [4/46] - in /webservices/axis2/trunk/c/woden: ./ include/ samples/ samples/wsdl10/ src/ src/builder/ src/builder/wsdl10/ src/schema/ src/types/ src/util/ src/wsdl/ src/wsdl/enumeration/ src/wsdl10/ src/wsdl10/enumeration/ src/wsdl10... Date: Thu, 06 Jul 2006 06:02:31 -0000 To: axis2-cvs@ws.apache.org From: damitha@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060706060326.2F7831A9823@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Added: webservices/axis2/trunk/c/woden/include/woden_feature.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_feature.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_feature.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_feature.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,204 @@ +/* + * 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_FEATURE_H +#define WODEN_FEATURE_H + +/** + * @file woden_feature.h + * @brief Axis2 Feature 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 +#include +#include +#include +#include + +/** @defgroup woden_feature Feature + * @ingroup woden + * @{ + */ + +typedef union woden_feature_base woden_feature_base_t; +typedef struct woden_feature woden_feature_t; +typedef struct woden_feature_ops woden_feature_ops_t; +struct woden_documentation_element; +struct woden_wsdl_component; +struct woden_documentable; + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_feature_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) (void *feature, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) (void *feature, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *feature, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + struct woden_documentable *(AXIS2_CALL * + get_base_impl) ( + void *feature, + const axis2_env_t *env); + + axis2_uri_t *(AXIS2_CALL * + get_ref) ( + void *feature, + const axis2_env_t *env); + + axis2_bool_t (AXIS2_CALL * + is_required) ( + void *feature, + const axis2_env_t *env); + + void *(AXIS2_CALL * + get_parent) ( + void *feature, + const axis2_env_t *env); + + void *(AXIS2_CALL * + to_element) ( + void *feature, + const axis2_env_t *env); + +}; + +union woden_feature_base +{ + woden_documentable_t documentable; + woden_feature_element_t feature_element; + woden_nested_component_t nested_component; +}; + +struct woden_feature +{ + woden_feature_base_t base; + woden_feature_ops_t *ops; +}; + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_create( + const axis2_env_t *env); + + +/***************************Woden C Internal Methods***************************/ +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_feature_element( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_nested_element( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_documentable_element( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_documentable( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_wsdl_obj( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_nested_component( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_wsdl_component( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_element_extensible( + void *feature, + const axis2_env_t *env); + +AXIS2_EXTERN woden_feature_t * AXIS2_CALL +woden_feature_to_attr_extensible( + void *feature, + const axis2_env_t *env); + + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_feature_resolve_methods( + woden_feature_t *feature, + const axis2_env_t *env, + woden_feature_t *feature_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_FEATURE_FREE(feature, env) \ + (((woden_feature_t *) feature)->ops->free(feature, env)) + +#define WODEN_FEATURE_SUPER_OBJS(feature, env) \ + (((woden_feature_t *) feature)->ops->super_objs(feature, env)) + +#define WODEN_FEATURE_TYPE(feature, env) \ + (((woden_feature_t *) feature)->ops->type(feature, env)) + +#define WODEN_FEATURE_GET_BASE_IMPL(feature, env) \ + (((woden_feature_t *) feature)->ops->get_base_impl(feature, env)) + +#define WODEN_FEATURE_GET_REF(feature, env) \ + (((woden_feature_t *) feature)->\ + get_ref(feature, env)) + +#define WODEN_FEATURE_IS_REQUIRED(feature, env) \ + (((woden_feature_t *) feature)->\ + is_required(feature, env)) + +#define WODEN_FEATURE_GET_PARENT(feature, env) \ + (((woden_feature_t *) feature)->ops->\ + get_parent(feature, env)) + +#define WODEN_FEATURE_TO_ELEMENT(feature, env) \ + (((woden_feature_t *) feature)->ops->\ + to_element(feature, env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_FEATURE_H */ Added: webservices/axis2/trunk/c/woden/include/woden_feature_element.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_feature_element.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_feature_element.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_feature_element.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,136 @@ +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef WODEN_FEATURE_ELEMENT_H +#define WODEN_FEATURE_ELEMENT_H + +/** + * @file woden_feature_element.h + * @brief Axis2 Feature Element Interface + * Represents the <feature> element. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct woden_feature_element woden_feature_element_t; +typedef struct woden_feature_element_ops woden_feature_element_ops_t; +typedef union woden_feature_element_base woden_feature_element_base_t; + +/** @defgroup woden_feature_element Feature Element + * @ingroup woden + * @{ + */ + +struct woden_feature_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_required) (void *doc_el, + const axis2_env_t *env, + axis2_bool_t required); + + axis2_bool_t (AXIS2_CALL * + is_required) (void *doc_el, + const axis2_env_t *env); + +}; + +union woden_feature_element_base +{ + woden_documentable_element_t documentable_element; + woden_nested_element_t nested_element; +}; + +struct woden_feature_element +{ + woden_feature_element_base_t base; + woden_feature_element_ops_t *ops; +}; + +/************************Woden C Internal Methods******************************/ +axis2_status_t AXIS2_CALL +woden_feature_element_resolve_methods( + woden_feature_element_t *feature_element, + const axis2_env_t *env, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_FEATURE_ELEMENT_FREE(doc_el, env) \ + (((woden_feature_element_t *) doc_el)->ops->\ + free (doc_el, env)) + +#define WODEN_FEATURE_ELEMENT_TYPE(doc_el, env) \ + (((woden_feature_element_t *) doc_el)->ops->\ + type (doc_el, env)) + +#define WODEN_FEATURE_ELEMENT_SET_REF(doc_el, env, uri) \ + (((woden_feature_element_t *) doc_el)->ops->\ + set_ref(doc_el, env, uri)) + +#define WODEN_FEATURE_ELEMENT_GET_REF(doc_el, env) \ + (((woden_feature_element_t *) doc_el)->ops->\ + get_ref(doc_el, env)) + +#define WODEN_FEATURE_ELEMENT_SET_REQUIRED(doc_el, env, required) \ + (((woden_feature_element_t *) doc_el)->ops->\ + set_required(doc_el, env, required)) + +#define WODEN_FEATURE_ELEMENT_IS_REQUIRED(doc_el, env) \ + (((woden_feature_element_t *) doc_el)->ops->\ + is_required(doc_el, env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_FEATURE_ELEMENT_H */ Added: webservices/axis2/trunk/c/woden/include/woden_generic_obj.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_generic_obj.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_generic_obj.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_generic_obj.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,120 @@ +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef AXIS2_GENERIC_OBJ_H +#define AXIS2_GENERIC_OBJ_H + +#include +#include +#include +#include + + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct axis2_generic_obj axis2_generic_obj_t; +typedef struct axis2_generic_obj_ops axis2_generic_obj_ops_t; + +/** + * @defgroup axis2_generic_obj Generic Obj + * @ingroup woden_util + * @{ + */ + +/** + * @brief Generic Obj ops struct + * Encapsulator struct for ops of woden_generic_obj + */ +AXIS2_DECLARE_DATA struct axis2_generic_obj_ops +{ + + axis2_status_t (AXIS2_CALL * + free) ( + axis2_generic_obj_t *generic_obj, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_scope) ( + axis2_generic_obj_t *generic_obj, + const axis2_env_t *env, + axis2_scope_t scope); + + axis2_status_t (AXIS2_CALL * + set_free_func) ( + axis2_generic_obj_t *generic_obj, + const axis2_env_t *env, + AXIS2_FREE_VOID_ARG free_func); + + axis2_status_t (AXIS2_CALL * + set_value) ( + axis2_generic_obj_t *generic_obj, + const axis2_env_t *env, + void *value); + + void *(AXIS2_CALL * + get_value) ( + axis2_generic_obj_t *generic_obj, + const axis2_env_t *env); + +}; + + +/** + * @brief + */ +AXIS2_DECLARE_DATA struct axis2_generic_obj +{ + axis2_generic_obj_ops_t *ops; +}; + +/** + * create new generic_obj + * @return generic_obj newly created generic_obj + */ +AXIS2_EXTERN axis2_generic_obj_t * AXIS2_CALL +axis2_generic_obj_create(const axis2_env_t *env); + +/*************************** Function macros **********************************/ + +#define AXIS2_GENERIC_OBJ_FREE(generic_obj, env) \ + ((generic_obj)->ops->free (generic_obj, env)) + +#define AXIS2_GENERIC_OBJ_SET_FREE_FUNC(generic_obj, env, free_func) \ + ((generic_obj)->ops->set_free_func (generic_obj, env, free_func)) + +#define AXIS2_GENERIC_OBJ_SET_SCOPE(generic_obj, env, scope) \ + ((generic_obj)->ops->set_scope (generic_obj, env, scope)) + +#define AXIS2_GENERIC_OBJ_SET_VALUE(generic_obj, env, value) \ + ((generic_obj)->ops->set_value (generic_obj, env, value)) + +#define AXIS2_GENERIC_OBJ_GET_VALUE(generic_obj, env) \ + ((generic_obj)->ops->get_value(generic_obj, env)) + +/*************************** End of function macros ***************************/ + + + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* AXIS2_GENERIC_OBJ_H */ Added: webservices/axis2/trunk/c/woden/include/woden_import.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_import.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_import.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_import.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_IMPORT_H +#define WODEN_IMPORT_H + +/** + * @file woden_import.h + * @brief Axis2 Import Interface + * This class implements the <wsdl:import> element. + * + */ + +#include +#include +#include +#include + +/** @defgroup woden_import Import + * @ingroup woden + * @{ + */ + +typedef union woden_import_base woden_import_base_t; +typedef struct woden_import woden_import_t; +typedef struct woden_import_ops woden_import_ops_t; +struct woden_wsdl_ref; + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_import_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) (void *import, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) (void *import, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *import, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + struct woden_wsdl_ref *(AXIS2_CALL * + get_base_impl) ( + void *import, + const axis2_env_t *env); + + axis2_uri_t *(AXIS2_CALL * + get_namespace) ( + void *import, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_namespace) ( + void *import, + const axis2_env_t *env, + axis2_uri_t *ns_uri); + +}; + +union woden_import_base +{ + woden_import_element_t import_element; + woden_wsdl_ref_t wsdl_ref; +}; + +struct woden_import +{ + woden_import_base_t base; + woden_import_ops_t *ops; +}; + +AXIS2_EXTERN woden_import_t * AXIS2_CALL +woden_import_create( + const axis2_env_t *env); + + +/***************************Woden C Internal Methods***************************/ +AXIS2_EXTERN woden_import_t * AXIS2_CALL +woden_import_to_import_element( + void *import, + const axis2_env_t *env); + +AXIS2_EXTERN woden_import_t * AXIS2_CALL +woden_import_to_wsdl_ref( + void *import, + const axis2_env_t *env); + +AXIS2_EXTERN woden_import_t * AXIS2_CALL +woden_import_to_attr_extensible( + void *import, + const axis2_env_t *env); + +AXIS2_EXTERN woden_import_t * AXIS2_CALL +woden_import_to_element_extensible( + void *import, + const axis2_env_t *env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_import_resolve_methods( + woden_import_t *import, + const axis2_env_t *env, + woden_import_t *import_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_IMPORT_FREE(import, env) \ + (((woden_import_t *) import)->ops->free(import, env)) + +#define WODEN_IMPORT_SUPER_OBJS(import, env) \ + (((woden_import_t *) import)->ops->super_objs(import, env)) + +#define WODEN_IMPORT_TYPE(import, env) \ + (((woden_import_t *) import)->ops->type(import, env)) + +#define WODEN_IMPORT_GET_BASE_IMPL(import, env) \ + (((woden_import_t *) import)->ops->get_base_impl(import, env)) + +#define WODEN_IMPORT_GET_NAMESPACE(import, env) \ + (((woden_import_t *) import)->ops->\ + get_namespace(import, env)) + +#define WODEN_IMPORT_SET_NAMESPACE(import, env, ns_uri) \ + (((woden_import_t *) import)->ops->\ + set_namespace(import, env, ns_uri)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_IMPORT_H */ Added: webservices/axis2/trunk/c/woden/include/woden_import_element.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_import_element.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_import_element.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_import_element.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,151 @@ +/* + * 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_IMPORT_ELEMENT_H +#define WODEN_IMPORT_ELEMENT_H + +/** + * @file woden_import_element.h + * @brief Axis2 Import Element Interface + * This interface represents a <import> XML element + * information item. It declares the behaviour required to support + * parsing, creating and manipulating a <import> element. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct woden_import_element woden_import_element_t; +typedef struct woden_import_element_ops woden_import_element_ops_t; +typedef union woden_import_element_base woden_import_element_base_t; + +/** @defgroup woden_import_element Import Element + * @ingroup woden + * @{ + */ + +struct woden_import_element_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) ( + void *import_el, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *import_el, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_namespace) (void *import_el, + const axis2_env_t *env, + axis2_uri_t *ns_uri); + + axis2_uri_t *(AXIS2_CALL * + get_namespace) (void *import_el, + const axis2_env_t *env); + + + axis2_status_t (AXIS2_CALL * + set_location) (void *import_el, + const axis2_env_t *env, + axis2_uri_t *loc_uri); + + axis2_uri_t *(AXIS2_CALL * + get_location) (void *import_el, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_desc_element) (void *import_el, + const axis2_env_t *env, + void *desc); + + void *(AXIS2_CALL * + get_desc_element) (void *import_el, + const axis2_env_t *env); + +}; + + +struct woden_import_element +{ + woden_documentable_element_t documentable_element; + woden_import_element_ops_t *ops; +}; + +/************************Woden C Internal Methods******************************/ +axis2_status_t AXIS2_CALL +woden_import_element_resolve_methods( + woden_import_element_t *import_element, + const axis2_env_t *env, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_IMPORT_ELEMENT_FREE(import_el, env) \ + (((woden_import_element_t *) import_el)->ops->\ + free (import_el, env)) + +#define WODEN_IMPORT_ELEMENT_TYPE(import_el, env) \ + (((woden_import_element_t *) import_el)->ops->\ + type (import_el, env)) + +#define WODEN_IMPORT_ELEMENT_SET_NAMESPACE(import_el, env, ns_uri) \ + (((woden_import_element_t *) import_el)->ops->\ + set_namespace(import_el, env, ns_uri)) + +#define WODEN_IMPORT_ELEMENT_GET_NAMESPACE(import_el, env) \ + (((woden_import_element_t *) import_el)->ops->\ + get_namespace(import_el, env)) + +#define WODEN_IMPORT_ELEMENT_SET_LOCATION(import_el, env, loc_uri) \ + (((woden_import_element_t *) import_el)->ops->\ + set_location(import_el, env, loc_uri)) + +#define WODEN_IMPORT_ELEMENT_GET_LOCATION(import_el, env) \ + (((woden_import_element_t *) import_el)->ops->\ + get_location(import_el, env)) + +#define WODEN_IMPORT_ELEMENT_SET_DESC_ELEMENT(import_el, env, desc) \ + (((woden_import_element_t *) import_el)->ops->\ + set_desc_element(import_el, env, desc)) + +#define WODEN_IMPORT_ELEMENT_GET_DESC_ELEMENT(import_el, env) \ + (((woden_import_element_t *) import_el)->ops->\ + get_desc_element(import_el, env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_IMPORT_ELEMENT_H */ Added: webservices/axis2/trunk/c/woden/include/woden_imported_schema.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_imported_schema.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_imported_schema.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_imported_schema.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,134 @@ +/* + * 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_IMPORTED_SCHEMA_H +#define WODEN_IMPORTED_SCHEMA_H + +/** + * @file woden_imported_schema.h + * @brief Axis2 Imported Schema Interface + * This interface represents a schema import, <xs:import>. It + * extends the abstract class SchemaImpl, adding support for the + * schemaLocation attribute. + */ + +#include + +/** @defgroup woden_imported_schema Imported Schema + * @ingroup woden + * @{ + */ + +typedef struct woden_imported_schema woden_imported_schema_t; +typedef struct woden_imported_schema_ops woden_imported_schema_ops_t; + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_imported_schema_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) ( + void *schema, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) ( + void *schema, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) ( + void *schema, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + woden_schema_t *(AXIS2_CALL * + get_base_impl) ( + void *schema, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_location) ( + void *schema, + const axis2_env_t *env, + struct axis2_uri *location); + + struct axis2_uri *(AXIS2_CALL * + get_location) ( + void *schema, + const axis2_env_t *env); + + +}; + +struct woden_imported_schema +{ + woden_schema_t schema; + woden_imported_schema_ops_t *ops; +}; + +AXIS2_EXTERN woden_imported_schema_t * AXIS2_CALL +woden_imported_schema_create( + const axis2_env_t *env); + +/************************Woden C Internal Methods******************************/ +AXIS2_EXTERN woden_imported_schema_t * AXIS2_CALL +woden_imported_schema_to_schema( + void *schema, + const axis2_env_t *env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_imported_schema_resolve_methods( + woden_imported_schema_t *schema, + const axis2_env_t *env, + woden_imported_schema_t *schema_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_IMPORTED_SCHEMA_FREE(schema, env) \ + (((woden_imported_schema_t *) schema)->ops->free(schema, env)) + +#define WODEN_IMPORTED_SCHEMA_SUPER_OBJS(schema, env) \ + (((woden_imported_schema_t *) schema)->ops->super_objs(schema, env)) + +#define WODEN_IMPORTED_SCHEMA_TYPE(schema, env) \ + (((woden_imported_schema_t *) schema)->ops->type(schema, env)) + +#define WODEN_IMPORTED_SCHEMA_GET_BASE_IMPL(schema, env) \ + (((woden_imported_schema_t *) schema)->ops->get_base_impl(schema, \ + env)) + +#define WODEN_IMPORTED_SCHEMA_SET_LOCATION(schema, env, location) \ + (((woden_imported_schema_t *) schema)->ops->set_location(schema, \ + env, location)) + +#define WODEN_IMPORTED_SCHEMA_GET_LOCATION(schema, env) \ + (((woden_imported_schema_t *) schema)->ops->get_location(schema, \ + env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_IMPORTED_SCHEMA_H */ Added: webservices/axis2/trunk/c/woden/include/woden_include.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_include.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_include.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_include.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,140 @@ +/* + * 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_INCLUDE_H +#define WODEN_INCLUDE_H + +/** + * @file woden_include.h + * @brief Axis2 Include Interface + * This class implements the <wsdl:include> element. + * + */ + +#include +#include +#include +#include + +/** @defgroup woden_include Include + * @ingroup woden + * @{ + */ + +typedef union woden_include_base woden_include_base_t; +typedef struct woden_include woden_include_t; +typedef struct woden_include_ops woden_include_ops_t; +struct woden_wsdl_ref; + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_include_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) (void *include, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) (void *include, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *include, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + struct woden_wsdl_ref *(AXIS2_CALL * + get_base_impl) ( + void *include, + const axis2_env_t *env); + + /* No additional definitions required. This class inherits all of its behaviour + * from woden_wsdl_ref. We just need this subclass so we can create an + * object representing include_element, which maps to . + */ +}; + +union woden_include_base +{ + woden_include_element_t include_element; + woden_wsdl_ref_t wsdl_ref; +}; + +struct woden_include +{ + woden_include_base_t base; + woden_include_ops_t *ops; +}; + +AXIS2_EXTERN woden_include_t * AXIS2_CALL +woden_include_create( + const axis2_env_t *env); + + +/***************************Woden C Internal Methods***************************/ +AXIS2_EXTERN woden_include_t * AXIS2_CALL +woden_include_to_include_element( + void *include, + const axis2_env_t *env); + +AXIS2_EXTERN woden_include_t * AXIS2_CALL +woden_include_to_wsdl_ref( + void *include, + const axis2_env_t *env); + +AXIS2_EXTERN woden_include_t * AXIS2_CALL +woden_include_to_attr_extensible( + void *include, + const axis2_env_t *env); + +AXIS2_EXTERN woden_include_t * AXIS2_CALL +woden_include_to_element_extensible( + void *include, + const axis2_env_t *env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_include_resolve_methods( + woden_include_t *include, + const axis2_env_t *env, + woden_include_t *include_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INCLUDE_FREE(include, env) \ + (((woden_include_t *) include)->ops->free(include, env)) + +#define WODEN_INCLUDE_SUPER_OBJS(include, env) \ + (((woden_include_t *) include)->ops->super_objs(include, env)) + +#define WODEN_INCLUDE_TYPE(include, env) \ + (((woden_include_t *) include)->ops->type(include, env)) + +#define WODEN_INCLUDE_GET_BASE_IMPL(include, env) \ + (((woden_include_t *) include)->ops->get_base_impl(include, env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INCLUDE_H */ Added: webservices/axis2/trunk/c/woden/include/woden_include_element.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_include_element.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_include_element.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_include_element.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,133 @@ +/* + * 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_INCLUDE_ELEMENT_H +#define WODEN_INCLUDE_ELEMENT_H + +/** + * @file woden_include_element.h + * @brief Axis2 Include Element Interface + * This interface represents a <include> XML element + * information item. It declares the behaviour required to support + * parsing, creating and manipulating a <include> element. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct woden_include_element woden_include_element_t; +typedef struct woden_include_element_ops woden_include_element_ops_t; +typedef union woden_include_element_base woden_include_element_base_t; + +/** @defgroup woden_include_element Include Element + * @ingroup woden + * @{ + */ + +struct woden_include_element_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) ( + void *include_el, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *include_el, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_location) (void *include_el, + const axis2_env_t *env, + axis2_uri_t *loc_uri); + + axis2_uri_t *(AXIS2_CALL * + get_location) (void *include_el, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_desc_element) (void *include_el, + const axis2_env_t *env, + void *desc); + + void *(AXIS2_CALL * + get_desc_element) (void *include_el, + const axis2_env_t *env); + +}; + + +struct woden_include_element +{ + woden_documentable_element_t documentable_element; + woden_include_element_ops_t *ops; +}; + +/************************Woden C Internal Methods******************************/ +axis2_status_t AXIS2_CALL +woden_include_element_resolve_methods( + woden_include_element_t *include_element, + const axis2_env_t *env, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INCLUDE_ELEMENT_FREE(include_el, env) \ + (((woden_include_element_t *) include_el)->ops->\ + free (include_el, env)) + +#define WODEN_INCLUDE_ELEMENT_TYPE(include_el, env) \ + (((woden_include_element_t *) include_el)->ops->\ + type (include_el, env)) + +#define WODEN_INCLUDE_ELEMENT_SET_LOCATION(include_el, env, loc_uri) \ + (((woden_include_element_t *) include_el)->ops->\ + set_location(include_el, env, loc_uri)) + +#define WODEN_INCLUDE_ELEMENT_GET_LOCATION(include_el, env) \ + (((woden_include_element_t *) include_el)->ops->\ + get_location(include_el, env)) + +#define WODEN_INCLUDE_ELEMENT_SET_DESC_ELEMENT(include_el, env, desc) \ + (((woden_include_element_t *) include_el)->ops->\ + set_desc_element(include_el, env, desc)) + +#define WODEN_INCLUDE_ELEMENT_GET_DESC_ELEMENT(include_el, env) \ + (((woden_include_element_t *) include_el)->ops->\ + get_desc_element(include_el, env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INCLUDE_ELEMENT_H */ Added: webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,134 @@ +/* + * 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_INLINED_SCHEMA_H +#define WODEN_INLINED_SCHEMA_H + +/** + * @file woden_inlined_schema.h + * @brief Axis2 Inlined Schema Interface + * This class represents an inlined schema, <xs:schema>. + * It extends the abstract class schema, adding support for the + * id attribute. + */ + +#include + +/** @defgroup woden_inlined_schema Inlined Schema + * @ingroup woden + * @{ + */ + +typedef struct woden_inlined_schema woden_inlined_schema_t; +typedef struct woden_inlined_schema_ops woden_inlined_schema_ops_t; + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_inlined_schema_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) ( + void *schema, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) ( + void *schema, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) ( + void *schema, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + woden_schema_t *(AXIS2_CALL * + get_base_impl) ( + void *schema, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_id) ( + void *schema, + const axis2_env_t *env, + axis2_char_t *id); + + axis2_char_t *(AXIS2_CALL * + get_id) ( + void *schema, + const axis2_env_t *env); + + +}; + +struct woden_inlined_schema +{ + woden_schema_t schema; + woden_inlined_schema_ops_t *ops; +}; + +AXIS2_EXTERN woden_inlined_schema_t * AXIS2_CALL +woden_inlined_schema_create( + const axis2_env_t *env); + +/************************Woden C Internal Methods******************************/ +AXIS2_EXTERN woden_inlined_schema_t * AXIS2_CALL +woden_inlined_schema_to_schema( + void *schema, + const axis2_env_t *env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_inlined_schema_resolve_methods( + woden_inlined_schema_t *schema, + const axis2_env_t *env, + woden_inlined_schema_t *schema_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INLINED_SCHEMA_FREE(schema, env) \ + (((woden_inlined_schema_t *) schema)->ops->free(schema, env)) + +#define WODEN_INLINED_SCHEMA_SUPER_OBJS(schema, env) \ + (((woden_inlined_schema_t *) schema)->ops->super_objs(schema, env)) + +#define WODEN_INLINED_SCHEMA_TYPE(schema, env) \ + (((woden_inlined_schema_t *) schema)->ops->type(schema, env)) + +#define WODEN_INLINED_SCHEMA_GET_BASE_IMPL(schema, env) \ + (((woden_inlined_schema_t *) schema)->ops->get_base_impl(schema, \ + env)) + +#define WODEN_INLINED_SCHEMA_SET_ID(schema, env, id) \ + (((woden_inlined_schema_t *) schema)->ops->set_id(schema, \ + env, id)) + +#define WODEN_INLINED_SCHEMA_GET_ID(schema, env) \ + (((woden_inlined_schema_t *) schema)->ops->get_id(schema, \ + env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INLINED_SCHEMA_H */ Added: webservices/axis2/trunk/c/woden/include/woden_interface.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_interface.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_interface.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,198 @@ +/* + * 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_H +#define WODEN_INTERFACE_H + +/** + * @file woden_interface.h + * @brief Axis2 Interface Interface + * Represents the Interface component from the WSDL 2.0 Component model. + * This component provides a read-only, abstract view of the WSDL + * interface, including any interface information defined within + * imported or included WSDL documents. + * + */ + +#include +#include +#include + +/** @defgroup woden_interface Interface + * @ingroup woden + * @{ + */ + +typedef union woden_interface_base woden_interface_base_t; +typedef struct woden_interface woden_interface_t; +typedef struct woden_interface_ops woden_interface_ops_t; + + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_interface_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) (void *woden_interface, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) (void *woden_interface, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *woden_interface, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + struct woden_configurable *(AXIS2_CALL * + get_base_impl) ( + void *woden_interface, + const axis2_env_t *env); + + axis2_qname_t *(AXIS2_CALL * + get_qname) ( + void *woden_interface, + const axis2_env_t *env); + + axis2_array_list_t *(AXIS2_CALL * + get_extended_interfaces) ( + void *woden_interface, + const axis2_env_t *env); + + axis2_array_list_t *(AXIS2_CALL * + get_interface_faults) ( + void *woden_interface, + const axis2_env_t *env); + + void *(AXIS2_CALL * + get_interface_fault) ( + void *woden_interface, + const axis2_env_t *env, + axis2_qname_t *qname); + + axis2_array_list_t *(AXIS2_CALL * + get_interface_ops) ( + void *woden_interface, + const axis2_env_t *env); + + void *(AXIS2_CALL * + to_element) ( + void *woden_interface, + const axis2_env_t *env); + +}; + +union woden_interface_base +{ + woden_configurable_t configurable; + woden_interface_element_t interface_element; +}; + +struct woden_interface +{ + woden_interface_base_t base; + woden_interface_ops_t *ops; +}; + +AXIS2_EXTERN woden_interface_t * AXIS2_CALL +woden_interface_create( + const axis2_env_t *env); + + +/***************************Woden C Internal Methods***************************/ +AXIS2_EXTERN woden_interface_t * AXIS2_CALL +woden_interface_to_interface_element( + void *woden_interface, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_t * AXIS2_CALL +woden_interface_to_documentable( + void *woden_interface, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_t * AXIS2_CALL +woden_interface_to_configurable( + void *woden_interface, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_t * AXIS2_CALL +woden_interface_to_attr_extensible( + void *woden_interface, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_t * AXIS2_CALL +woden_interface_to_element_extensible( + void *woden_interface, + const axis2_env_t *env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_interface_resolve_methods( + woden_interface_t *woden_interface, + const axis2_env_t *env, + woden_interface_t *interface_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INTERFACE_FREE(interface, env) \ + (((woden_interface_t *) interface)->ops->free(interface, env)) + +#define WODEN_INTERFACE_SUPER_OBJS(interface, env) \ + (((woden_interface_t *) interface)->ops->super_objs(interface, env)) + +#define WODEN_INTERFACE_TYPE(interface, env) \ + (((woden_interface_t *) interface)->ops->type(interface, env)) + +#define WODEN_INTERFACE_GET_BASE_IMPL(interface, env) \ + (((woden_interface_t *) interface)->ops->get_base_impl(interface, env)) + +#define WODEN_INTERFACE_GET_QNAME(interface, env) \ + (((woden_interface_t *) interface)->ops->\ + get_qname(interface, env)) + +#define WODEN_INTERFACE_GET_EXTENDED_INTERFACES(interface, env) \ + (((woden_interface_t *) interface)->ops->\ + get_extended_interfaces(interface, env)) + +#define WODEN_INTERFACE_GET_INTERFACE_FAULTS(interface, env) \ + (((woden_interface_t *) interface)->ops->\ + get_interface_faults(interface, env)) + +#define WODEN_INTERFACE_GET_INTERFACE_FAULT(interface, env, qname) \ + (((woden_interface_t *) interface)->ops->\ + get_interface_fault(interface, env, qname)) + +#define WODEN_INTERFACE_GET_INTERFACE_OPS(interface, env) \ + (((woden_interface_t *) interface)->ops->\ + get_interface_ops(interface, env)) + +#define WODEN_INTERFACE_TO_ELEMENT(interface, env) \ + (((woden_interface_t *) interface)->ops->\ + to_element(interface, env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INTERFACE_H */ Added: webservices/axis2/trunk/c/woden/include/woden_interface_element.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_element.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_interface_element.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_interface_element.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,204 @@ +/* + * 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_ELEMENT_H +#define WODEN_INTERFACE_ELEMENT_H + +/** + * @file woden_interface_element.h + * @brief Axis2 Interface Element Interface + * This interface represents a <interface> XML element + * information item. It declares the behaviour required to support + * parsing, creating and manipulating a <interface> element. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct woden_interface_element woden_interface_element_t; +typedef struct woden_interface_element_ops woden_interface_element_ops_t; +typedef union woden_interface_element_base woden_interface_element_base_t; + +/** @defgroup woden_interface_element Interface Element + * @ingroup axis2_interface + * @{ + */ + +struct woden_interface_element_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) ( + void *interface_element, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) ( + void *interface_element, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_qname) ( + void *interface_element, + const axis2_env_t *env, + axis2_qname_t *qname); + + axis2_qname_t *(AXIS2_CALL * + get_qname) ( + void *interface_element, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + add_extends_qname) ( + void *interface_element, + const axis2_env_t *env, + axis2_qname_t *qname); + + axis2_array_list_t *(AXIS2_CALL * + get_extends_qnames) ( + void *interface_element, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + add_style_default_uri) ( + void *interface_element, + const axis2_env_t *env, + axis2_uri_t *uri); + + axis2_uri_t *(AXIS2_CALL * + get_style_default) ( + void *interface_element, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + add_interface_fault_element) ( + void *interface_element, + const axis2_env_t *env, + void *fault); + + axis2_array_list_t *(AXIS2_CALL * + get_interface_fault_elements) ( + void *interface_element, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + add_interface_op_element) ( + void *interface_element, + const axis2_env_t *env, + void *op); + + axis2_array_list_t *(AXIS2_CALL * + get_interface_op_elements) ( + void *interface_element, + const axis2_env_t *env); + +}; + +union woden_interface_element_base +{ + woden_documentable_element_t documentable_element; + woden_configurable_element_t configurable_element; +}; + +struct woden_interface_element +{ + woden_interface_element_base_t base; + woden_interface_element_ops_t *ops; +}; + +AXIS2_EXTERN woden_interface_element_t * AXIS2_CALL +woden_interface_element_create( + const axis2_env_t *env); + +/************************Woden C Internal Methods******************************/ +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_interface_element_resolve_methods( + woden_interface_element_t *interface_element, + const axis2_env_t *env, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INTERFACE_ELEMENT_FREE(interface_element, env) \ + (((woden_interface_element_t *) interface_element)->ops->\ + free (interface_element, env)) + +#define WODEN_INTERFACE_ELEMENT_TYPE(interface_element, env) \ + (((woden_interface_element_t *) interface_element)->ops->\ + type (interface_element, env)) + +#define WODEN_INTERFACE_ELEMENT_SET_QNAME(interface_element, env, qname) \ + (((woden_interface_element_t *) interface_element)->ops->\ + set_qname (interface_element, env, qname)) + +#define WODEN_INTERFACE_ELEMENT_GET_QNAME(interface_element, env) \ + (((woden_interface_element_t *) interface_element)->ops->\ + get_qname (interface_element, env)) + +#define WODEN_INTERFACE_ELEMENT_ADD_EXTENDS_QNAME(interface_element, env, qname) \ + (((woden_interface_element_t *) interface_element)->ops->\ + add_extends_qname (interface_element, env, qname)) + +#define WODEN_INTERFACE_ELEMENT_GET_EXTENDS_QNAMES(interface_element, env) \ + (((woden_interface_element_t *) interface_element)->ops->\ + get_extends_qnames (interface_element, env)) + +#define WODEN_INTERFACE_ELEMENT_ADD_STYLE_DEFAULT_URI(interface_element, env, uri) \ + (((woden_interface_element_t *) interface_element)->ops->\ + add_style_default_uri (interface_element, env, uri)) + +#define WODEN_INTERFACE_ELEMENT_GET_STYLE_DEFAULT(interface_element, env) \ + (((woden_interface_element_t *) interface_element)->ops->\ + get_style_default (interface_element, env)) + +#define WODEN_INTERFACE_ELEMENT_ADD_INTERFACE_FAULT_ELEMENT(interface_element, env, fault) \ + (((woden_interface_element_t *) interface_element)->ops->\ + add_interface_fault_element (interface_element, env, fault)) + +#define WODEN_INTERFACE_ELEMENT_GET_INTERFACE_FAULT_ELEMENTS(interface_element, env) \ + (((woden_interface_element_t *) interface_element)->ops->\ + get_interface_fault_elements (interface_element, env)) + +#define WODEN_INTERFACE_ELEMENT_ADD_INTERFACE_OP_ELEMENT(interface_element, env, op) \ + (((woden_interface_element_t *) interface_element)->ops->\ + add_interface_op_element (interface_element, env, op)) + +#define WODEN_INTERFACE_ELEMENT_GET_INTERFACE_OP_ELEMENTS(interface_element, env) \ + (((woden_interface_element_t *) interface_element)->ops->\ + get_interface_op_elements (interface_element, env)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INTERFACE_ELEMENT_H */ Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_interface_fault.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_interface_fault.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,203 @@ +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef WODEN_INTERFACE_FAULT_H +#define WODEN_INTERFACE_FAULT_H + +/** + * @file woden_interface_fault.h + * @brief Axis2 Interface Fault Interface Fault + * This class represents the InterfaceFault component from the WSDL 2.0 Component + * Model and the <fault> child element of the <interface> element. + * + */ + +#include +#include +#include +#include + +/** @defgroup woden_interface_fault Interface Fault + * @ingroup woden + * @{ + */ + +typedef union woden_interface_fault_base woden_interface_fault_base_t; +typedef struct woden_interface_fault woden_interface_fault_t; +typedef struct woden_interface_fault_ops woden_interface_fault_ops_t; + + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_interface_fault_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) (void *interface_fault, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) (void *interface_fault, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *interface_fault, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + struct woden_nested_configurable *(AXIS2_CALL * + get_base_impl) ( + void *interface_fault, + const axis2_env_t *env); + + axis2_qname_t *(AXIS2_CALL * + get_qname) ( + void *interface_fault, + const axis2_env_t *env); + + void *(AXIS2_CALL * + get_element_decl) ( + void *interface_fault, + const axis2_env_t *env); + + void *(AXIS2_CALL * + to_element) ( + void *interface_fault, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_element_decl) ( + void *interface_fault, + const axis2_env_t *env, + void *element_decl); + + axis2_status_t (AXIS2_CALL * + set_types) ( + void *interface_fault, + const axis2_env_t *env, + void *types); +}; + +union woden_interface_fault_base +{ + woden_nested_configurable_t nested_configurable; + woden_interface_fault_element_t interface_fault_element; +}; + +struct woden_interface_fault +{ + woden_interface_fault_base_t base; + woden_interface_fault_ops_t *ops; +}; + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_create( + const axis2_env_t *env); + + +/***************************Woden C Internal Methods***************************/ +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_interface_fault_element( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_nested_configurable( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_configurable( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_configurable_element( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_documentable_element( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_documentable( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_attr_extensible( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL +woden_interface_fault_to_element_extensible( + void *interface_fault, + const axis2_env_t *env); + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_interface_fault_resolve_methods( + woden_interface_fault_t *interface_fault, + const axis2_env_t *env, + woden_interface_fault_t *interface_fault_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INTERFACE_FAULT_FREE(interface_fault, env) \ + (((woden_interface_fault_t *) interface_fault)->ops->free(interface_fault, env)) + +#define WODEN_INTERFACE_FAULT_SUPER_OBJS(interface_fault, env) \ + (((woden_interface_fault_t *) interface_fault)->ops->super_objs(interface_fault, env)) + +#define WODEN_INTERFACE_FAULT_TYPE(interface_fault, env) \ + (((woden_interface_fault_t *) interface_fault)->ops->type(interface_fault, env)) + +#define WODEN_INTERFACE_FAULT_GET_BASE_IMPL(interface_fault, env) \ + (((woden_interface_fault_t *) interface_fault)->ops->get_base_impl(interface_fault, env)) + +#define WODEN_INTERFACE_FAULT_GET_QNAME(interface_fault, env) \ + (((woden_interface_fault_t *) interface_fault)->ops->\ + get_qname(interface_fault, env)) + +#define WODEN_INTERFACE_FAULT_GET_ELEMENT_DECLARATION(interface_fault, env) \ + (((woden_interface_fault_t *) interface_fault)->\ + get_element_declaration(interface_fault, env)) + +#define WODEN_INTERFACE_FAULT_TO_ELEMENT(interface_fault, env) \ + (((woden_interface_fault_t *) interface_fault)->ops->\ + to_element(interface_fault, env)) + +#define WODEN_INTERFACE_FAULT_SET_ELEMENT_DECL(interface_fault, env, element_decl) \ + (((woden_interface_fault_t *) interface_fault)->ops->\ + set_element_decl (interface_fault, env, element_decl)) + +#define WODEN_INTERFACE_FAULT_SET_TYPES(interface_fault, env, types) \ + (((woden_interface_fault_t *) interface_fault)->ops->\ + set_types (interface_fault, env, types)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INTERFACE_FAULT_H */ Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,182 @@ +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef WODEN_INTERFACE_FAULT_ELEMENT_H +#define WODEN_INTERFACE_FAULT_ELEMENT_H + +/** + * @file woden_interface_fault_element.h + * @brief Axis2 Interface Fault Element Interface + * This interface represents a <fault> child element of the + * WSDL <interface> element. + * It declares the behaviour required to support parsing, + * creating and manipulating a <fault> element. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct woden_interface_fault_element woden_interface_fault_element_t; +typedef struct woden_interface_fault_element_ops woden_interface_fault_element_ops_t; +typedef union woden_interface_fault_element_base woden_interface_fault_element_base_t; + +/** @defgroup woden_interface_fault_element Interface Fault Element + * @ingroup axis2_interface + * @{ + */ + +struct woden_interface_fault_element_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) ( + void *interface_fault_element, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) ( + void *interface_fault_element, + const axis2_env_t *env); + + /** + * Set the QName that represens the 'name' attribute of the interface + * <fault> element. This identifies the interface fault. + * + * @param qname the QName that identifies the interface fault + */ + 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); + + /** + * Set the QName that represents the 'element' attribute of the interface + * <fault> 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 *qname); + + 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 <fault> 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); + +}; + +union woden_interface_fault_element_base +{ + woden_documentable_element_t documentable_element; + woden_configurable_element_t configurable_element; + woden_nested_element_t nested_element; +}; + +struct woden_interface_fault_element +{ + woden_interface_fault_element_base_t base; + woden_interface_fault_element_ops_t *ops; +}; + +AXIS2_EXTERN woden_interface_fault_element_t * AXIS2_CALL +woden_interface_fault_element_create( + const axis2_env_t *env); + +/************************Woden C Internal Methods******************************/ +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_interface_fault_element_resolve_methods( + woden_interface_fault_element_t *interface_fault_element, + const axis2_env_t *env, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INTERFACE_FAULT_ELEMENT_FREE(interface_fault_element, env) \ + (((woden_interface_fault_element_t *) interface_fault_element)->ops->\ + free (interface_fault_element, env)) + +#define WODEN_INTERFACE_FAULT_ELEMENT_TYPE(interface_fault_element, env) \ + (((woden_interface_fault_element_t *) interface_fault_element)->ops->\ + type (interface_fault_element, env)) + +#define WODEN_INTERFACE_FAULT_ELEMENT_SET_QNAME(interface_fault_element, env, qname) \ + (((woden_interface_fault_element_t *) interface_fault_element)->ops->\ + set_qname (interface_fault_element, env, qname)) + +#define WODEN_INTERFACE_FAULT_ELEMENT_GET_QNAME(interface_fault_element, env) \ + (((woden_interface_fault_element_t *) interface_fault_element)->ops->\ + get_qname (interface_fault_element, env)) + +#define WODEN_INTERFACE_FAULT_ELEMENT_SET_ELEMENT_QNAME(interface_fault_element, env, qname) \ + (((woden_interface_fault_element_t *) interface_fault_element)->ops->\ + set_element_qname (interface_fault_element, env, qname)) + +#define WODEN_INTERFACE_FAULT_ELEMENT_GET_ELEMENT_QNAME(interface_fault_element, env) \ + (((woden_interface_fault_element_t *) interface_fault_element)->ops->\ + get_element_qname (interface_fault_element, env)) + +#define WODEN_INTERFACE_FAULT_ELEMENT_GET_ELEMENT(interface_fault_element, env) \ + (((woden_interface_fault_element_t *) interface_fault_element)->ops->\ + get_element (interface_fault_element, env)) + + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INTERFACE_FAULT_ELEMENT_H */ Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,213 @@ +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef WODEN_INTERFACE_FAULT_REF_H +#define WODEN_INTERFACE_FAULT_REF_H + +/** + * @file woden_interface_fault_ref.h + * @brief Axis2 Interface Fault Reference Interface Fault Reference + * This class represents the Interface Fault Reference component of the + * WSDL 2.0 Component model and the <infault> and <outfault> + * child elements of an interface <operation>. + * + */ + +#include +#include +#include +#include + +/** @defgroup woden_interface_fault_ref Interface Fault Reference + * @ingroup woden + * @{ + */ + +typedef union woden_interface_fault_ref_base woden_interface_fault_ref_base_t; +typedef struct woden_interface_fault_ref woden_interface_fault_ref_t; +typedef struct woden_interface_fault_ref_ops woden_interface_fault_ref_ops_t; + + +#ifdef __cplusplus +extern "C" +{ +#endif + +struct woden_interface_fault_ref_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) (void *interface_fault_ref, + const axis2_env_t *env); + + axis2_hash_t *(AXIS2_CALL * + super_objs) (void *interface_fault_ref, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) (void *interface_fault_ref, + const axis2_env_t *env); + /** + * @return the base implementation class + */ + struct woden_nested_configurable *(AXIS2_CALL * + get_base_impl) ( + void *interface_fault_ref, + const axis2_env_t *env); + + void *(AXIS2_CALL * + get_interface_fault) ( + void *interface_fault_ref, + const axis2_env_t *env); + + void *(AXIS2_CALL * + get_msg_label) ( + void *interface_fault_ref, + const axis2_env_t *env); + + void *(AXIS2_CALL * + get_direction) ( + void *interface_fault_ref, + const axis2_env_t *env); + + void *(AXIS2_CALL * + to_element) ( + void *interface_fault_ref, + const axis2_env_t *env); + + /* ************************************************************ + * Non-API implementation methods + * ************************************************************/ + axis2_status_t (AXIS2_CALL * + set_interface_fault) ( + void *interface_fault_ref, + const axis2_env_t *env, + void *fault); + +}; + +union woden_interface_fault_ref_base +{ + woden_nested_configurable_t nested_configurable; + woden_interface_fault_ref_element_t interface_fault_ref_element; +}; + +struct woden_interface_fault_ref +{ + woden_interface_fault_ref_base_t base; + woden_interface_fault_ref_ops_t *ops; +}; + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_create( + const axis2_env_t *env); + + +/***************************Woden C Internal Methods***************************/ +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_interface_fault_ref_element( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_nested_configurable( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_configurable( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_nested_element( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_configurable_element( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_documentable_element( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_documentable( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_attr_extensible( + void *interface_fault_ref, + const axis2_env_t *env); + +AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL +woden_interface_fault_ref_to_element_extensible( + void *interface_fault_ref, + const axis2_env_t *env); + + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_interface_fault_ref_resolve_methods( + woden_interface_fault_ref_t *interface_fault_ref, + const axis2_env_t *env, + woden_interface_fault_ref_t *interface_fault_ref_impl, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INTERFACE_FAULT_REF_FREE(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->free(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_SUPER_OBJS(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->super_objs(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_TYPE(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->type(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_GET_BASE_IMPL(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->get_base_impl(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_GET_INTERFACE_FAULT(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->\ + get_interface_fault(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_GET_MSG_LABEL(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->\ + get_msg_label(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_GET_DIRECTION(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->\ + get_direction(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_TO_ELEMENT(interface_fault_ref, env) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->\ + to_element(interface_fault_ref, env)) + +#define WODEN_INTERFACE_FAULT_REF_SET_INTERFACE_FAULT(interface_fault_ref, env, fault) \ + (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->\ + set_interface_fault(interface_fault_ref, env, fault)) + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INTERFACE_FAULT_REF_H */ Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h?rev=419452&view=auto ============================================================================== --- webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h (added) +++ webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h Wed Jul 5 23:02:19 2006 @@ -0,0 +1,182 @@ +/* + * Copyright 2004,2005 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef WODEN_INTERFACE_FAULT_REF_ELEMENT_H +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_H + +/** + * @file woden_interface_fault_ref_element.h + * @brief Axis2 Interface Fault Reference Element Interface + * This interface represents a <fault> child element of the + * WSDL <interface> element. + * It declares the behaviour required to support parsing, + * creating and manipulating a <fault> element. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct woden_interface_fault_ref_element woden_interface_fault_ref_element_t; +typedef struct woden_interface_fault_ref_element_ops woden_interface_fault_ref_element_ops_t; +typedef union woden_interface_fault_ref_element_base woden_interface_fault_ref_element_base_t; + +/** @defgroup woden_interface_fault_ref_element Interface Fault Reference Element + * @ingroup axis2_interface + * @{ + */ + +struct woden_interface_fault_ref_element_ops +{ + /** + * Deallocate memory + * @return status code + */ + axis2_status_t (AXIS2_CALL * + free) ( + void *interface_fault_ref_element, + const axis2_env_t *env); + + woden_obj_types_t (AXIS2_CALL * + type) ( + void *interface_fault_ref_element, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_ref) ( + void *iface_fault_ele, + const axis2_env_t *env, + axis2_qname_t *fault_qname); + + axis2_qname_t *(AXIS2_CALL * + get_ref) ( + void *iface_fault_ele, + const axis2_env_t *env); + + void *(AXIS2_CALL * + get_interface_fault_element) ( + void *iface_fault_ele, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_msg_label) ( + void *iface_fault_ele, + const axis2_env_t *env, + void *msg_label); + + void *(AXIS2_CALL * + get_msg_label) ( + void *iface_fault_ele, + const axis2_env_t *env); + + axis2_status_t (AXIS2_CALL * + set_direction) ( + void *iface_fault_ele, + const axis2_env_t *env, + void *dir); + + void *(AXIS2_CALL * + get_direction) ( + void *iface_fault_ele, + const axis2_env_t *env); + + +}; + +union woden_interface_fault_ref_element_base +{ + woden_documentable_element_t documentable_element; + woden_configurable_element_t configurable_element; + woden_nested_element_t nested_element; +}; + +struct woden_interface_fault_ref_element +{ + woden_interface_fault_ref_element_base_t base; + woden_interface_fault_ref_element_ops_t *ops; +}; + +AXIS2_EXTERN woden_interface_fault_ref_element_t * AXIS2_CALL +woden_interface_fault_ref_element_create( + const axis2_env_t *env); + +/************************Woden C Internal Methods******************************/ +AXIS2_EXTERN axis2_status_t AXIS2_CALL +woden_interface_fault_ref_element_resolve_methods( + woden_interface_fault_ref_element_t *interface_fault_ref_element, + const axis2_env_t *env, + axis2_hash_t *methods); +/************************End of Woden C Internal Methods***********************/ + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_FREE(interface_fault_ref_element, env) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + free (interface_fault_ref_element, env)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_TYPE(interface_fault_ref_element, env) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + type (interface_fault_ref_element, env)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_REF(interface_fault_ref_element, env, fault_qname) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + set_ref (interface_fault_ref_element, env, fault_qname)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_REF(interface_fault_ref_element, env) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + get_ref (interface_fault_ref_element, env)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_INTERFACE_FAULT_ELEMENT(interface_fault_ref_element, env) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + get_interface_fault_element (interface_fault_ref_element, env)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_MSG_LABEL(interface_fault_ref_element, env, msg_label) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + set_msg_label (interface_fault_ref_element, env, msg_label)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_MSG_LABEL(interface_fault_ref_element, env) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + get_msg_label (interface_fault_ref_element, env)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_DIRECTION(interface_fault_ref_element, env, dir) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + set_direction (interface_fault_ref_element, env, dir)) + +#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_DIRECTION(interface_fault_ref_element, env) \ + (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\ + get_direction (interface_fault_ref_element, env)) + + + + +/** @} */ +#ifdef __cplusplus +} +#endif +#endif /* WODEN_INTERFACE_FAULT_REF_ELEMENT_H */ --------------------------------------------------------------------- To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org For additional commands, e-mail: axis-cvs-help@ws.apache.org