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 2005/10/03 08:21:54 UTC

svn commit: r293262 - /webservices/axis2/trunk/c/include/

Author: damitha
Date: Sun Oct  2 23:21:28 2005
New Revision: 293262

URL: http://svn.apache.org/viewcvs?rev=293262&view=rev
Log:
axis2c is replaced by axis2 in all file names and other

Added:
    webservices/axis2/trunk/c/include/axis2.h
    webservices/axis2/trunk/c/include/axis2_description_param_include.h
    webservices/axis2/trunk/c/include/axis2_engine_config.h
    webservices/axis2/trunk/c/include/axis2_errno.h
    webservices/axis2/trunk/c/include/axis2_module_description.h
    webservices/axis2/trunk/c/include/axis2_node.h
    webservices/axis2/trunk/c/include/axis2_om_attribute.h   (with props)
    webservices/axis2/trunk/c/include/axis2_om_comment.h   (with props)
    webservices/axis2/trunk/c/include/axis2_om_doctype.h
    webservices/axis2/trunk/c/include/axis2_om_document.h   (with props)
    webservices/axis2/trunk/c/include/axis2_om_element.h
    webservices/axis2/trunk/c/include/axis2_om_namespace.h   (with props)
    webservices/axis2/trunk/c/include/axis2_om_processing_instruction.h
    webservices/axis2/trunk/c/include/axis2_om_text.h   (with props)
    webservices/axis2/trunk/c/include/axis2_operation_description.h
    webservices/axis2/trunk/c/include/axis2_parameter.h
    webservices/axis2/trunk/c/include/axis2_qname.h
    webservices/axis2/trunk/c/include/axis2_service_description.h
    webservices/axis2/trunk/c/include/axis2_servicegroup_description.h
    webservices/axis2/trunk/c/include/axis2_stax_ombuilder.h
Removed:
    webservices/axis2/trunk/c/include/axis2c_om_container.h
Modified:
    webservices/axis2/trunk/c/include/axis2c.h

Added: webservices/axis2/trunk/c/include/axis2.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2.h (added)
+++ webservices/axis2/trunk/c/include/axis2.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,18 @@
+#ifndef AXIS2_H
+#define AXIS2_H
+
+/**
+ * @file axis2.h
+ * @brief Axis2c specific global declarations
+ */
+
+#include <apr.h>
+#include <apr_pools.h>
+#include <apr_hash.h>
+
+enum boolean_s {false, true};
+typedef enum boolean_s boolean_t; 
+
+apr_hash_t *axis2_apr_hash_make(apr_pool_t *om_pool);                                        
+
+#endif /* AXIS2_H */

Added: webservices/axis2/trunk/c/include/axis2_description_param_include.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_description_param_include.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_param_include.h (added)
+++ webservices/axis2/trunk/c/include/axis2_description_param_include.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,50 @@
+#ifndef AXIS2_DESCRIPTION_PARAM_INCLUDE_H
+#define AXIS2_DESCRIPTION_PARAM_INCLUDE_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <axis2_om_element.h>
+#include <axis2_qname.h>
+#include <axis2.h>
+#include <axis2_parameter.h>
+#include <axis2_errno.h>
+#include <apr_hash.h>
+
+/**
+ * @file axis2_description_param_include.h
+ * @brief Parameter handling
+ */
+
+/**
+  * Paramter can be any thing it can be XML element with number of child elements
+  */
+typedef struct axis2_description_param_include_t
+{
+    apr_hash_t *parameters;
+    boolean_t is_locked;
+} axis2_description_param_include_t;
+
+/*
+ *	Create a param
+ */
+axis2_description_param_include_t *create_axis2_description_param_include ();
+
+void free_axis2_description_param_include (axis2_description_param_include_t
+    *param_include);
+
+void axis2_description_param_include_add_parameter
+    (axis2_description_param_include_t *param_include,
+     axis2_parameter_t * param);
+
+axis2_parameter_t *axis2_description_param_include_get_parameter
+    (axis2_description_param_include_t * param_include, char *name);
+
+/* To get all the parameters in a given description */
+apr_hash_t *axis2_descriptin_param_include_get_parameters
+    (axis2_description_param_include_t * param_include);
+
+/* To check whether the paramter is locked at any level */
+boolean_t axis2_description_param_include_is_parameter_locked
+    (axis2_description_param_include_t * param_include, char *param_name);
+
+#endif //AXIS2_DESCRIPTION_PARAM_INCLUDE_H

Added: webservices/axis2/trunk/c/include/axis2_engine_config.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_engine_config.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_engine_config.h (added)
+++ webservices/axis2/trunk/c/include/axis2_engine_config.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,45 @@
+#ifndef AXIS2_ENGINE_CONFIG_H
+#define AXIS2_ENGINE_CONFIG_H
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <axis2_description_param_include.h>
+#include <axis2_servicegroup_description.h>
+
+/**
+ * @file axis2_engine_config.h
+ * @brief Global states of all the Axis can
+ *        can be accessed here
+ */
+/**
+ * The palce where all the global states of Axis is accessed.
+ * All the global states kept in the <code>EngineRegistry</code> and all the
+ * Service states kept in the <code>MessageContext</code>. Other runtime
+ * artifacts does not keep states forward from the execution.
+ */
+
+/**
+ * <p>This holds the information about engine. </p>
+ */
+typedef struct
+{
+    axis2_description_param_include_t * param_include;
+    axis2_qname_t *name;
+    apr_hash_t *service_groups;
+    
+} axis2_engine_config_t;
+
+void axis2_engine_config_add_service_group(axis2_engine_config_t *engine_config
+    , axis2_servicegroup_description_t *service_group_desc);
+
+void axis2_engine_config_add_service(axis2_engine_config_t *engine_config, 
+    axis2_service_description_t *service_desc);
+
+void axis2_engine_config_get_service(axis2_engine_config_t *engine_config,
+    char* service_name);
+
+void axis2_engine_config_remove_service(axis2_engine_config_t *engine_config,
+    char *name);
+
+#endif /* AXIS2_ENGINE_CONFIG_H */

