00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_TOKENIZED_TYPE_H
00018 #define XML_SCHEMA_TOKENIZED_TYPE_H
00019
00027 #include <xml_schema_enum.h>
00028
00034 typedef struct xml_schema_tokenized_type xml_schema_tokenized_type_t;
00035 typedef struct xml_schema_tokenized_type_ops
00036 xml_schema_tokenized_type_ops_t;
00037
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042
00043 struct xml_schema_tokenized_type_ops
00044 {
00049 axis2_status_t (AXIS2_CALL *
00050 free) (void *tokenized_type,
00051 const axis2_env_t *env);
00052
00053 xml_schema_enum_t *(AXIS2_CALL *
00054 get_base_impl) (void *tokenized_type,
00055 const axis2_env_t *env);
00056
00057 axis2_array_list_t *(AXIS2_CALL *
00058 get_values)(void *tokenized_type,
00059 const axis2_env_t *env);
00060
00061 axis2_hash_t* (AXIS2_CALL *
00062 super_objs)(void *tokenized_type,
00063 const axis2_env_t *env);
00064
00065 xml_schema_types_t (AXIS2_CALL *
00066 get_type)(void *tokenized_type,
00067 const axis2_env_t *env);
00068
00069 };
00070
00071 struct xml_schema_tokenized_type
00072 {
00073 xml_schema_enum_t base;
00074 xml_schema_tokenized_type_ops_t *ops;
00075 };
00076
00077 AXIS2_EXTERN xml_schema_tokenized_type_t * AXIS2_CALL
00078 xml_schema_tokenized_type_create(const axis2_env_t *env,
00079 axis2_char_t* value);
00080
00081
00082
00083 #define XML_SCHEMA_TOKENIZED_TYPE_FREE(tokenized_type, env) \
00084 (((xml_schema_tokenized_type_t *) tokenized_type)->ops->free(tokenized_type, env))
00085
00086 #define XML_SCHEMA_TOKENIZED_TYPE_GET_BASE_IMPL(tokenized_type, env) \
00087 (((xml_schema_tokenized_type_t *) tokenized_type)->ops->get_base_impl(tokenized_type, env))
00088
00089 #define XML_SCHEMA_TOKENIZED_TYPE_GET_VALUES(tokenized_type, env) \
00090 (((xml_schema_tokenized_type_t *) tokenized_type)->ops->values(tokenized_type, env))
00091
00092 #define XML_SCHEMA_TOKENIZED_TYPE_SUPER_OBJS(tokenized_type, env) \
00093 (((xml_schema_tokenized_type_t *) tokenized_type)->ops->super_objs(tokenized_type, env))
00094
00095 #define XML_SCHEMA_TOKENIZED_TYPE_GET_TYPE(tokenized_type, env) \
00096 (((xml_schema_tokenized_type_t *) tokenized_type)->ops->\
00097 get_type(tokenized_type, env))
00098
00099 #ifdef __cplusplus
00100 }
00101 #endif
00102 #endif