00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XML_SCHEMA_ANY_H
00019 #define XML_SCHEMA_ANY_H
00020
00030 #include <xml_schema_defines.h>
00031 #include <xml_schema_particle.h>
00032 #include <xml_schema_content_processing.h>
00033
00034
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039
00045 typedef struct xml_schema_any xml_schema_any_t;
00046 typedef struct xml_schema_any_ops xml_schema_any_ops_t;
00047 struct xml_schema_content_processing_t;
00048
00049
00050 struct xml_schema_any_ops
00051 {
00056 axis2_status_t (AXIS2_CALL *
00057 free) (
00058 void *any,
00059 const axis2_env_t *env);
00060
00061 axis2_hash_t *(AXIS2_CALL *
00062 super_objs) (
00063 void *any,
00064 const axis2_env_t *env);
00065
00066 xml_schema_types_t (AXIS2_CALL *
00067 get_type) (
00068 void *any,
00069 const axis2_env_t *env);
00070
00071 xml_schema_particle_t *(AXIS2_CALL *
00072 get_base_impl) (void *any,
00073 const axis2_env_t *env);
00074
00075 axis2_char_t *(AXIS2_CALL *
00076 get_namespace)(void *any,
00077 const axis2_env_t *env);
00078
00079 axis2_status_t (AXIS2_CALL *
00080 set_namespace) (void *any,
00081 const axis2_env_t *env,
00082 axis2_char_t *ns);
00083
00084 xml_schema_content_processing_t *(AXIS2_CALL *
00085 get_process_content) (void *any,
00086 const axis2_env_t *env);
00087
00088 axis2_status_t (AXIS2_CALL *
00089 set_process_content)(
00090 void *any,
00091 const axis2_env_t *env,
00092 xml_schema_content_processing_t *process_content);
00093 };
00094
00095 struct xml_schema_any
00096 {
00097 xml_schema_particle_t base;
00098 xml_schema_any_ops_t *ops;
00099 };
00100
00101 AXIS2_EXTERN xml_schema_any_t * AXIS2_CALL
00102 xml_schema_any_create(const axis2_env_t *env);
00103
00114
00115
00116 #define XML_SCHEMA_ANY_FREE(any, env) \
00117 (((xml_schema_any_t *) any)->ops->free(any, env))
00118
00119 #define XML_SCHEMA_ANY_SUPER_OBJS(any, env) \
00120 (((xml_schema_any_t *) any)->ops->super_objs(any, env))
00121
00122 #define XML_SCHEMA_ANY_GET_TYPE(any, env) \
00123 (((xml_schema_any_t *) any)->ops->get_type(any, env))
00124
00125 #define XML_SCHEMA_ANY_GET_BASE_IMPL(any, env) \
00126 (((xml_schema_any_t *) any)->ops->get_base_impl(any, env))
00127
00128 #define XML_SCHEMA_ANY_GET_NAMESPACE(any, env) \
00129 (((xml_schema_any_t *) any)->ops->get_namespace(any, env))
00130
00131 #define XML_SCHEMA_ANY_SET_NAMESPACE(any, env, namespc) \
00132 (((xml_schema_any_t *) any)->ops->set_namespace(any, env, namespc))
00133
00134 #define XML_SCHEMA_ANY_GET_PROCESS_CONTENT(any, env) \
00135 (((xml_schema_any_t *) any)->ops->get_process_content(any, env))
00136
00137 #define XML_SCHEMA_ANY_SET_PROCESS_CONTENT(any, env, process_content) \
00138 (((xml_schema_any_t *) any)->ops->set_process_content(any, env, process_content))
00139
00140
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145 #endif