Added: webservices/axis2/trunk/c/include/axis2_errno.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_errno.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_errno.h (added)
+++ webservices/axis2/trunk/c/include/axis2_errno.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,59 @@
+#ifndef AXIS2_ERRNO_H
+#define AXIS2_ERRNO_H
+
+/**
+ * @file axis2_errno.h
+ * @brief Axis2c Error Codes
+ */
+
+#include <apr_errno.h>
+
+/**
+ * AXIS2_START_ERROR is where the AXIS2 specific error values start.
+ * In apr_errno.h APR_OS_START_USERERR is defined as start of the 
+ * error codes for applications using apr.
+ */
+#define AXIS2_START_ERROR    APR_OS_START_USERERR
+
+#define AXIS2_START_SPACE    50000
+
+
+#define AXIS2_STATUS         AXIS2_START_ERROR + AXIS2_ERROR_SPACE
+
+/** 
+ * @defgroup AXIS2_Error AXIS2 Error Values
+ * <PRE>
+ * <b>AXIS2 ERROR VALUES</b>
+ * AXIS2_ERROR_OM_MEMORY_ALLOCATION      AXIS2 was unable to
+ *                                        allocate the requested memory for the OM 
+ * AXIS2_ERROR_NULL_MEMORY_ACCESS        trying to access unallocated memory
+ *
+ *</PRE>
+ * <PRE>
+ * <b>AXIS2 STATUS VALUES</b>
+ * AXIS2_SUCCESS                         Success status code
+ * AXIS2_FAILIURE                        Failure status code
+ *
+ * </PRE>
+ # @addtogroup AXIS2 Error codes
+ * @{
+ */
+/** @see AXIS2_ERROR_OM_MEMORY_ALLOCATION */
+#define AXIS2_ERROR_OM_MEMORY_ALLOCATION        (AXIS2_START_ERROR + 1)
+#define AXIS2_ERROR_NULL_MEMORY_ACCESS        (AXIS2_START_ERROR + 2)
+#define AXIS2_ERROR_MEMORY_ALLOCATION        (AXIS2_START_ERROR + 3)
+
+/** @} */
+
+/** 
+ * @addtogroup AXIS2 Status codes
+ * @{
+ */
+
+#define AXIS2_SUCCESS        (AXIS2_START_STATUS + 1)
+#define AXIS2_FAILURE       (APR_OS_START_STATUS + 2)
+
+
+/** @} */
+
+#endif /* AXIS2_ERRNO_H */

Added: webservices/axis2/trunk/c/include/axis2_module_description.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_module_description.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_module_description.h (added)
+++ webservices/axis2/trunk/c/include/axis2_module_description.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,76 @@
+#ifndef AXIS2_MODULE_DESCRIPTION_H
+#define AXIS2_MODULE_DESCRIPTION_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <axis2.h>
+#include <axis2_errno.h>
+#include <axis2_qname.h>
+#include <axis2_operation_description.h>
+#include <axis2_engine_config.h>
+#include <axis2_description_param_include.h>
+#include <axis2_node.h>
+#include <apr_hash.h>
+
+/**
+ * @file axis2_module_description.h
+ * @brief Parameter handling
+ */
+
+/**
+ * <p>This holds the information about a Module. </p>
+ */
+typedef struct
+{
+    axis2_qname_t *qname;
+    axis2_engine_config_t *parent;
+    axis2_parameter_t *parameters;
+    axis2_operation_description_t *operations;
+
+} axis2_module_description_t;
+
+void axis2_module_description_free (axis2_module_description_t *
+                                     module_description);
+
+/** Create a module description */
+axis2_module_description_t *axis2_module_description_create ();
+
+/** To set a name */
+void setName (axis2_module_description_t * module_description,
+              axis2_qname_t * name);
+
+axis2_qname_t
+    *axis2_module_description_get_name (axis2_module_description_t *
+                                         module_description);
+
+/** To add an parameter*/
+void axis2_module_description_add_parameter (axis2_module_description_t *
+                                              module_description,
+                                              axis2_parameter_t * param);
+
+/** To get all the parameters*/
+axis2_parameter_t *axis2_module_description_get_parameters (axis2_module_description_t *
+                                               module_description);
+
+/** To add an operation */
+void axis2_module_description_add_operation (axis2_module_description_t *
+                                              module_description,
+                                              axis2_operation_description_t *
+                                              operation);
+
+/** To get all the module_operations*/
+axis2_operation_description_t
+    * axis2_module_description_get_operations (axis2_module_description_t *
+                                                module_description);
+
+void axis2_module_description_set_parent (axis2_module_description_t *
+                                           module_description,
+                                           axis2_engine_config_t *
+                                           parent);
+
+axis2_engine_config_t
+    *axis2_module_description_get_parent (axis2_module_description_t *
+                                           module_description);
+
+
+#endif //AXIS2_MODULE_DESCRIPTION_H

