00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XML_SCHEMA_SIMPLE_TYPE_UNION_H
00019 #define XML_SCHEMA_SIMPLE_TYPE_UNION_H
00020
00028 #include <xml_schema_simple_type.h>
00029 #include <xml_schema_simple_type_content.h>
00030 #include <xml_schema_obj_collection.h>
00031 #include <axis2_hash.h>
00032 #include <axis2_array_list.h>
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041
00042 typedef struct xml_schema_simple_type_union
00043 xml_schema_simple_type_union_t;
00044 typedef struct xml_schema_simple_type_union_ops
00045 xml_schema_simple_type_union_ops_t;
00046
00047 struct xml_schema_simple_type_union_ops
00048 {
00049 axis2_status_t (AXIS2_CALL *
00050 free)(void *sim_type_union, const axis2_env_t *env);
00051
00052 xml_schema_simple_type_content_t *(AXIS2_CALL *
00053 get_base_impl)(
00054 void *sim_type_union,
00055 const axis2_env_t *env);
00056
00057 axis2_hash_t*(AXIS2_CALL *
00058 super_objs)(
00059 void *sim_type_union,
00060 const axis2_env_t *env);
00061
00062 xml_schema_types_t (AXIS2_CALL *
00063 get_type)(
00064 void *sim_type_union,
00065 const axis2_env_t *env);
00066
00067 xml_schema_obj_collection_t*(AXIS2_CALL *
00068 get_base_types)(
00069 void *sim_type_union,
00070 const axis2_env_t *env);
00071
00072 axis2_status_t (AXIS2_CALL *
00073 set_member_types_source)(
00074 void *sim_type_union,
00075 const axis2_env_t *env,
00076 axis2_char_t *member_types_source);
00077
00078 axis2_char_t* (AXIS2_CALL *
00079 get_member_types_source)(
00080 void *sim_type_union,
00081 const axis2_env_t *env);
00082
00083 axis2_array_list_t* (AXIS2_CALL *
00084 get_member_types_qnames)(
00085 void *sim_type_union,
00086 const axis2_env_t *env);
00087
00088 axis2_status_t (AXIS2_CALL *
00089 set_member_types_qnames)(
00090 void *sim_type_union,
00091 const axis2_env_t *env,
00092 axis2_array_list_t *qns);
00093
00094 };
00095
00096 struct xml_schema_simple_type_union
00097 {
00098 xml_schema_simple_type_content_t base;
00099 xml_schema_simple_type_union_ops_t *ops;
00100 };
00101
00110 AXIS2_EXTERN xml_schema_simple_type_union_t * AXIS2_CALL
00111 xml_schema_simple_type_union_create(const axis2_env_t *env);
00112
00113 #define XML_SCHEMA_SIMPLE_TYPE_UNION_FREE(sim_type_union, env) \
00114 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00115 free(sim_type_union, env))
00116
00117 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_IMPL(sim_type_union, env) \
00118 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00119 get_base_impl(sim_type_union, env))
00120
00121 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SUPER_OBJS(sim_type_union, env) \
00122 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00123 super_objs(sim_type_union, env))
00124
00125 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_TYPE(sim_type_union, env) \
00126 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00127 get_type(sim_type_union, env))
00128
00129 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_BASE_TYPES(sim_type_union, env) \
00130 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00131 get_base_types(sim_type_union, env))
00132
00133 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SET_MEMBER_TYPES_SOURCE(sim_type_union,\
00134 env, member_types_sources) \
00135 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00136 set_member_types_source(sim_type_union, env, member_types_sources))
00137
00138 #define XML_SCHEMA_SIMPLE_TYPE_UNION_GET_MEMBER_TYPES_SOURCE(sim_type_union, env) \
00139 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00140 get_member_types_source(sim_type_union, env))
00141
00142 #define XML_SCHEMA_SIMPLE_TYPE_UNION_SET_MEMBER_TYPES_QNAMES(sim_type_union, env, qns) \
00143 (((xml_schema_simple_type_union_t *) sim_type_union)->ops->\
00144 set_member_types_qnames(sim_type_union, env, qns))
00145
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150 #endif