You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/04/17 14:15:52 UTC

svn commit: r394660 [2/6] - in /webservices/axis2/trunk/c/modules/xml/xml_schema: ./ constants/ utils/

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_group_ref.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_group_ref.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_group_ref.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_group_ref.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,121 @@
+/*
+ * 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_XML_SCHEMA_GROUP_REF_H
+#define AXIS2_XML_SCHEMA_GROUP_REF_H
+
+/**
+ * @file axis2_xml_schema_group_ref.h
+ * @brief Axis2 Xml Schema Group Ref Interface
+ *          Class used within complex types that defines the reference to
+ *          groups defined at the schema level. Represents the World Wide
+ *          Web Consortium (W3C) group element with ref attribute.
+ */
+
+#include <axis2_xml_schema_particle.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+
+/** @defgroup_ref axis2_xml_schema_group_ref Xml Schema Group Ref
+  * @ingroup_ref axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_group_ref axis2_xml_schema_group_ref_t;
+typedef struct axis2_xml_schema_group_ref_ops axis2_xml_schema_group_ref_ops_t;
+struct axis2_xml_schema_group_base;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_group_ref_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *group_ref,
+            axis2_env_t **env);
+
+    axis2_xml_schema_particle_t *(AXIS2_CALL *
+    get_base_impl) (void *group_ref,
+                    axis2_env_t **env);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_ref_qname)(void *group_ref,
+                    axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_ref_qname)(void *group_ref,
+                    axis2_env_t **env,
+                    axis2_qname_t *ref_qname);
+    
+    struct axis2_xml_schema_group_base *(AXIS2_CALL *
+    get_particle)(void *group_ref,
+                    axis2_env_t **env);
+    
+};
+
+struct axis2_xml_schema_group_ref
+{
+    axis2_xml_schema_particle_t base;
+    axis2_xml_schema_group_ref_ops_t *ops;
+};
+
+/**
+ * Creates new Xml Schema Group Ref
+ */
+AXIS2_DECLARE(axis2_xml_schema_group_ref_t *)
+axis2_xml_schema_group_ref_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_group_ref_resolve_methods(
+                                axis2_xml_schema_group_ref_t *group_ref,
+                                axis2_env_t **env,
+                                axis2_xml_schema_group_ref_t *group_ref_impl,
+                                axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_GROUP_REF_FREE(group_ref, env) \
+		(((axis2_xml_schema_group_ref_t *) group_ref)->ops->\
+            free(group_ref, env))
+
+#define AXIS2_XML_SCHEMA_GROUP_REF_GET_BASE_IMPL(group_ref, env) \
+		(((axis2_xml_schema_group_ref_t *) group_ref)->ops->\
+            get_base_impl(group_ref, env))
+
+#define AXIS2_XML_SCHEMA_GROUP_REF_GET_REF_QNAME(group_ref, env) \
+		(((axis2_xml_schema_group_ref_t *) group_ref)->ops->\
+            get_ref_qname(group_ref, env))
+
+#define AXIS2_XML_SCHEMA_GROUP_REF_SET_REF_QNAME(group_ref, env, ref_qname) \
+		(((axis2_xml_schema_group_ref_t *) group_ref)->ops->\
+            set_ref_qname(group_ref, env, ref_qname))
+
+#define AXIS2_XML_SCHEMA_GROUP_REF_GET_PARTICLE(group_ref, env) \
+		(((axis2_xml_schema_group_ref_t *) group_ref)->ops->\
+            get_particle(group_ref, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_GROUP_REF_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_identity_constraint.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_identity_constraint.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_identity_constraint.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_identity_constraint.h Mon Apr 17 05:15:47 2006
@@ -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_XML_SCHEMA_IDENTITY_CONSTRAINT_H
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_H
+
+/**
+ * @file axis2_xml_schema_identity_constraint.h
+ * @brief Axis2 Xml Schema Identity Constraint Interface
+ *          Class for the identity constraints: key, keyref, and unique elements.
+ */
+
+#include <axis2_xml_schema_annotated.h>
+#include <axis2_hash.h>
+
+/** @defidentity_constraint axis2_xml_schema_identity_constraint Xml Schema 
+  *  Identity Constraint
+  * @inidentity_constraint axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_identity_constraint 
+        axis2_xml_schema_identity_constraint_t;
+typedef struct axis2_xml_schema_identity_constraint_ops 
+        axis2_xml_schema_identity_constraint_ops_t;
+struct axis2_xml_schema_xpath;
+struct axis2_xml_schema_obj_collection;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_identity_constraint_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *identity_constraint,
+            axis2_env_t **env);
+
+    axis2_xml_schema_annotated_t *(AXIS2_CALL *
+    get_base_impl) (void *identity_constraint,
+                    axis2_env_t **env);
+
+    struct axis2_xml_schema_obj_collection *(AXIS2_CALL *
+    get_fields)(void *identity_constraint,
+                axis2_env_t **env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_name)(void *identity_constraint,
+                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_name)(void *identity_constraint,
+                    axis2_env_t **env,
+                    axis2_char_t *name);
+    
+    struct axis2_xml_schema_xpath *(AXIS2_CALL *
+    get_selector)(void *identity_constraint,
+                    axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_selector)(void *identity_constraint,
+                    axis2_env_t **env,
+                    struct axis2_xml_schema_xpath *selector);
+};
+
+struct axis2_xml_schema_identity_constraint
+{
+    axis2_xml_schema_annotated_t base;
+    axis2_xml_schema_identity_constraint_ops_t *ops;
+};
+
+/**
+ * Creates new Xml Schema Identity Constraint
+ */
+AXIS2_DECLARE(axis2_xml_schema_identity_constraint_t *)
+axis2_xml_schema_identity_constraint_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_identity_constraint_resolve_methods(
+                axis2_xml_schema_identity_constraint_t *identity_constraint,
+                axis2_env_t **env,
+                axis2_xml_schema_identity_constraint_t *identity_constraint_impl,
+                axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_FREE(identity_constraint, env) \
+		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
+            free(identity_constraint, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_BASE_IMPL(identity_constraint, env) \
+		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
+            get_base_impl(identity_constraint, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_FIELDS(identity_constraint, env) \
+		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
+            get_fields(identity_constraint, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_NAME(identity_constraint, env) \
+		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
+            get_name(identity_constraint, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_NAME(identity_constraint, env, name) \
+		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
+            set_name(identity_constraint, env, name))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_SELECTOR(identity_constraint, env) \
+		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
+            get_selector(identity_constraint, env))
+
+#define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_SELECTOR(identity_constraint, env, selector) \
+		(((axis2_xml_schema_identity_constraint_t *) identity_constraint)->ops->\
+            set_selector(identity_constraint, env, selector))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj.h Mon Apr 17 05:15:47 2006
@@ -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_XML_SCHEMA_OBJ_H
+#define AXIS2_XML_SCHEMA_OBJ_H
+
+/**
+ * @file axis2_xml_schema_obj.h
+ * @brief Axis2 Xml Schema Obj  interface
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2.h>
+#include <axis2_array_list.h>
+#include <axis2_hash.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_xml_schema_obj axis2_xml_schema_obj_t;
+typedef struct axis2_xml_schema_obj_ops axis2_xml_schema_obj_ops_t;
+
+/** @defgroup axis2_xml_schema_obj Xml Schema Obj
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+struct axis2_xml_schema_obj_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *obj,
+            axis2_env_t **env);
+
+    int (AXIS2_CALL *
+    get_line_num) (void *obj,
+                    axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_line_num) (void *obj,
+                    axis2_env_t **env,
+                    int line_num);
+
+    int (AXIS2_CALL *
+    get_line_pos) (void *obj,
+                    axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_line_pos) (void *obj,
+                    axis2_env_t **env,
+                    int line_pos);
+
+    axis2_char_t * (AXIS2_CALL *
+    get_source_uri) (void *obj,
+                        axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_source_uri) (void *obj,
+                        axis2_env_t **env,
+                        axis2_char_t *source_uri);
+
+    axis2_bool_t (AXIS2_CALL *
+    equals) (void *obj,
+                axis2_env_t **env,
+                void *obj_comp);
+
+};
+
+struct axis2_xml_schema_obj
+{
+    axis2_xml_schema_obj_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_schema_obj_t *)
+axis2_xml_schema_obj_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_obj_resolve_methods(axis2_xml_schema_obj_t *schema_obj,
+                                        axis2_env_t **env,
+                                        axis2_xml_schema_obj_t *schema_obj_impl,
+                                        axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_OBJ_FREE(obj, env) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->free (obj, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_GET_LINE_NUM(obj, env) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->get_line_num (obj, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_SET_LINE_NUM(obj, env, line_num) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->set_line_num (obj, env, line_num))
+
+#define AXIS2_XML_SCHEMA_OBJ_GET_LINE_POS(obj, env) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->get_line_pos (obj, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_SET_LINE_POS(obj, env, line_pos) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->set_line_pos (obj, env, line_pos))
+
+
+#define AXIS2_XML_SCHEMA_OBJ_GET_SOURCE_URI(obj, env) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->get_source_uri (obj, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_SET_SOURCE_URI(obj, env, source_uri) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->set_source_uri (obj, env, \
+                                                                source_uri))
+
+#define AXIS2_XML_SCHEMA_OBJ_EQUALS(obj, env) \
+		(((axis2_xml_schema_obj_t *) obj)->ops->equals (obj, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_OBJ_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_collection.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_collection.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_collection.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_collection.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,144 @@
+/*
+ * 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_XML_SCHEMA_OBJ_COLLECTION_H
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_H
+
+/**
+ * @file axis2_xml_schema_obj_collection.h
+ * @brief Axis2 Xml Schema Obj Collection  interface
+ *          An object collection class to handle xml_schema_objs when 
+ *          collections are returned from method calls.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2.h>
+#include <axis2_array_list.h>
+#include <axis2_hash.h>
+#include <axis2_xml_schema_obj.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_xml_schema_obj_collection axis2_xml_schema_obj_collection_t;
+typedef struct axis2_xml_schema_obj_collection_ops axis2_xml_schema_obj_collection_ops_t;
+
+/** @defgroup axis2_xml_schema_obj_collection Xml Schema Obj Collection
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+struct axis2_xml_schema_obj_collection_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *obj_collection,
+            axis2_env_t **env);
+
+    int (AXIS2_CALL *
+    get_count) (void *obj_collection,
+                    axis2_env_t **env);
+
+    axis2_xml_schema_obj_t *(AXIS2_CALL *
+    get_item) (void *obj_collection,
+                    axis2_env_t **env,
+                    int i);
+
+    axis2_status_t (AXIS2_CALL *
+    set_item) (void *obj_collection,
+                    axis2_env_t **env,
+                    int i,
+                    axis2_xml_schema_obj_t *item);
+
+    axis2_status_t (AXIS2_CALL *
+    add) (void *obj_collection,
+                    axis2_env_t **env,
+                    axis2_xml_schema_obj_t *item);
+
+    axis2_bool_t (AXIS2_CALL *
+    contains) (void *obj_collection,
+                        axis2_env_t **env,
+                        axis2_xml_schema_obj_t *item);
+
+    axis2_status_t (AXIS2_CALL *
+    index_of) (void *obj_collection,
+                        axis2_env_t **env,
+                        axis2_xml_schema_obj_t *item);
+
+    axis2_status_t (AXIS2_CALL *
+    remove_at) (void *obj_collection,
+                axis2_env_t **env,
+                int i);
+
+};
+
+struct axis2_xml_schema_obj_collection
+{
+    axis2_xml_schema_obj_collection_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_schema_obj_collection_t *)
+axis2_xml_schema_obj_collection_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_obj_collection_resolve_methods(
+                        axis2_xml_schema_obj_collection_t *obj_collection,
+                        axis2_env_t **env,
+                        axis2_xml_schema_obj_collection_t *obj_collection_impl,
+                        axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_FREE(obj_collection, env) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->free (obj_collection, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_COUNT(obj_collection, env) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->get_count (obj_collection, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_ITEM(obj_collection, env, i) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->get_item (obj_collection, env, i))
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_SET_ITEM(obj_collection, env, i, item) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->set_item (obj_collection, env, i, item))
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_ADD(obj_collection, env, item) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->add (obj_collection, env, item))
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_CONTAINS(obj_collection, env, item) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->contains (obj_collection, env, item))
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_INDEX_OF(obj_collection, env, item) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->index_of (obj_collection, env, \
+                                                                item))
+
+#define AXIS2_XML_SCHEMA_OBJ_COLLECTION_REMOVE_AT(obj_collection, env, i) \
+		(((axis2_xml_schema_obj_collection_t *) obj_collection)->ops->remove_at (obj_collection, env, i))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_OBJ_COLLECTION_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_table.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_table.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_table.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_obj_table.h Mon Apr 17 05:15:47 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 AXIS2_XML_SCHEMA_OBJ_TABLE_H
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_H
+
+/**
+ * @file axis2_xml_schema_obj_table.h
+ * @brief Axis2 Xml Schema Obj Table  interface
+ *          A table class that provides read-only helpers for Xml Schema 
+ *          Object objects. This class is used to provide the tables for 
+ *          contained elements that are within the schema as tables that 
+ *          are accessed from the Xml Schema class (for example, Attributes, 
+ *          Attribute Groups, Elements, and so on).
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2.h>
+#include <axis2_array_list.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_xml_schema_obj.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_xml_schema_obj_table axis2_xml_schema_obj_table_t;
+typedef struct axis2_xml_schema_obj_table_ops axis2_xml_schema_obj_table_ops_t;
+
+/** @defgroup axis2_xml_schema_obj_table Xml Schema Obj Table
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+struct axis2_xml_schema_obj_table_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *obj_table,
+            axis2_env_t **env);
+
+    int (AXIS2_CALL *
+    get_count) (void *obj_table,
+                axis2_env_t **env);
+
+    axis2_xml_schema_obj_t *(AXIS2_CALL *
+    get_item) (void *obj_table,
+               axis2_env_t **env,
+               axis2_qname_t *qname);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_names) (void *obj_table,
+                axis2_env_t **env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_values) (void *obj_table,
+                 axis2_env_t **env);
+
+    axis2_bool_t (AXIS2_CALL *
+    contains) (void *obj_table,
+               axis2_env_t **env,
+               axis2_qname_t *qname);
+
+    axis2_status_t (AXIS2_CALL *
+    add) (void *obj_table,
+          axis2_env_t **env,
+          axis2_qname_t *qname,
+          axis2_xml_schema_obj_t *value);
+};
+
+struct axis2_xml_schema_obj_table
+{
+    axis2_xml_schema_obj_table_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_schema_obj_table_t *)
+axis2_xml_schema_obj_table_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_obj_table_resolve_methods(
+                        axis2_xml_schema_obj_table_t *obj_table,
+                        axis2_env_t **env,
+                        axis2_xml_schema_obj_table_t *obj_table_impl,
+                        axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_FREE(obj_table, env) \
+		(((axis2_xml_schema_obj_table_t *) obj_table)->ops->free (obj_table, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_GET_COUNT(obj_table, env) \
+		(((axis2_xml_schema_obj_table_t *) obj_table)->ops->get_count (obj_table, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_GET_ITEM(obj_table, env, qname) \
+		(((axis2_xml_schema_obj_table_t *) obj_table)->ops->get_item (obj_table, env, qname))
+
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_GET_NAMES(obj_table, env) \
+		(((axis2_xml_schema_obj_table_t *) obj_table)->ops->get_names (obj_table, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_GET_VALUES(obj_table, env) \
+		(((axis2_xml_schema_obj_table_t *) obj_table)->ops->get_values (obj_table, env))
+
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_CONTAINS(obj_table, env, qname) \
+		(((axis2_xml_schema_obj_table_t *) obj_table)->ops->contains (obj_table, env, qname))
+
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_ADD(obj_table, env, value) \
+		(((axis2_xml_schema_obj_table_t *) obj_table)->ops->add (obj_table, env, value))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_OBJ_TABLE_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_particle.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_particle.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_particle.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_particle.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,130 @@
+/*
+ * 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_XML_SCHEMA_PARTICLE_H
+#define AXIS2_XML_SCHEMA_PARTICLE_H
+
+/**
+ * @file axis2_xml_schema_particle.h
+ * @brief Axis2 Xml Schema Particle Interface
+ *          Base class for all particle types.
+ */
+
+#include <axis2_xml_schema_annotated.h>
+#include <axis2_hash.h>
+
+/** @defgroup axis2_xml_schema_particle Xml Schema Particle
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_particle axis2_xml_schema_particle_t;
+typedef struct axis2_xml_schema_particle_ops axis2_xml_schema_particle_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_particle_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *particle,
+            axis2_env_t **env);
+
+    axis2_xml_schema_annotated_t *(AXIS2_CALL *
+    get_base_impl) (void *particle,
+                    axis2_env_t **env);
+
+    long (AXIS2_CALL *
+    get_max_occurs)(void *particle,
+                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_max_occurs)(void *particle,
+                    axis2_env_t **env,
+                    long max_occurs);
+    
+    long (AXIS2_CALL *
+    get_min_occurs)(void *particle,
+                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_min_occurs)(void *particle,
+                    axis2_env_t **env,
+                    long min_occurs);
+};
+
+struct axis2_xml_schema_particle
+{
+    axis2_xml_schema_annotated_t base;
+    axis2_xml_schema_particle_ops_t *ops;
+};
+
+/**
+ * Creates new Xml Schema Particle
+ * Particle types are usually interchangeable.
+ * A local element declaration or reference to a global element
+ * declaration (element), a compositor ( sequence, choice, or all),
+ * a reference to a named content model group (group), or an element wildcard 
+ * (any).
+ */
+AXIS2_DECLARE(axis2_xml_schema_particle_t *)
+axis2_xml_schema_particle_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_particle_resolve_methods(
+                                axis2_xml_schema_particle_t *particle,
+                                axis2_env_t **env,
+                                axis2_xml_schema_particle_t *particle_impl,
+                                axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_PARTICLE_FREE(particle, env) \
+		(((axis2_xml_schema_particle_t *) particle)->ops->\
+            free(particle, env))
+
+#define AXIS2_XML_SCHEMA_PARTICLE_GET_BASE_IMPL(particle, env) \
+		(((axis2_xml_schema_particle_t *) particle)->ops->\
+            get_base_impl(particle, env))
+
+#define AXIS2_XML_SCHEMA_PARTICLE_GET_MAX_OCCURS(particle, env) \
+		(((axis2_xml_schema_particle_t *) particle)->ops->\
+            get_max_occurs(particle, env))
+
+#define AXIS2_XML_SCHEMA_PARTICLE_SET_MAX_OCCURS(particle, env, max_occurs) \
+		(((axis2_xml_schema_particle_t *) particle)->ops->\
+            set_max_occurs(particle, env, max_occurs))
+
+#define AXIS2_XML_SCHEMA_PARTICLE_GET_MIN_OCCURS(particle, env) \
+		(((axis2_xml_schema_particle_t *) particle)->ops->\
+            get_min_occurs(particle, env))
+
+#define AXIS2_XML_SCHEMA_PARTICLE_SET_MIN_OCCURS(particle, env, min_occurs) \
+		(((axis2_xml_schema_particle_t *) particle)->ops->\
+            set_min_occurs(particle, env, min_occurs))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_PARTICLE_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_sequence.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_sequence.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_sequence.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_sequence.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,108 @@
+/*
+ * 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_XML_SCHEMA_SEQUENCE_H
+#define AXIS2_XML_SCHEMA_SEQUENCE_H
+
+/**
+ * @file axis2_xml_schema_sequence.h
+ * @brief Axis2 Xml Schema Sequence Interface
+ *          Requires the elements in the group to appear in the specified sequence
+ *          within the containing element. Represents the World Wide Web Consortium
+ *          (W3C) sequence (compositor) element.
+ */
+
+#include <axis2_xml_schema_group_base.h>
+#include <axis2_hash.h>
+
+/** @defsequence axis2_xml_schema_sequence Xml Schema Sequence
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_sequence axis2_xml_schema_sequence_t;
+typedef struct axis2_xml_schema_sequence_ops axis2_xml_schema_sequence_ops_t;
+struct axis2_xml_schema_group_base;
+struct axis2_xml_schema_obj_collection;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_sequence_ops
+{
+	/** 
+     * Desequenceocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *sequence,
+            axis2_env_t **env);
+
+    struct axis2_xml_schema_group_base *(AXIS2_CALL *
+    get_base_impl) (void *sequence,
+                    axis2_env_t **env);
+    /*
+     * The elements contained within the compositor.
+     * Collection of Xml Schema Element, Xml Schema Group Ref,
+     * Xml Schema Choice, Xml Schema Sequence, or Xml Schema Any.
+     */
+    struct axis2_xml_schema_obj_collection *(AXIS2_CALL *
+    get_items)(void *sequence,
+                axis2_env_t **env);
+    
+};
+
+struct axis2_xml_schema_sequence
+{
+    struct axis2_xml_schema_group_base base;
+    axis2_xml_schema_sequence_ops_t *ops;
+};
+
+/**
+ * Creates new Xml Schema Sequence
+ */
+AXIS2_DECLARE(axis2_xml_schema_sequence_t *)
+axis2_xml_schema_sequence_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is csequenceed from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_sequence_resolve_methods(
+                                axis2_xml_schema_sequence_t *sequence,
+                                axis2_env_t **env,
+                                axis2_xml_schema_sequence_t *sequence_impl,
+                                axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_SEQUENCE_FREE(sequence, env) \
+		(((axis2_xml_schema_sequence_t *) sequence)->ops->\
+            free(sequence, env))
+
+#define AXIS2_XML_SCHEMA_SEQUENCE_GET_BASE_IMPL(sequence, env) \
+		(((axis2_xml_schema_sequence_t *) sequence)->ops->\
+            get_base_impl(sequence, env))
+
+#define AXIS2_XML_SCHEMA_SEQUENCE_GET_ITEMS(sequence, env) \
+		(((axis2_xml_schema_sequence_t *) sequence)->ops->\
+            get_items(sequence, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_SEQUENCE_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,165 @@
+/*
+ * 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_XML_SCHEMA_TYPE_H
+#define AXIS2_XML_SCHEMA_TYPE_H
+
+/**
+ * @file axis2_xml_schema_type.h
+ * @brief Axis2 Xml Schema Type Interface
+ *          The base class for all simple types and complex types.
+ */
+
+#include <axis2_xml_schema_annotated.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+
+/** @defgroup axis2_xml_schema_type Xml Schema Type
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_type axis2_xml_schema_type_t;
+typedef struct axis2_xml_schema_type_ops axis2_xml_schema_type_ops_t;
+struct axis2_xml_schema_data_type;
+struct axis2_xml_schema_derivation_method;
+struct axis2_xml_schema;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_type_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *type,
+            axis2_env_t **env);
+
+    axis2_xml_schema_annotated_t *(AXIS2_CALL *
+    get_base_impl) (void *type,
+                    axis2_env_t **env);
+
+    void *(AXIS2_CALL *
+    get_base_schema_type) (void *type,
+                            axis2_env_t **env);
+
+    struct axis2_xml_schema_data_type *(AXIS2_CALL *
+    get_data_type) (void *type,
+                    axis2_env_t **env);
+
+    struct axis2_xml_schema_derivation_method *(AXIS2_CALL *
+    get_derive_by) (void *type,
+                            axis2_env_t **env);
+
+    struct axis2_xml_schema_derivation_method *(AXIS2_CALL *
+    get_final) (void *type,
+                        axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_final) (void *type,
+                axis2_env_t **env,
+                struct axis2_xml_schema_derivation_method *final_derivation);
+
+    struct axis2_xml_schema_derivation_method *(AXIS2_CALL *
+    get_final_resolved) (void *type,
+                        axis2_env_t **env);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_mixed) (void *type,
+                        axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_mixed) (void *type,
+                        axis2_env_t **env,
+                        axis2_bool_t is_mixed); 
+
+    axis2_char_t *(AXIS2_CALL *
+    get_name) (void *type,
+                        axis2_env_t **env); 
+
+    axis2_status_t (AXIS2_CALL *
+    set_name) (void *type,
+                        axis2_env_t **env,
+                        axis2_char_t *name); 
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (void *type,
+                        axis2_env_t **env);
+
+};
+
+struct axis2_xml_schema_type
+{
+    axis2_xml_schema_annotated_t base;
+    axis2_xml_schema_type_ops_t *ops;
+};
+
+/**
+ * Creates new Xml Schema Type
+ * Type types are usually interchangeable.
+ * A local element declaration or reference to a global element
+ * declaration (element), a compositor ( sequence, choice, or all),
+ * a reference to a named content model group (group), or an element wildcard 
+ * (any).
+ */
+AXIS2_DECLARE(axis2_xml_schema_type_t *)
+axis2_xml_schema_type_create(axis2_env_t **env,
+                                struct axis2_xml_schema *schema);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_type_resolve_methods(
+                                axis2_xml_schema_type_t *type,
+                                axis2_env_t **env,
+                                axis2_xml_schema_type_t *type_impl,
+                                axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_TYPE_FREE(type, env) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+            free(type, env))
+
+#define AXIS2_XML_SCHEMA_TYPE_GET_BASE_IMPL(type, env) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+            get_base_impl(type, env))
+
+#define AXIS2_XML_SCHEMA_TYPE_GET_MAX_OCCURS(type, env) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+            get_max_occurs(type, env))
+
+#define AXIS2_XML_SCHEMA_TYPE_SET_MAX_OCCURS(type, env, max_occurs) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+            set_max_occurs(type, env, max_occurs))
+
+#define AXIS2_XML_SCHEMA_TYPE_GET_MIN_OCCURS(type, env) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+            get_min_occurs(type, env))
+
+#define AXIS2_XML_SCHEMA_TYPE_SET_MIN_OCCURS(type, env, min_occurs) \
+		(((axis2_xml_schema_type_t *) type)->ops->\
+            set_min_occurs(type, env, min_occurs))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_TYPE_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type_receiver.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type_receiver.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type_receiver.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_type_receiver.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,96 @@
+/*
+ * 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_XML_SCHEMA_TYPE_RECEIVER_H
+#define AXIS2_XML_SCHEMA_TYPE_RECEIVER_H
+
+/**
+ * @file axis2_xml_schema_type_receiver.h
+ * @brief Axis2 Xml Schema Type Receiver  interface
+ *          A TypeReceiver is something that can have its type set.  
+ *          This gets used to resolve forward references.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2.h>
+#include <axis2_array_list.h>
+#include <axis2_hash.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_xml_schema_type_receiver axis2_xml_schema_type_receiver_t;
+typedef struct axis2_xml_schema_type_receiver_ops axis2_xml_schema_type_receiver_ops_t;
+
+/** @defgroup axis2_xml_schema_type_receiver Xml Schema Type Receiver
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+struct axis2_xml_schema_type_receiver_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *type_receiver,
+            axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_type) (void *type_receiver,
+               axis2_env_t **env,
+               axis2_xml_schema_type_t *type);
+
+};
+
+struct axis2_xml_schema_type_receiver
+{
+    axis2_xml_schema_type_receiver_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_schema_type_receiver_t *)
+axis2_xml_schema_type_receiver_create(axis2_env_t **env);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_type_receiver_resolve_methods(
+                    axis2_xml_schema_type_receiver_t *schema_type_receiver,
+                    axis2_env_t **env,
+                    axis2_xml_schema_type_receiver_t *schema_type_receiver_impl,
+                    axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_TYPE_RECEIVER_FREE(type_receiver, env) \
+		(((axis2_xml_schema_type_receiver_t *) type_receiver)->ops->free (\
+        type_receiver, env))
+
+#define AXIS2_XML_SCHEMA_TYPE_RECEIVER_SET_TYPE(type_receiver, env, type) \
+		(((axis2_xml_schema_type_receiver_t *) type_receiver)->ops->set_type (\
+        type_receiver, env, type))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_TYPE_RECEIVER_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_use.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_use.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_use.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_use.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,95 @@
+/*
+ * 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_XML_SCHEMA_USE_H
+#define AXIS2_XML_SCHEMA_USE_H
+
+/**
+ * @file axis2_xml_schema_use.h
+ * @brief Axis2 Xml Schema Use Interface
+ *          Indicator of how the attribute is used.
+ *
+ */
+
+#include <constants/axis2_xml_schema_enum.h>
+
+/** @defgroup axis2_xml_schema_use Xml Schema Use
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_use axis2_xml_schema_use_t;
+typedef struct axis2_xml_schema_use_ops axis2_xml_schema_use_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_use_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *use,
+            axis2_env_t **env);
+
+    axis2_xml_schema_enum_t *(AXIS2_CALL *
+    get_base_impl) (void *use,
+                    axis2_env_t **env);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_values)(void *use,
+                axis2_env_t **env);
+    
+};
+
+struct axis2_xml_schema_use
+{
+    axis2_xml_schema_enum_t base;
+    axis2_xml_schema_use_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_schema_use_t *)
+axis2_xml_schema_use_create(axis2_env_t **env,
+                                    axis2_char_t* value);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_use_resolve_methods(
+                                axis2_xml_schema_use_t *use,
+                                axis2_env_t **env,
+                                axis2_xml_schema_use_t *use_impl,
+                                axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_USE_FREE(use, env) \
+		(((axis2_xml_schema_use_t *) use)->ops->free(use, env))
+
+#define AXIS2_XML_SCHEMA_USE_GET_BASE_IMPL(use, env) \
+		(((axis2_xml_schema_use_t *) use)->ops->get_base_impl(use, env))
+
+#define AXIS2_XML_SCHEMA_USE_GET_VALUES(use, env) \
+		(((axis2_xml_schema_use_t *) use)->ops->values(use, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_USE_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_xpath.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_xpath.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_xpath.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_schema_xpath.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_XML_SCHEMA_XPATH_H
+#define AXIS2_XML_SCHEMA_XPATH_H
+
+/**
+ * @file axis2_xml_schema_xpath.h
+ * @brief Axis2 Xml Schema Xpath Interface
+ *          Class for XML Path Language (XPath) expressions. Represents the
+ *          World Wide Web Consortium (W3C) selector element. The World Wide
+ *          Web Consortium (W3C) field element is a collection of
+ *          Xml Schema XPath classes.
+ */
+
+#include <axis2_xml_schema_annotated.h>
+#include <axis2_om_element.h>
+#include <axis2_om_node.h>
+#include <axis2_hash.h>
+
+/** @defgroup axis2_xml_schema_xpath Xml Schema Xpath
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_schema_xpath axis2_xml_schema_xpath_t;
+typedef struct axis2_xml_schema_xpath_ops axis2_xml_schema_xpath_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_schema_xpath_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *xpath,
+            axis2_env_t **env);
+
+    axis2_xml_schema_annotated_t *(AXIS2_CALL *
+    get_base_impl) (void *xpath,
+                    axis2_env_t **env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_xpath)(void *xpath,
+                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_xpath)(void *xpath,
+                    axis2_env_t **env,
+                    axis2_char_t *x_path);
+
+};
+
+struct axis2_xml_schema_xpath
+{
+    axis2_xml_schema_annotated_t base;
+    axis2_xml_schema_xpath_ops_t *ops;
+};
+
+/**
+ * Creates new Xml Schema Xpath
+ */
+AXIS2_DECLARE(axis2_xml_schema_xpath_t *)
+axis2_xml_schema_xpath_create(axis2_env_t **env,
+                                void *value,
+                                axis2_bool_t fixed);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_xpath_resolve_methods(
+                                axis2_xml_schema_xpath_t *xpath,
+                                axis2_env_t **env,
+                                axis2_xml_schema_xpath_t *xpath_impl,
+                                axis2_hash_t *methods);
+
+#define AXIS2_XML_SCHEMA_XPATH_FREE(xpath, env) \
+		(((axis2_xml_schema_xpath_t *) xpath)->ops->\
+            free(xpath, env))
+
+#define AXIS2_XML_SCHEMA_XPATH_GET_BASE_IMPL(xpath, env) \
+		(((axis2_xml_schema_xpath_t *) xpath)->ops->\
+            get_base_impl(xpath, env))
+
+#define AXIS2_XML_SCHEMA_XPATH_GET_XPATH(xpath, env) \
+		(((axis2_xml_schema_xpath_t *) xpath)->ops->\
+            get_xpath(xpath, env))
+
+#define AXIS2_XML_SCHEMA_XPATH_SET_XPATH(xpath, env, x_path) \
+		(((axis2_xml_schema_xpath_t *) xpath)->ops->\
+            set_xpath(xpath, env, x_path))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_XPATH_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_tokenized_type.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_tokenized_type.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_tokenized_type.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/axis2_xml_tokenized_type.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,96 @@
+/*
+ * 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_XML_TOKENIZED_TYPE_H
+#define AXIS2_XML_TOKENIZED_TYPE_H
+
+/**
+ * @file axis2_xml_tokenized_type.h
+ * @brief Axis2 Xml Tokenized Type Interface
+ *          Indicator of how the attribute is used.
+ *
+ */
+
+#include <constants/axis2_xml_schema_enum.h>
+
+/** @defgroup axis2_xml_tokenized_type Xml Tokenized Type
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+typedef struct axis2_xml_tokenized_type axis2_xml_tokenized_type_t;
+typedef struct axis2_xml_tokenized_type_ops 
+        axis2_xml_tokenized_type_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct axis2_xml_tokenized_type_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *tokenized_type,
+            axis2_env_t **env);
+
+    axis2_xml_schema_enum_t *(AXIS2_CALL *
+    get_base_impl) (void *tokenized_type,
+                    axis2_env_t **env);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_values)(void *tokenized_type,
+                axis2_env_t **env);
+    
+};
+
+struct axis2_xml_tokenized_type
+{
+    axis2_xml_schema_enum_t base;
+    axis2_xml_tokenized_type_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_tokenized_type_t *)
+axis2_xml_tokenized_type_create(axis2_env_t **env,
+                                    axis2_char_t* value);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_tokenized_type_resolve_methods(
+                                axis2_xml_tokenized_type_t *tokenized_type,
+                                axis2_env_t **env,
+                                axis2_xml_tokenized_type_t *tokenized_type_impl,
+                                axis2_hash_t *methods);
+
+#define AXIS2_XML_TOKENIZED_TYPE_FREE(tokenized_type, env) \
+		(((axis2_xml_tokenized_type_t *) tokenized_type)->ops->free(tokenized_type, env))
+
+#define AXIS2_XML_TOKENIZED_TYPE_GET_BASE_IMPL(tokenized_type, env) \
+		(((axis2_xml_tokenized_type_t *) tokenized_type)->ops->get_base_impl(tokenized_type, env))
+
+#define AXIS2_XML_TOKENIZED_TYPE_GET_VALUES(tokenized_type, env) \
+		(((axis2_xml_tokenized_type_t *) tokenized_type)->ops->values(tokenized_type, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_TOKENIZED_TYPE_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.am?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.am (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.am Mon Apr 17 05:15:47 2006
@@ -0,0 +1,7 @@
+noinst_LTLIBRARIES = libaxis2_xml_schema_constants.la
+libaxis2_xml_schema_constants_la_SOURCES = \
+										   xml_schema_enum.c
+
+INCLUDES = -I$(top_builddir)/include \
+            -I$(top_builddir)/modules/util \
+            -I$(top_builddir)/modules/platforms

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.in
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.in?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.in (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/constants/Makefile.in Mon Apr 17 05:15:47 2006
@@ -0,0 +1,445 @@
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+SOURCES = $(libaxis2_xml_schema_constants_la_SOURCES)
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = modules/xml/xml_schema/constants
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libaxis2_xml_schema_constants_la_LIBADD =
+am_libaxis2_xml_schema_constants_la_OBJECTS = xml_schema_enum.lo
+libaxis2_xml_schema_constants_la_OBJECTS =  \
+	$(am_libaxis2_xml_schema_constants_la_OBJECTS)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libaxis2_xml_schema_constants_la_SOURCES)
+DIST_SOURCES = $(libaxis2_xml_schema_constants_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+APACHE2BUILD = @APACHE2BUILD@
+APACHE2INC = @APACHE2INC@
+APRINC = @APRINC@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DICLIENT_DIR = @DICLIENT_DIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GUTHTHILA_DIR = @GUTHTHILA_DIR@
+GUTHTHILA_LIBS = @GUTHTHILA_LIBS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_DIR = @LIBXML2_DIR@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SAMPLES = @SAMPLES@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TESTDIR = @TESTDIR@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+noinst_LTLIBRARIES = libaxis2_xml_schema_constants.la
+libaxis2_xml_schema_constants_la_SOURCES = \
+										   xml_schema_enum.c
+
+INCLUDES = -I$(top_builddir)/include \
+            -I$(top_builddir)/modules/util \
+            -I$(top_builddir)/modules/platforms
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  modules/xml/xml_schema/constants/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  modules/xml/xml_schema/constants/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libaxis2_xml_schema_constants.la: $(libaxis2_xml_schema_constants_la_OBJECTS) $(libaxis2_xml_schema_constants_la_DEPENDENCIES) 
+	$(LINK)  $(libaxis2_xml_schema_constants_la_LDFLAGS) $(libaxis2_xml_schema_constants_la_OBJECTS) $(libaxis2_xml_schema_constants_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_schema_enum.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_constants.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_constants.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_constants.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_constants.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,108 @@
+/*
+ * 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_XML_SCHEMA_CONSTANTS_H
+#define AXIS2_XML_SCHEMA_CONSTANTS_H
+
+/**
+ * @file axis2_schema_constants.h
+ * @brief Axis2 Xml Schema Constants
+ */
+ 
+#include <axis2.h>
+
+#ifdef __cplusplus
+extern "C" 
+{
+#endif
+    
+/** @defgroup axis2_xml_schema_constants 
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+/*********************************** Constansts********************************/
+#define AXIS2_XMLNS_URI "http://www.w3.org/XML/1998/namespace"
+
+#define AXIS2_XMLNS_PREFIX "xml"
+
+/*
+ * Schema Namespaces
+ */
+#define AXIS2_URI_2001_SCHEMA_XSD "http://www.w3.org/2001/XMLSchema"
+#define AXIS2_URI_2001_SCHEMA_XSI "http://www.w3.org/2001/XMLSchema-instance"
+
+/* Define qnames for the all of the XSD and SOAP-ENC encodings */
+#define XSD_STRING "URI_2001_SCHEMA_XSD|string"
+#define XSD_BOOLEAN "URI_2001_SCHEMA_XSD|boolean"
+#define XSD_DOUBLE "URI_2001_SCHEMA_XSD|double"
+#define XSD_FLOAT "URI_2001_SCHEMA_XSD|float"
+#define XSD_INT "URI_2001_SCHEMA_XSD|int"
+#define XSD_INTEGER "URI_2001_SCHEMA_XSD|integer"
+#define XSD_LONG "URI_2001_SCHEMA_XSD|long"
+#define XSD_SHORT "URI_2001_SCHEMA_XSD|short"
+#define XSD_BYTE "URI_2001_SCHEMA_XSD|byte"
+#define XSD_DECIMAL "URI_2001_SCHEMA_XSD|decimal"
+#define XSD_BASE64 "URI_2001_SCHEMA_XSD|base64Binary"
+#define XSD_HEXBIN "URI_2001_SCHEMA_XSD|hexBinary"
+#define XSD_ANYSIMPLETYPE "URI_2001_SCHEMA_XSD|anySimpleType"
+#define XSD_ANYTYPE "URI_2001_SCHEMA_XSD|anyType"
+#define XSD_ANY "URI_2001_SCHEMA_XSD|any"
+#define XSD_QNAME "URI_2001_SCHEMA_XSD|QName"
+#define XSD_DATETIME "URI_2001_SCHEMA_XSD|dateTime"
+#define XSD_DATE "URI_2001_SCHEMA_XSD|date"
+#define XSD_TIME "URI_2001_SCHEMA_XSD|time"
+
+#define XSD_NORMALIZEDSTRING "URI_2001_SCHEMA_XSD|normalizedString"
+#define XSD_TOKEN "URI_2001_SCHEMA_XSD|token"
+
+#define XSD_UNSIGNEDLONG "URI_2001_SCHEMA_XSD|unsignedLong"
+#define XSD_UNSIGNEDINT "URI_2001_SCHEMA_XSD|unsignedInt"
+#define XSD_UNSIGNEDSHORT "URI_2001_SCHEMA_XSD|unsignedShort"
+#define XSD_UNSIGNEDBYTE "URI_2001_SCHEMA_XSD|unsignedByte"
+#define XSD_POSITIVEINTEGER "URI_2001_SCHEMA_XSD|positiveInteger"
+#define XSD_NEGATIVEINTEGER "URI_2001_SCHEMA_XSD|negativeInteger"
+#define XSD_NONNEGATIVEINTEGER "URI_2001_SCHEMA_XSD|nonNegativeInteger"
+#define XSD_NONPOSITIVEINTEGER "URI_2001_SCHEMA_XSD|nonPositiveInteger"
+
+#define XSD_YEARMONTH "URI_2001_SCHEMA_XSD|gYearMonth"
+#define XSD_MONTHDAY "URI_2001_SCHEMA_XSD|gMonthDay"
+#define XSD_YEAR "URI_2001_SCHEMA_XSD|gYear"
+#define XSD_MONTH "URI_2001_SCHEMA_XSD|gMonth"
+#define XSD_DAY "URI_2001_SCHEMA_XSD|gDay"
+#define XSD_DURATION "URI_2001_SCHEMA_XSD|duration"
+
+#define XSD_NAME "URI_2001_SCHEMA_XSD|Name"
+#define XSD_NCNAME "URI_2001_SCHEMA_XSD|NCName"
+#define XSD_NMTOKEN "URI_2001_SCHEMA_XSD|NMTOKEN"
+#define XSD_NMTOKENS "URI_2001_SCHEMA_XSD|NMTOKENS"
+#define XSD_NOTATION "URI_2001_SCHEMA_XSD|NOTATION"
+#define XSD_ENTITY "URI_2001_SCHEMA_XSD|ENTITY"
+#define XSD_ENTITIES "URI_2001_SCHEMA_XSD|ENTITIES"
+#define XSD_IDREF "URI_2001_SCHEMA_XSD|IDREF"
+#define XSD_IDREFS "URI_2001_SCHEMA_XSD|IDREFS"
+#define XSD_ANYURI "URI_2001_SCHEMA_XSD|anyURI"
+#define XSD_LANGUAGE "URI_2001_SCHEMA_XSD|language"
+#define XSD_ID "URI_2001_SCHEMA_XSD|ID"
+#define XSD_SCHEMA "URI_2001_SCHEMA_XSD|schema"
+
+/*********************************** Constants*********************************/	
+	
+	
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_XML_SCHEMA_CONSTANTS_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_enum.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_enum.h?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_enum.h (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/constants/axis2_xml_schema_enum.h Mon Apr 17 05:15:47 2006
@@ -0,0 +1,121 @@
+/*
+ * 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_XML_SCHEMA_ENUM_H
+#define AXIS2_XML_SCHEMA_ENUM_H
+
+/**
+ * @file axis2_xml_schema_enum.h
+ * @brief Axis2 Xml Schema Enum  interface
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2.h>
+#include <axis2_array_list.h>
+#include <axis2_hash.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_xml_schema_enum axis2_xml_schema_enum_t;
+typedef struct axis2_xml_schema_enum_ops axis2_xml_schema_enum_ops_t;
+
+/** @defgroup axis2_xml_schema_enum Xml Schema Enum
+  * @ingroup axis2_xml_schema
+  * @{
+  */
+
+struct axis2_xml_schema_enum_ops
+{
+	/** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *schema_enum,
+            axis2_env_t **env);
+
+    axis2_char_t * (AXIS2_CALL *
+    get_value) (void *schema_enum,
+                        axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_value) (void *schema_enum,
+                            axis2_env_t **env,
+                            axis2_char_t *value);
+
+    axis2_bool_t (AXIS2_CALL *
+    equals) (void *schema_enum,
+                                    axis2_env_t **env,
+                                    void *obj);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_values) (void *schema_enum, 
+                                    axis2_env_t **env);
+    
+};
+
+struct axis2_xml_schema_enum
+{
+    axis2_xml_schema_enum_ops_t *ops;
+};
+
+AXIS2_DECLARE(axis2_xml_schema_enum_t *)
+axis2_xml_schema_enum_create(axis2_env_t **env,
+                                axis2_char_t *value);
+
+/**
+ * This method is internal to Axis2 C. It is called from Child Constructor
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_enum_resolve_methods(axis2_xml_schema_enum_t *schema_enum,
+                                      axis2_env_t **env,
+                                      axis2_xml_schema_enum_t *schema_enum_impl,
+                                      axis2_hash_t *methods);
+
+int AXIS2_CALL
+axis2_xml_schema_enum_index(axis2_char_t *value,
+                            axis2_array_list_t *values,
+                            axis2_env_t **env);
+
+#define AXIS2_XML_SCHEMA_ENUM_FREE(schema_enum, env) \
+		(((axis2_xml_schema_enum_t *) schema_enum)->ops->free (schema_enum, env))
+
+#define AXIS2_XML_SCHEMA_ENUM_GET_VALUE(schema_enum, env) \
+		(((axis2_xml_schema_enum_t *) schema_enum)->ops->get_value \
+         (schema_enum, env))
+
+#define AXIS2_XML_SCHEMA_ENUM_SET_VALUE(schema_enum, env, value) \
+		(((axis2_xml_schema_enum_t *) schema_enum)->ops->set_value \
+         (schema_enum, env, value))
+
+#define AXIS2_XML_SCHEMA_ENUM_EQUALS(schema_enum, env) \
+		(((axis2_xml_schema_enum_t *) schema_enum)->ops->equals (schema_enum, env))
+
+#define AXIS2_XML_SCHEMA_ENUM_GET_VALUES(schema_enum, env) \
+		(((axis2_xml_schema_enum_t *) schema_enum)->ops->get_values \
+         (schema_enum, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_ENUM_H */

Added: webservices/axis2/trunk/c/modules/xml/xml_schema/constants/xml_schema_enum.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/xml_schema/constants/xml_schema_enum.c?rev=394660&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/xml_schema/constants/xml_schema_enum.c (added)
+++ webservices/axis2/trunk/c/modules/xml/xml_schema/constants/xml_schema_enum.c Mon Apr 17 05:15:47 2006
@@ -0,0 +1,211 @@
+/*
+ * 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.
+ */
+ 
+#include "axis2_xml_schema_enum.h"
+#include <axis2_hash.h>
+
+typedef struct axis2_xml_schema_enum_impl axis2_xml_schema_enum_impl_t;
+
+/** 
+ * @brief Xml Schema Enum Impl
+ *	Axis2 Xml Schema Enum 
+ */ 
+struct axis2_xml_schema_enum_impl
+{
+    axis2_xml_schema_enum_t schema_enum;
+    axis2_array_list_t *values;
+    axis2_char_t *value;
+};
+
+#define INTF_TO_IMPL(schema_enum) ((axis2_xml_schema_enum_impl_t *) schema_enum)
+
+axis2_status_t AXIS2_CALL 
+axis2_xml_schema_enum_free(void *schema_enum,
+                axis2_env_t **envv);
+
+axis2_char_t * AXIS2_CALL
+axis2_xml_schema_enum_get_value(void *schema_enum,
+                        axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_xml_schema_enum_set_value(void *schema_enum,
+                        axis2_env_t **env,
+                        axis2_char_t *value);
+
+axis2_bool_t AXIS2_CALL
+axis2_xml_schema_enum_equals(void *schema_enum,
+                                axis2_env_t **env,
+                                void *obj);
+
+axis2_array_list_t *AXIS2_CALL
+axis2_xml_schema_enum_get_values(void *schema_enum,
+                                axis2_env_t **env);
+
+AXIS2_DECLARE(axis2_xml_schema_enum_t *)
+axis2_xml_schema_enum_create(axis2_env_t **env,
+                                axis2_char_t *value)
+{
+    axis2_xml_schema_enum_impl_t *schema_enum_impl = NULL;
+    
+    schema_enum_impl = AXIS2_MALLOC((*env)->allocator, 
+                    sizeof(axis2_xml_schema_enum_impl_t));
+
+    schema_enum_impl->values = NULL;
+    schema_enum_impl->value = NULL;
+
+    schema_enum_impl->schema_enum.ops = AXIS2_MALLOC((*env)->allocator, 
+                    sizeof(axis2_xml_schema_enum_ops_t)); 
+
+    axis2_xml_schema_enum_set_value(&(schema_enum_impl->schema_enum), 
+            env, value);
+
+    schema_enum_impl->schema_enum.ops->free = axis2_xml_schema_enum_free;
+    schema_enum_impl->schema_enum.ops->get_value = 
+            axis2_xml_schema_enum_get_value;
+    schema_enum_impl->schema_enum.ops->set_value = 
+            axis2_xml_schema_enum_set_value;
+    schema_enum_impl->schema_enum.ops->equals = axis2_xml_schema_enum_equals;
+    schema_enum_impl->schema_enum.ops->get_values = 
+            axis2_xml_schema_enum_get_values;
+
+    return &(schema_enum_impl->schema_enum);
+}
+
+axis2_status_t AXIS2_CALL
+axis2_xml_schema_enum_free(void *schema_enum,
+                axis2_env_t **env)
+{
+    axis2_xml_schema_enum_impl_t *schema_enum_impl = NULL;
+
+    schema_enum_impl = INTF_TO_IMPL(schema_enum);
+
+    if(schema_enum_impl->value)
+    {
+        AXIS2_FREE((*env)->allocator, schema_enum_impl->value);
+        schema_enum_impl->value = NULL;
+    }
+
+    if(schema_enum_impl->values)
+    {
+        AXIS2_ARRAY_LIST_FREE(schema_enum_impl->values, env);
+        schema_enum_impl->values = NULL;
+    }
+
+    if((&(schema_enum_impl->schema_enum))->ops)
+    {
+        free((&(schema_enum_impl->schema_enum))->ops);
+        (&(schema_enum_impl->schema_enum))->ops = NULL;
+    }
+
+    if(schema_enum_impl)
+    {
+        free(schema_enum_impl);
+        schema_enum_impl = NULL;
+    }
+    return AXIS2_SUCCESS;
+}
+
+AXIS2_DECLARE(axis2_status_t)
+axis2_xml_schema_enum_resolve_methods(axis2_xml_schema_enum_t *schema_enum,
+                                        axis2_env_t **env,
+                                        axis2_xml_schema_enum_t *schema_enum_impl,
+                                        axis2_hash_t *methods)
+{    
+    axis2_xml_schema_enum_impl_t *schema_enum_impl_l = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, schema_enum_impl, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, methods, AXIS2_FAILURE);
+    
+    schema_enum_impl_l = (axis2_xml_schema_enum_impl_t *) schema_enum_impl;
+    
+    schema_enum->ops = AXIS2_MALLOC((*env)->allocator, 
+            sizeof(axis2_xml_schema_enum_ops_t));
+    schema_enum->ops->free = axis2_hash_get(methods, "free", 
+            AXIS2_HASH_KEY_STRING);
+    schema_enum->ops->get_value = 
+            schema_enum_impl_l->schema_enum.ops->get_value;
+    schema_enum->ops->set_value = 
+            schema_enum_impl_l->schema_enum.ops->set_value; 
+    schema_enum->ops->equals = 
+            schema_enum_impl_l->schema_enum.ops->equals;
+    schema_enum->ops->get_values = 
+            schema_enum_impl_l->schema_enum.ops->get_values;
+    return AXIS2_SUCCESS;    
+
+}
+
+
+axis2_char_t * AXIS2_CALL
+axis2_xml_schema_enum_get_value(void *schema_enum,
+                        axis2_env_t **env)
+{
+    axis2_xml_schema_enum_impl_t *schema_enum_impl = NULL;
+    
+    schema_enum_impl = INTF_TO_IMPL(schema_enum);
+    return schema_enum_impl->value;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_xml_schema_enum_set_value(void *schema_enum,
+                        axis2_env_t **env,
+                        axis2_char_t *value)
+{
+    axis2_xml_schema_enum_impl_t *schema_enum_impl = NULL;
+
+    schema_enum_impl = INTF_TO_IMPL(schema_enum);
+
+    if(schema_enum_impl->value)
+    {
+        free(schema_enum_impl->value);
+        schema_enum_impl->value = NULL;
+    }
+    schema_enum_impl->value = AXIS2_STRDUP(value, env);
+
+    return AXIS2_SUCCESS;
+}
+
+axis2_bool_t AXIS2_CALL
+axis2_xml_schema_enum_equals(void *schema_enum,
+                                axis2_env_t **env,
+                                void *obj)
+{
+    axis2_xml_schema_enum_impl_t *schema_enum_impl = NULL;
+
+    schema_enum_impl = INTF_TO_IMPL(schema_enum);
+
+    return AXIS2_TRUE;
+}
+
+axis2_array_list_t *AXIS2_CALL
+axis2_xml_schema_enum_get_values(void *schema_enum, 
+                                axis2_env_t **env)
+{
+    axis2_xml_schema_enum_impl_t *schema_enum_impl = NULL;
+
+    schema_enum_impl = INTF_TO_IMPL(schema_enum);
+
+    return schema_enum_impl->values; 
+}
+
+int AXIS2_CALL
+axis2_xml_schema_enum_index(axis2_char_t *value,
+                            axis2_array_list_t *values,
+                            axis2_env_t **env)
+{
+   return -1; 
+}
+