Added: webservices/axis2/trunk/c/include/axis2_node.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_node.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_node.h (added)
+++ webservices/axis2/trunk/c/include/axis2_node.h Sun Oct  2 23:21:28 2005
@@ -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 AXIS2_NODE_H
+#define AXIS2_NODE_H
+
+/**
+ * @file axis2_node.h
+ * @brief defines node data structure, used for constructing the om tree and its 
+ *	manipulation functions
+ */
+
+
+#include <axis2.h>
+#include <apr.h>
+#include <apr_pools.h>
+#include <xmlpullparser.h>
+
+typedef struct axis2_stax_om_builder_s axis2_stax_om_builder_t;
+
+
+typedef enum axis2_om_types_t {
+    AXIS2_OM_INVALID = -1,
+	AXIS2_OM_DOCUMENT = 10,
+	AXIS2_OM_ELEMENT = 20,
+	AXIS2_OM_DOCTYPE = 30,
+	AXIS2_OM_COMMENT = 40,
+	AXIS2_OM_ATTRIBUTE = 50,
+	AXIS2_OM_NAMESPACE = 60,
+	AXIS2_OM_PROCESSING_INSTRUCTION = 70,
+	AXIS2_OM_TEXT = 80
+} axis2_om_types_t;
+
+/**
+* This is the structure that defines a node in om tree 
+* @param parent   - parent node if one is available
+* @param parser   - carries a pointer to the XML_PullParser 
+* @param element_type - the type of the element one of omtypes
+* @param data_element  - stores the structs created for storing xml elements
+*						e.g axis2_om_element_t axis2_om_text_t  
+*
+* we keep pointers parent , previous sibling , next sibling , 
+* first child and last child for constructing and navigating the tree
+*
+*/
+typedef struct axis2_node_t {
+	struct axis2_node_t *parent;
+	struct axis2_node_t *prev_sibling;
+	struct axis2_node_t *next_sibling;
+	struct axis2_node_t *first_child;
+	struct axis2_node_t *last_child;
+	axis2_stax_om_builder_t *builder;
+	axis2_om_types_t element_type;
+	boolean_t done;
+	void* data_element;
+} axis2_node_t;
+
+/**
+ * Create a node struct.
+ * @return a node or NULL if there isn't enough memory
+ */
+
+axis2_node_t *axis2_node_create();
+
+/**
+ * destroy the node .
+ * @param node to free
+ */
+void axis2_node_free(axis2_node_t *node);
+
+/**
+ * adds a child node to this node .
+ * @param parent  parent node
+ * @param child   child node
+ */
+
+
+void axis2_node_add_child(axis2_node_t *parent,axis2_node_t *child);
+
+/**
+ *	detach a node from the tree and resets the links
+ *	@param node_to_detach the node to be detached
+ *
+ */
+
+axis2_node_t *axis2_node_detach(axis2_node_t *node_to_detach);
+
+/**
+ *	inserts a sibling node after the current node
+ *	@param current_node  the node in consideration 
+ *  @param node_to_insert the node that will be inserted 
+ */
+
+void axis2_node_insert_sibling_after(axis2_node_t *current_nodee,axis2_node_t *node_to_insert);
+
+void axis2_node_insert_sibling_before(axis2_node_t *current_ele,axis2_node_t *nodeto_insert);
+
+
+//int axis2_node_build(axis2_node_t *node);
+
+/**
+ *	set a parent node to a given node
+ * @param node 
+ * @param parent the node that will be set as parent
+ */
+
+void axis2_node_set_parent(axis2_node_t *node,axis2_node_t *parent);
+
+
+#endif // AXIS2_NODE_H

Added: webservices/axis2/trunk/c/include/axis2_om_attribute.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_attribute.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_attribute.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_attribute.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,67 @@
+/*
+ * 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_OM_ATTRIBUTE_H
+#define AXIS2_OM_ATTRIBUTE_H
+
+/**
+ * @file axis2_om_attribute.h
+ * @brief om attribute strcut represents an xml attribute
+ */
+
+#include <axis2_qname.h>
+#include <axis2_node.h>
+#include <axis2_om_namespace.h>
+
+/**
+ * localname   
+ * value
+ * namespace 
+ */
+
+typedef struct axis2_om_attribute_t{
+	char *localname;
+	char *value;
+	axis2_om_namespace_t *ns;
+}axis2_om_attribute_t;
+
+/**
+ * creates an om_attribute structure 
+ * @param localname
+ * @param value 
+ * @param axis2_om_namespace namespace 
+ * @return The attribute struct just created
+  */
+
+axis2_om_attribute_t *axis2_om_attribute_create(const char *localname,const char *value, axis2_om_namespace_t *ns);
+
+/**
+ * creates and returns a unique qname struct for this attribute 
+ * @param attribute pointer to an attribute struct
+ * @return axis2_qname_t struct
+ */
+
+axis2_qname_t *axis2_om_attribute_get_qname(axis2_om_attribute_t *attribute);
+
+/**
+ * free a om attribute struct
+ * @param attr pointer to the struct to be freed
+ * @return 
+ */
+
+void axis2_om_attribute_free(axis2_om_attribute_t *attr);
+
+#endif /* AXIS2_OM_ATTRIBUTE_H */

