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