00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_H
00018 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_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>
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039
00040 typedef struct xml_schema_simple_type_restriction
00041 xml_schema_simple_type_restriction_t;
00042 typedef struct xml_schema_simple_type_restriction_ops
00043 xml_schema_simple_type_restriction_ops_t;
00044
00045 struct xml_schema_simple_type_restriction_ops
00046 {
00047 axis2_status_t (AXIS2_CALL *
00048 free) (void *simple_type_restriction,
00049 const axis2_env_t *env);
00050
00051 xml_schema_simple_type_content_t *(AXIS2_CALL *
00052 get_base_impl) (void *simple_type_restriction,
00053 const axis2_env_t *env);
00054
00055 xml_schema_types_t (AXIS2_CALL *
00056 get_type)(void *simple_type_restriction,
00057 const axis2_env_t *env);
00058
00059 axis2_hash_t *(AXIS2_CALL *
00060 super_objs)(void *simple_type_restriction,
00061 const axis2_env_t *env);
00062
00063 xml_schema_simple_type_t *(AXIS2_CALL *
00064 get_base_type)(void *simple_type_restriction,
00065 const axis2_env_t *env);
00066
00067 axis2_status_t (AXIS2_CALL *
00068 set_base_type)(void *simple_type_restriction,
00069 const axis2_env_t *env,
00070 xml_schema_simple_type_t *base_type);
00071
00072 axis2_qname_t* (AXIS2_CALL *
00073 get_base_type_name)(void *simple_type_restriction,
00074 const axis2_env_t *env);
00075
00076 axis2_status_t (AXIS2_CALL *
00077 set_base_type_name)(void *simple_type_restriction,
00078 const axis2_env_t *env,
00079 axis2_qname_t *qname);
00080
00081 xml_schema_obj_collection_t* (AXIS2_CALL *
00082 get_facets)(void *simple_type_restriction,
00083 const axis2_env_t *env);
00084
00085 axis2_char_t* (AXIS2_CALL *
00086 to_string)(void *simple_type_restriction,
00087 const axis2_env_t *env,
00088 axis2_char_t *prefix,
00089 int tab);
00090
00091
00092 };
00093
00094 struct xml_schema_simple_type_restriction
00095 {
00096 xml_schema_simple_type_content_t base;
00097 xml_schema_simple_type_restriction_ops_t *ops;
00098 };
00099
00108 AXIS2_EXTERN xml_schema_simple_type_restriction_t * AXIS2_CALL
00109 xml_schema_simple_type_restriction_create(const axis2_env_t *env);
00110
00111 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_FREE(simple_type_restriction, env) \
00112 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00113 free(simple_type_restriction, env))
00114
00115 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_GET_BASE_IMPL(simple_type_restriction, env) \
00116 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00117 get_base_impl(simple_type_restriction, env))
00118
00119 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_GET_TYPE(simple_type_restriction, env) \
00120 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00121 get_type(simple_type_restriction, env))
00122
00123 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_SUPER_OBJS(simple_type_restriction, env) \
00124 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00125 super_objs(simple_type_restriction, env))
00126
00127 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_GET_BASE_TYPE(simple_type_restriction, env) \
00128 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00129 get_base_type(simple_type_restriction, env))
00130
00131 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_SET_BASE_TYPE(simple_type_restriction,\
00132 env, base_type) \
00133 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00134 set_base_type(simple_type_restriction, env, base_type))
00135
00136 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_GET_BASE_TYPE_NAME(simple_type_restriction, env) \
00137 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00138 get_base_type_name(simple_type_restriction, env))
00139
00140 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_SET_BASE_TYPE_NAME(simple_type_restriction, \
00141 env, base_type_name) \
00142 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00143 set_base_type_name(simple_type_restriction, env, base_type_name))
00144
00145 #define XML_SCHEMA_SIMPLE_TYPE_RESTRICTION_GET_FACETS(simple_type_restriction, env) \
00146 (((xml_schema_simple_type_restriction_t *) simple_type_restriction)->ops->\
00147 get_facets(simple_type_restriction, env))
00148
00149
00151 #ifdef __cplusplus
00152 }
00153 #endif
00154 #endif