Propchange: webservices/axis2/trunk/c/include/axis2_om_attribute.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/axis2_om_comment.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_comment.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_comment.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_comment.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,65 @@
+/*
+ * 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_OM_COMMENT_H
+#define AXIS2_OM_COMMENT_H
+
+/**
+ * @file axis2_om_comment.h
+ * @brief defines axis2_om_comment_t struct, and manipulation functions
+ */
+
+#include <axis2_node.h>
+
+typedef struct axis2_om_comment_t
+{
+	char *value;
+}axis2_om_comment_t;
+
+/**
+ * Create a comment struct and stores in in a node struct and returns a pointer
+ * to the axis2_node_t struct
+ * the data_element field of node struct points to the acctual axis2_comment struct
+ * The element type of axis2_node_t struct will be of type AXIS2_OM_COMMENT
+ * @return pointer to a node_t struct containing the comment struct
+ */
+axis2_node_t *axis2_om_comment_create(const char *value);
+
+/**
+ *	free a axis2_comment struct
+ * @param comment pointer to the axis2_commnet 
+ *
+ */
+
+void axis2_om_comment_free(axis2_om_comment_t *comment);
+
+/**
+ *  to get the value of a existing comment node	
+ * @param comment_node pointer to comment node
+ */
+
+char *axis2_om_comment_get_value(axis2_node_t *comment_node);
+
+/**
+ *  to set the value of a existing comment node	
+ * @param comment_node pointer to comment node
+ */
+
+
+void axis2_om_comment_set_value(axis2_node_t *comment_node,const char *value);
+
+
+#endif // AXIS2_OM_COMMENT_H

Propchange: webservices/axis2/trunk/c/include/axis2_om_comment.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/axis2_om_doctype.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_doctype.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_doctype.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_doctype.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,70 @@
+/*
+ * 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_OM_DOCTYPE_H
+#define AXIS2_OM_DOCTYPE_H
+
+/**
+ *@file axis2_om_doctype.h	
+ *@brief defines struct representing xml DTD and its manipulation functions
+ */
+
+#include <axis2_node.h>
+
+typedef struct axis2_om_doctype_t
+{
+	char *value;
+}axis2_om_doctype_t;
+
+/**
+ * Create a doctype struct and stores in in a node struct and returns a pointer
+ * to the axis2_node_t struct
+ * the data_element field of node struct points to the acctual axis2_doctype_t struct
+ * The element type of axis2_node_t struct will be of type AXIS2_OM_DOCTYPE
+ * @return pointer to a axis2_node_t struct containing the doctype struct
+ */
+
+axis2_node_t *axis2_om_doctype_create(axis2_node_t *parent,const char *value);
+
+/**
+ *	create an axis2_om_doctype_t struct with parent 
+ *  value field will be set to null
+ *  @return poniter to a axis2_node_t 
+ */
+
+
+axis2_node_t *axis2_om_doctype_create_empty_doctype(axis2_node_t *parent);
+
+/**
+ *	free the axis2_om_doctype_t struct
+ *	@param om_doc pointer to axis2_om_doctype_t struct
+ */
+void axis2_om_doctype_free(axis2_om_doctype_t *om_doc);
+
+/**
+ *	accessor function to get value of doctype
+ *	@param om_doc pointer to axis2_om_doctype_t struct
+ */
+char *om_doctype_get_value(axis2_node_t *doctype_node);
+
+/**
+ *	mutator function to get value of doctype
+ *	@param om_doc pointer to axis2_om_doctype_t struct
+ *  @param value value to be set in om_doctype
+ */
+void om_doctype_set_value(axis2_node_t *doctype_node,const char *value);
+
+#endif				//  AXIS2_OM_DOCTYPE_H

Added: webservices/axis2/trunk/c/include/axis2_om_document.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_document.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_document.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_document.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,109 @@
+/*
+ * 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_OM_DOCUMENT_H
+#define AXIS2_OM_DOCUMENT_H
+#include <axis2_node.h>
+
+//typedef struct axis2_stax_om_builder_t axis2_stax_om_builder_t;
+
+/**
+ * @file axis2_node.h
+ * @brief om_document represents a xml document
+ *	
+ */
+
+
+
+#define CHAR_SET_ENCODING "UTF-8"
+#define XML_VERSION	"1.0"
+
+
+typedef struct axis2_om_document_t
+{
+	axis2_node_t *root_element;
+	axis2_node_t *first_child;
+	axis2_node_t *last_child;
+	int done;
+	axis2_stax_om_builder_t *builder;
+	char *char_set_encoding;
+	char *xml_version;
+
+}axis2_om_document_t;
+
+
+/**
+ *	creates and returns axis2_om_document returns null if there isn't enough memory
+ *  @param root_ele pointer to document's root node IF NUll is parsed a document root
+ *         will be set to NULL
+ *  @param builder pointer to xml builder 
+ */
+
+axis2_om_document_t *axis2_om_document_create(axis2_node_t *root_ele,axis2_stax_om_builder_t *builder);
+
+/** 
+ *  Free axis2_om_document_t struct
+ *	@param document 
+ */
+
+
+void axis2_free_om_document(axis2_om_document_t *document);
+
+/**
+ *	causes the parser to proceed if the xml input is not finised yet
+ *	@param document 
+ */
+
+
+void axis2_om_document_build_next(axis2_om_document_t *document);
+
+/**
+ *	adds the child node as a child to the back of the list
+ */
+void axis2_om_document_add_child(axis2_om_document_t *document,axis2_node_t *child);
+
+/**
+ *	This cause the parser to proceed 	
+ *	@param document
+ *	@ returns The first 
+ */
+
+
+axis2_node_t *axis2_om_document_get_first_child(axis2_om_document_t *document);
+
+/**
+ * set the CHAR SET ENCODING of this document
+ */
+void axis2_document_set_char_set_encoding(axis2_om_document_t *char_set_encoding);
+
+/**
+ * set the xml version of this document
+ */
+void axis2_document_set_xmlversion(axis2_om_document_t *document);
+
+
+
+
+/*	to implement
+ *	get first child with qname
+ *	get children iterator
+ *	get children with name
+ */
+
+
+
+
+#endif // AXIS2_OM_DOCUMENT_H

