00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_H
00019 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_H
00020
00025 #include <xml_schema_annotated.h>
00026 #include <xml_schema_obj_collection.h>
00027 #include <xml_schema_any_attribute.h>
00028 #include <xml_schema_simple_type.h>
00029 #include <axis2_hash.h>
00030 #include <axis2_qname.h>
00031
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041
00042 typedef struct xml_schema_complex_content_restriction
00043 xml_schema_complex_content_restriction_t;
00044
00045 typedef struct xml_schema_complex_content_restriction_ops
00046 xml_schema_complex_content_restriction_ops_t;
00047
00048 struct xml_schema_complex_content_restriction_ops
00049 {
00050 axis2_status_t (AXIS2_CALL *
00051 free)(void *cmp_content_res,
00052 const axis2_env_t *env);
00053
00054 xml_schema_annotated_t *(AXIS2_CALL *
00055 get_base_impl)(
00056 void *cmp_content_res,
00057 const axis2_env_t *env);
00058
00059 axis2_hash_t* (AXIS2_CALL *
00060 super_objs)(
00061 void *cmp_content_res,
00062 const axis2_env_t *env);
00063
00064 xml_schema_types_t (AXIS2_CALL *
00065 get_type)(
00066 void *cmp_content_res,
00067 const axis2_env_t *env);
00068
00069 xml_schema_any_attribute_t* (AXIS2_CALL *
00070 get_any_attribute)(
00071 void *cmp_content_res,
00072 const axis2_env_t *env);
00073
00074 axis2_status_t (AXIS2_CALL *
00075 set_any_attribute)(
00076 void *cmp_content_res,
00077 const axis2_env_t *env,
00078 xml_schema_any_attribute_t *any_attr);
00079
00080 xml_schema_obj_collection_t* (AXIS2_CALL *
00081 get_attributes)(
00082 void *cmp_content_res,
00083 const axis2_env_t *env);
00084
00085 axis2_qname_t* (AXIS2_CALL*
00086 get_base_type_name)(
00087 void *cmp_content_res,
00088 const axis2_env_t *env);
00089
00090 axis2_status_t (AXIS2_CALL *
00091 set_base_type_name)(
00092 void *cmp_content_res,
00093 const axis2_env_t *env,
00094 axis2_qname_t *qname);
00095
00096 xml_schema_particle_t* (AXIS2_CALL *
00097 get_particle)(
00098 void *cmp_content_res,
00099 const axis2_env_t *env);
00100
00101 axis2_status_t (AXIS2_CALL *
00102 set_particle)(
00103 void *cmp_content_res,
00104 const axis2_env_t *env,
00105 xml_schema_particle_t *particle);
00106
00107 axis2_char_t* (AXIS2_CALL *
00108 to_string)(
00109 void *cmp_content_res,
00110 const axis2_env_t *env,
00111 axis2_char_t *prefix,
00112 int tab);
00113 };
00114
00115 struct xml_schema_complex_content_restriction
00116 {
00117 xml_schema_annotated_t base;
00118 xml_schema_complex_content_restriction_ops_t *ops;
00119 };
00120
00124 AXIS2_EXTERN xml_schema_complex_content_restriction_t * AXIS2_CALL
00125 xml_schema_complex_content_restriction_create(const axis2_env_t *env);
00126
00127
00128
00129 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_FREE(cmp_content_res, env) \
00130 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00131 free(cmp_content_res, env))
00132
00133 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_GET_BASE_IMPL(cmp_content_res, env) \
00134 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00135 get_base_impl(cmp_content_res, env))
00136
00137 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_GET_TYPE(cmp_content_res, env) \
00138 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00139 get_type(cmp_content_res, env))
00140
00141 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_SUPER_OBJS(cmp_content_res, env) \
00142 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00143 super_objs(cmp_content_res, env))
00144
00145
00146 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_GET_ANY_ATTRIBUTE(cmp_content_res, env) \
00147 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00148 get_any_attribute(cmp_content_res, env))
00149
00150 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_SET_ANY_ATTRIBUTE(cmp_content_res,\
00151 env, any_attr)\
00152 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00153 set_any_attribute(cmp_content_res, env, any_attr ))
00154
00155 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_GET_ATTRIBUTES(cmp_content_res, env) \
00156 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00157 get_attributes(cmp_content_res, env))
00158
00159 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_GET_BASE_TYPE_NAME(cmp_content_res, env)\
00160 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00161 get_base_type_name(cmp_content_res, env))
00162
00163 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_SET_BASE_TYPE_NAME(cmp_content_res,\
00164 env, base_type_name) \
00165 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00166 set_base_type_name(cmp_content_res, env, base_type_name))
00167
00168 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_GET_PARTICLE(cmp_content_res, env) \
00169 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00170 get_particle(cmp_content_res, env))
00171
00172 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_SET_PARTICLE(cmp_content_res, env, particle) \
00173 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00174 set_particle(cmp_content_res, env, particle))
00175
00176 #define XML_SCHEMA_COMPLEX_CONTENT_RESTRICTION_TO_STRING(cmp_content_res, env) \
00177 (((xml_schema_complex_content_restriction_t *) cmp_content_res)->ops->\
00178 to_string(cmp_content_res, env))
00179
00180 #ifdef __cplusplus
00181 }
00182 #endif
00183 #endif