xml_schema_simple_type_union.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef XML_SCHEMA_SIMPLE_TYPE_UNION_H
00018 #define XML_SCHEMA_SIMPLE_TYPE_UNION_H
00019 
00027 #include <xml_schema_simple_type.h>
00028 #include <xml_schema_simple_type_content.h>
00029 #include <xml_schema_obj_collection.h>
00030 #include <axis2_hash.h>
00031 #include <axis2_array_list.h>
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040 
00041 typedef struct xml_schema_simple_type_union 
00042                     xml_schema_simple_type_union_t;
00043 typedef struct xml_schema_simple_type_union_ops 
00044                     xml_schema_simple_type_union_ops_t;
00045 
00046 struct xml_schema_simple_type_union_ops
00047 {
00048     axis2_status_t (AXIS2_CALL *
00049     free)(void *sim_type_union, const axis2_env_t *env);
00050 
00051     xml_schema_simple_type_content_t *(AXIS2_CALL *
00052     get_base_impl)(
00053             void *sim_type_union,
00054             const axis2_env_t *env);
00055                     
00056     axis2_hash_t*(AXIS2_CALL *
00057     super_objs)(
00058             void *sim_type_union,
00059             const axis2_env_t *env);                    
00060     
00061     xml_schema_types_t (AXIS2_CALL *
00062     get_type)(
00063             void *sim_type_union,
00064             const axis2_env_t *env);
00065 
00066     xml_schema_obj_collection_t*(AXIS2_CALL *
00067     get_base_types)(
00068             void *sim_type_union,
00069             const axis2_env_t *env);
00070     
00071     axis2_status_t (AXIS2_CALL *
00072     set_member_types_source)(
00073             void *sim_type_union,
00074             const axis2_env_t *env,
00075             axis2_char_t *member_types_source);
00076     
00077     axis2_char_t* (AXIS2_CALL *
00078     get_member_types_source)(
00079             void *sim_type_union,
00080             const axis2_env_t *env);
00081                     
00082     axis2_array_list_t* (AXIS2_CALL *
00083     get_member_types_qnames)(
00084             void *sim_type_union,
00085             const axis2_env_t *env);
00086                 
00087     axis2_status_t (AXIS2_CALL *
00088     set_member_types_qnames)(
00089             void *sim_type_union,
00090             const axis2_env_t *env,
00091             axis2_array_list_t *qns);                
00092                 
00093 };
00094 
00095 struct xml_schema_simple_type_union
00096 {
00097     xml_schema_simple_type_content_t base;
00098     xml_schema_simple_type_union_ops_t *ops;
00099 };
00100 
00109 AXIS2_EXTERN xml_schema_simple_type_union_t * AXIS2_CALL
00110 xml_schema_simple_type_union_create(const axis2_env_t *env);
00111 
00112 #define XML_SCHEMA_SIMPLE_TYPE_UNION_FREE(sim_type_union, env) \
00113       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00114             free(sim_type_union, env))
00115 
00116 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_IMPL(sim_type_union, env) \
00117       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00118             get_base_impl(sim_type_union, env))
00119 
00120 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SUPER_OBJS(sim_type_union, env) \
00121       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00122             super_objs(sim_type_union, env))
00123 
00124 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_TYPE(sim_type_union, env) \
00125       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00126             get_type(sim_type_union, env))
00127 
00128 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_TYPES(sim_type_union, env) \
00129       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00130             get_base_types(sim_type_union, env))
00131 
00132 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SET_MEMBER_TYPES_SOURCE(sim_type_union,\
00133          env, member_types_sources) \
00134       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00135             set_member_types_source(sim_type_union, env, member_types_sources))
00136 
00137 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_MEMBER_TYPES_SOURCE(sim_type_union, env) \
00138       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00139             get_member_types_source(sim_type_union, env))
00140 
00141 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SET_MEMBER_TYPES_QNAMES(sim_type_union, env, qns) \
00142       (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00143             set_member_types_qnames(sim_type_union, env, qns))
00144 
00146 #ifdef __cplusplus
00147 }
00148 #endif
00149 #endif /* XML_SCHEMA_SIMPLE_TYPE_UNION_H */

Generated on Thu Oct 26 21:11:25 2006 for Axis2/C by  doxygen 1.4.7