Propchange: webservices/axis2/trunk/c/include/axis2_om_document.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/axis2_om_element.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_element.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_element.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_element.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,138 @@
+/*
+ * 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_OM_ELEMENT_H
+#define AXIS2_OM_ELEMENT_H
+
+#include <axis2_om_namespace.h>
+#include <axis2_om_attribute.h>
+#include <axis2_node.h>
+#include <apr.h>
+#include <apr_hash.h>
+
+
+
+typedef struct axis2_om_element_t{
+	axis2_om_namespace_t *ns;			// current namespace
+	char *localname;			
+	int pns_counter;            // prefix namespace counter
+	apr_hash_t *attributes;     // a hashtable for storing attributes 
+	apr_hash_t *namespaces;		// hashtable for storing namespaces
+}axis2_om_element_t;
+
+
+/*
+*	Create an om element using localname and namespace and parent
+*@param localname can't be null
+*@param ns   namespace can be null
+*@param parent can be null
+*@return   Returns axis2_node_t pointer If there isn't enough memory null is returned
+*/
+axis2_node_t *axis2_om_element_create(const char *localname,axis2_om_namespace_t *ns
+										,axis2_node_t *parent);
+
+/**
+ *	create an om element using a qname 
+ * @param qname
+ * @param parent 
+ * @return axis2_node_t pointer or NULL if there isn't enough memory
+ */
+
+
+axis2_node_t *axis2_om_element_create_with_qname(axis2_qname_t *qname,axis2_node_t *parent);
+
+axis2_node_t *axis2_om_element_create_with_builder(const char *localname
+					,axis2_om_namespace_t *ns,axis2_node_t *parent,axis2_stax_om_builder_t *builder);
+													
+
+/*
+*	Find a namespace in the scope of the document 
+*	start to find from current element and go up the hierarchy
+*/
+
+axis2_om_namespace_t *axis2_om_element_find_namespace(
+			axis2_node_t *element_node, const char *uri,const char *prefix);
+/*
+declare a namespace in current element (in the scope of this element )
+*/
+
+axis2_om_namespace_t *axis2_om_element_declare_namespace(axis2_node_t *element_node,axis2_om_namespace_t *ns);
+/**
+ *	find namespaces in the scope of current element
+ */
+
+axis2_om_namespace_t *axis2_om_element_find_declared_namespace(axis2_node_t *element_node,const char *uri,const char *prefix);
+
+/**
+ *	add an attribute to current element
+ */
+
+axis2_om_attribute_t *axis2_om_element_add_attribute(axis2_node_t *element_node,axis2_om_attribute_t *attribute);
+
+/**
+ *	return the requested attribute
+ */
+
+axis2_om_attribute_t *axis2_om_element_get_attribute(axis2_node_t *element_node,axis2_qname_t *qname);
+
+/**
+ *	add an attribute
+ */
+
+axis2_om_attribute_t *axis2_om_element_add_attribute_with_namespace(
+		axis2_node_t* element_node,const char *attribute_name,const char *value,axis2_om_namespace_t *ns);
+
+/**
+ *
+ */
+
+
+static axis2_om_namespace_t *axis2_om_element_handle_namespace_with_qname(axis2_node_t *element_node,axis2_qname_t *qname);
+/*
+void om_element_remove_attribute(om_element_t *element,om_attribute_t *attribute);
+*/
+
+/**
+ *	set the namespace of this element
+ */
+
+void axis2_om_element_set_namespace(axis2_node_t *element_node,axis2_om_namespace_t *ns);
+/**
+ *	declare a namespace in the scope of this element
+ */
+
+axis2_om_namespace_t *axis2_om_element_declare_namespace_with_ns_uri_prefix(axis2_node_t *element_node,const char* uri,const char *prefix);
+/**
+ *	Free Om element 
+ *
+ */
+
+
+void axis2_free_om_element(axis2_om_element_t *element);
+/**
+ *	set localname
+ */
+
+void axis2_om_element_set_localname(axis2_node_t *element_node,const char *localname);
+
+/**
+ *	get Localname
+ */
+char *axis2_om_element_get_localname(axis2_node_t *element_node);
+
+
+
+#endif	// AXIS2_OM_ELEMENT_H

Added: webservices/axis2/trunk/c/include/axis2_om_namespace.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_namespace.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_namespace.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_namespace.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,55 @@
+/*
+ * 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_OM_NAMESPACE_H
+#define AXIS2_OM_NAMESPACE_H
+
+/**
+ * @file axis2_om_namespace.h
+ * @brief defines axis2_om_namespace data structure, used for constructing the om tree and its 
+ * manipulation functions
+ * represents an xml namespace
+ */
+
+#include <axis2.h>
+
+
+typedef struct axis2_om_namespace_t {
+    char *uri;
+    char *prefix;
+} axis2_om_namespace_t;
+
+/**
+ *	creates an axis2_om_namespace
+ *  @param axis2_om_namesapce_t pointer to axis2_om_namespace_t struct
+ */
+
+axis2_om_namespace_t *axis2_om_namespace_create(const char *uri,  const char *prefix);
+
+/**
+ * free an om_namespcae
+ *
+ */
+void axis2_om_namespace_free(axis2_om_namespace_t * ns);
+/**
+ *	compares two namepsaces
+ * @param ns1 ,ns2 namespace to be compared
+ * @return true if ns1 equals ns2 , false otherwise	
+ */
+
+boolean_t axis2_om_namespace_equals(axis2_om_namespace_t * ns1, axis2_om_namespace_t * ns2);
+
+#endif	// AXIS2_OM_NAMESPACE

