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