Propchange: webservices/axis2/trunk/c/include/axis2_om_namespace.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/axis2_om_processing_instruction.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_processing_instruction.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_processing_instruction.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_processing_instruction.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,56 @@
+/*
+ * 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_OM_PI_H
+#define AXIS2_OM_PI_H
+
+/**
+ * @file axis2_om_processing_instruction.h
+ * @brief represents a xml processing instruction also known as PI
+ */
+
+#include <axis2_node.h>
+
+typedef struct axis2_om_processing_instruction_t {
+    char *target;
+    char *value;
+} axis2_om_processing_instruction_t;
+
+/**
+ *  creates axis2_om_processing_instruction and 
+ *	@return a pointer to axis2_node_t struct containing PI
+ */ 
+
+axis2_node_t *axis2_om_processing_instruction_create(axis2_node_t *parent
+					,const char *target,const char *value);
+/**
+ *  creates empty axis2_om_processing_instruction and 
+ *	@return a pointer to axis2_node_t struct containing PI
+ */
+
+axis2_node_t *axis2_create_om_processing_instruction_create_empty(axis2_node_t *parent);
+
+
+
+void axis2_om_processing_instruction_serialize_with_cache(FILE *output_stream);
+/**
+ *
+ *
+ */
+
+void axis2_om_processing_instruction_discard(axis2_om_processing_instruction_t *om_pi);
+
+#endif				// AXIS2_OM_PI_H

Added: webservices/axis2/trunk/c/include/axis2_om_text.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_text.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_text.h (added)
+++ webservices/axis2/trunk/c/include/axis2_om_text.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,74 @@
+/*
+ * 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_OM_TEXT_H
+#define AXIS2_OM_TEXT_H
+
+/**
+ * @file axis2_om_attribute.h
+ * @brief  represents xml text element
+ */
+
+
+#include <axis2_om_attribute.h>
+
+typedef struct axis2_om_text_t
+{
+	char *value;
+	axis2_om_namespace_t *ns;
+
+	char *mime_type;
+	int optimize;
+	char *localname;
+	int is_binary;
+	char *content_id;
+	axis2_om_attribute_t *attribute;
+}axis2_om_text_t;
+
+
+/**
+ * Create a text struct and stores in in a node struct and returns a pointer
+ * to the axis2_node_t struct
+ * the data_element field of node struct points to the acctual axis2_text_t struct
+ * The element type of axis2_node_t struct will be of type AXIS2_OM_TEXT
+ * @param parent This can be null The parent element should be of type AXIS2_OM_ELEMENT
+ * @return pointer to a axis2_node_t struct containing the text struct
+ */
+
+axis2_node_t *axis2_om_text_create(axis2_node_t *parent,const char *value);
+
+
+/**
+ * access the value of the text struct
+ * @param textnode node
+ * @return char * to the value
+ */
+char* axis2_om_text_get_text(axis2_om_text_t *textnode);
+
+/**
+ *	free an axis2_om_text_t structure
+ */
+
+void axis2_om_text_free(axis2_om_text_t *text);
+/**
+ *	axis2
+ *
+ */
+
+
+
+
+#endif // AXIS2_OM_TEXT_H

Propchange: webservices/axis2/trunk/c/include/axis2_om_text.h
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis2/trunk/c/include/axis2_operation_description.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_operation_description.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_operation_description.h (added)
+++ webservices/axis2/trunk/c/include/axis2_operation_description.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,70 @@
+#ifndef AXIS2_OPERATION_DESCRIPTION_H
+#define AXIS2_OPERATION_DESCRIPTION_H
+
+#include <axis2_description_param_include.h>
+
+typedef struct axis2_operation_description_s axis2_operation_description_t;
+typedef struct axis2_service_description_s axis2_service_description_t;
+typedef struct axis2_servicegroup_description_s axis2_servicegroup_description_t;
+
+/**
+ * <p>This holds the information about operation. </p>
+ */
+struct axis2_operation_description_s
+{
+	axis2_description_param_include_t *param_include;
+	axis2_service_description_t *parent;
+	axis2_qname_t *name;	
+
+} axis2_operation_description_s;
+
+/**
+ * <p>This holds the information about service. </p>
+ */
+struct axis2_service_description_s
+{
+	axis2_description_param_include_t *param_include;
+	axis2_servicegroup_description_t *parent;    
+
+} axis2_service_description_s;
+
+/**
+ * <p> This holds the information about the servicegroup_name
+ */
+struct axis2_servicegroup_description_s
+{
+	axis2_description_param_include_t *param_include;
+	axis2_qname_t *servicegroup_name;
+	apr_hash_t *services;
+	
+} axis2_servicegroup_description_s;
+
+axis2_operation_description_t 
+	*create_axis2_operation_description ();
+
+axis2_operation_description_t 
+	*create_axis2_operation_description_with_param_include (
+	axis2_description_param_include_t* param_include);
+
+axis2_operation_description_t *create_axis2_operation_description_with_name 
+	(axis2_description_param_include_t *param_include, axis2_qname_t *name);
+
+void free_axis2_operation_description (axis2_operation_description_t
+    *operation_desc);
+
+void axis2_operation_description_add_parameter(axis2_operation_description_t
+	*operation_desc, axis2_parameter_t *param);
+
+axis2_parameter_t *axis2_operation_description_get_parameter(
+	axis2_operation_description_t *operation_desc, char *name);
+
+axis2_parameter_t *axis2_operation_description_get_parameters(
+	axis2_operation_description_t * operation_desc);
+
+void axis2_operation_description_set_parent(axis2_operation_description_t *operation_description
+	, axis2_service_description_t *service_description);
+
+axis2_service_description_t *axis2_operation_description_get_parent(axis2_operation_description_t 
+	*operation_desc);
+
+#endif //AXIS2_OPERATION_DESCRIPTION_H

Added: webservices/axis2/trunk/c/include/axis2_parameter.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_parameter.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_parameter.h (added)
+++ webservices/axis2/trunk/c/include/axis2_parameter.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,66 @@
+#ifndef AXIS2_PARAMETER_H
+#define AXIS2_PARAMETER_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <axis2_om_element.h>
+#include <axis2.h>
+#include <axis2_errno.h>
+
+/**
+ * @file axis2_parameter.h
+ * @brief Parameter
+ */
+typedef enum axis2_parameter_types_t {
+    AXIS2_PARAMETER_INVALID = -1,
+    AXIS2_PARAMETER_DOM = 10,
+    AXIS2_PARAMETER_TEXT = 20,
+    
+} axis2_parameter_types_t;
+
+/**
+  * Paramter can be any thing it can be XML element with number of child elements
+  */
+typedef struct
+{
+    char *name;
+    void *value;
+    axis2_om_element_t *param_element;
+    int type;
+    boolean_t is_locked;
+} axis2_parameter_t;
+
+axis2_parameter_t *axis2_parameter_create ();
+
+/*
+ *	Create a param with name and value
+ */
+axis2_parameter_t *axis2_parameter_create_with_name_value (const char *name, char *value);
+
+/* Memory deallocation */
+void axis2_parameter_free (axis2_parameter_t * param);
+
+void axis2_parameter_set_name (axis2_parameter_t * param, char *name);
+
+char *axis2_parameter_get_name (axis2_parameter_t * param);
+
+void axis2_parameter_set_value (axis2_parameter_t * param, void *value);
+
+void *axis2_parameter_get_value (axis2_parameter_t * param);
+
+boolean_t axis2_parameter_is_locked (axis2_parameter_t * param);
+
+void axis2_parameter_set_locked (axis2_parameter_t * param,
+                                  boolean_t locked);
+
+void axis2_parameter_set_param_element (axis2_parameter_t * param,
+                                         axis2_om_element_t * om_element);
+
+axis2_parameter_t *axis2_parameter_get_param_element (axis2_parameter_t *
+                                                        param);
+
+void axis2_parameter_set_type (axis2_parameter_t * param, int type);
+
+int axis2_parameter_get_type (axis2_parameter_t * param);
+
+#endif /* AXIS2_PARAMETER_H */

Added: webservices/axis2/trunk/c/include/axis2_qname.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_qname.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_qname.h (added)
+++ webservices/axis2/trunk/c/include/axis2_qname.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,55 @@
+/*
+ * 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_QNAME_H
+#define AXIS2_QNAME_H
+
+
+/**
+ * @file axis2_qname.h
+ * @brief represents a qualified name
+ */
+
+#include <axis2.h>
+
+static const char XML_NAMESPACE_URI[] ="http://www.w3c.org/XML/1998/namespace";
+
+typedef struct axis2_qname_t{
+	char *localpart;
+	char *ns_uri;
+	char *prefix;
+	
+}axis2_qname_t;
+
+/**
+ *	creates a qname struct
+ *
+ */
+
+axis2_qname_t *axis2_qname_create(const char *localname,const char *ns_uri,const char *prefix);
+/**
+ * Free a qname struct
+ */
+
+void axis2_qname_free(axis2_qname_t *qn);
+/**
+ *	compare tow qname structs and returns true (1) if equals and false (0) otherwise
+ *
+ */
+
+boolean_t axis2_qname_equals(axis2_qname_t *qn1,axis2_qname_t *qn2);
+
+#endif // AXIS2_QNAME_H

Added: webservices/axis2/trunk/c/include/axis2_service_description.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_service_description.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_service_description.h (added)
+++ webservices/axis2/trunk/c/include/axis2_service_description.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,34 @@
+#ifndef AXIS2_SERVICE_DESCRIPTION_H
+#define AXIS2_SERVICE_DESCRIPTION_H
+
+#include <axis2_description_param_include.h>
+#include <axis2_operation_description.h>
+
+axis2_operation_description_t *axis2_service_description_get_operation_with_qname(
+	axis2_service_description_t *service_desc, axis2_qname_t *operation_name);
+
+void axis2_service_description_add_operation(axis2_service_description_t
+	*service_desc, axis2_operation_description_t *operation_desc);
+
+void axis2_service_description_add_parameter(axis2_service_description_t
+	*operation_desc, axis2_parameter_t *param);
+
+axis2_parameter_t *axis2_service_description_get_parameter(
+	axis2_service_description_t *service_desc, char *name);
+
+axis2_parameter_t *axis2_service_description_get_parameters(
+	axis2_operation_description_t *service_desc);
+
+axis2_operation_description_t *axis2_service_description_get_operation_with_char(
+	axis2_service_description_t *service_desc, char* name);
+
+apr_hash_t axis2_service_description_get_operations(
+	axis2_service_description_t *service_desc);
+	
+void setParent(axis2_service_description_t *service_description
+	,axis2_servicegroup_description_t *servicegroup_desc);
+
+axis2_servicegroup_description_t *axis2_service_description_getParent
+(axis2_service_description_t *service_desc);	
+
+#endif /* AXIS2_SERVICE_DESCRIPTION_H */

Added: webservices/axis2/trunk/c/include/axis2_servicegroup_description.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_servicegroup_description.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_servicegroup_description.h (added)
+++ webservices/axis2/trunk/c/include/axis2_servicegroup_description.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,9 @@
+#ifndef AXIS2_SERVICEGROUP_DESCRIPTION_H
+#define AXIS2_SERVICEGROUP_DESCRIPTION_H
+
+#include <axis2_description_param_include.h>
+#include <axis2_service_description.h>
+
+void axis2_servicegroup_add_service(axis2_servicegroup_description_t* service_group);
+	
+#endif /* AXIS2_SERVICEGROUP_DESCRIPTION_H	*/

Added: webservices/axis2/trunk/c/include/axis2_stax_ombuilder.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_stax_ombuilder.h?rev=293262&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_stax_ombuilder.h (added)
+++ webservices/axis2/trunk/c/include/axis2_stax_ombuilder.h Sun Oct  2 23:21:28 2005
@@ -0,0 +1,126 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_STAX_OMBUILDER_H
+#define AXIS2_STAX_OMBUILDER_H
+
+/**
+ * @file axis2_stax_om_builder.h
+ * @brief om model stax builder 
+ */
+
+
+
+#define XMLNS_URI "http://www.w3.org/XML/1998/namespace"
+#define XMLNS_PREFIX "xml"
+
+#include <xmlpullparser.h>
+#include <axis2_node.h>
+#include <axis2_om_document.h>
+
+struct axis2_stax_om_builder_s
+{
+	XML_PullParser			*parser;	
+	axis2_node_t			*lastnode;
+	axis2_om_document_t	*document;
+	boolean_t				done;
+	boolean_t				parser_accessed;
+	boolean_t				cache;
+};
+
+/**
+ *	create an stax_om_builder
+ * @param parser   This is the XMLStreamReader of xmlparser
+ *				   [ Guththila ]	
+ */
+
+axis2_stax_om_builder_t *axis2_stax_om_builder_create(XML_PullParser *parser);
+
+/**
+ *	Create an om element and adds to the document
+ *	@param builder pointer to the builder
+ *  @param returns a pointer to axis2_node_t containing the element or NULL if there
+ *  isn't enough memory
+ */
+
+axis2_node_t *axis2_stax_om_builder_create_om_element(
+						axis2_stax_om_builder_t *builder);
+
+/**
+ *	creates an om comment
+ *	@param builder
+ *  @returns 
+ */
+
+
+axis2_node_t *axis2_stax_om_builder_create_om_comment(
+						axis2_stax_om_builder_t *builder);
+
+/**
+ *	create an om doctype
+ *
+ */
+axis2_node_t *axis2_stax_om_builder_create_om_doctype(
+						axis2_stax_om_builder_t *builder_t);
+
+/**
+ *	create om_processing_instruction
+ */
+
+axis2_node_t *axis2_stax_om_builder_create_om_processing_instruction(
+						axis2_stax_om_builder_t *builder);
+
+/**
+ *	End element processing
+ */
+void axis2_stax_om_builder_end_element(axis2_stax_om_builder_t *builder);
+/**
+ *	move parser forward and reacts to events 
+ */
+
+int axis2_stax_om_builder_next(axis2_stax_om_builder_t *builder);
+
+/**
+ *	process attrbites 
+ *
+ */
+
+void axis2_stax_om_builder_process_attributes(axis2_stax_om_builder_t *builder,axis2_node_t *element_node);
+
+/**
+ *	create om text
+ *
+ */
+axis2_node_t *axis2_stax_om_builder_create_om_text(axis2_stax_om_builder_t *builder);
+
+/**
+ *	discard building an element
+ */
+
+
+void axis2_stax_om_builder_discard(axis2_stax_om_builder_t *builder,axis2_node_t *element_node);
+
+/**
+ *	process namespaces 
+ *
+ */
+
+axis2_node_t *axis2_stax_om_builder_process_namespace_data(axis2_stax_om_builder_t *builder,axis2_node_t *element,int is_soap_element);
+
+
+
+
+#endif // AXIS2_STAX_OMBUILDER_H

Modified: webservices/axis2/trunk/c/include/axis2c.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2c.h?rev=293262&r1=293261&r2=293262&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2c.h (original)
+++ webservices/axis2/trunk/c/include/axis2c.h Sun Oct  2 23:21:28 2005
@@ -6,8 +6,13 @@
  * @brief Axis2c specific global declarations
  */
 
+#include <apr.h>
+#include <apr_pools.h>
+#include <apr_hash.h>
+
 enum boolean_s {false, true};
 typedef enum boolean_s boolean_t; 
 
-#endif /* AXIS2C_H */
+apr_hash_t *axis2c_apr_hash_make(apr_pool_t *om_pool);                                        
 
+#endif /* AXIS2C_H */