00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_INPUT_SOURCE_H
00018 #define XML_SCHEMA_INPUT_SOURCE_H
00019
00029 typedef struct xml_schema_input_source
00030 xml_schema_input_source_t;
00031
00032 typedef struct xml_schema_input_source_ops
00033 xml_schema_input_source_ops_t;
00034
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039
00040 struct xml_schema_input_source_ops
00041 {
00042 axis2_char_t* (AXIS2_CALL *
00043 get_system_id)(
00044 xml_schema_input_source_t *source,
00045 const axis2_env_t *env);
00046
00047 axis2_status_t (AXIS2_CALL *
00048 set_system_id)(
00049 xml_schema_input_source_t *source,
00050 const axis2_env_t *env,
00051 const axis2_char_t *system_id);
00052
00053 axis2_char_t* (AXIS2_CALL*
00054 get_public_id)(
00055 xml_schema_input_source_t *source,
00056 const axis2_env_t *env);
00057
00058 axis2_status_t (AXIS2_CALL*
00059 set_public_id)(
00060 xml_schema_input_source_t *source,
00061 const axis2_env_t *env,
00062 const axis2_char_t *public_id);
00063
00064 axis2_status_t (AXIS2_CALL*
00065 set_encoding)(
00066 xml_schema_input_source_t *source,
00067 const axis2_env_t *env,
00068 const axis2_char_t *encoding);
00069
00070 axis2_char_t * (AXIS2_CALL*
00071 get_encoding)(
00072 xml_schema_input_source_t *source,
00073 const axis2_env_t *env);
00074
00075 axis2_status_t (AXIS2_CALL *
00076 free)(xml_schema_input_source_t *source,
00077 const axis2_env_t *env);
00078 };
00079
00080 struct xml_schema_input_source
00081 {
00082 xml_schema_input_source_ops_t *ops;
00083 };
00084
00085 AXIS2_EXTERN xml_schema_input_source_t* AXIS2_CALL
00086 xml_schema_input_source_create(const axis2_env_t *env);
00087
00088 AXIS2_EXTERN xml_schema_input_source_t* AXIS2_CALL
00089 xml_schema_input_source_create_with_system_id(
00090 const axis2_env_t *env,
00091 const axis2_char_t *id);
00092
00093
00094
00095 #define XML_SCHEMA_INPUT_SOURCE_FREE(source, env) \
00096 ((source)->ops->free(source, env))
00097
00098 #define XML_SCHEMA_INPUT_SOURCE_SET_PUBLIC_ID(source, env, id) \
00099 ((source)->ops->set_public_id(source, env, id))
00100
00101 #define XML_SCHEMA_INPUT_SOURCE_GET_PUBLIC_ID(source, env) \
00102 ((source)->ops->get_public_id(source, env))
00103
00104 #define XML_SCHEMA_INPUT_SOURCE_SET_SYSTEM_ID(source, env, id) \
00105 ((source)->ops->set_system_id(source, env, id))
00106
00107 #define XML_SCHEMA_INPUT_SOURCE_GET_SYSTEM_ID(source, env) \
00108 ((source)->ops->get_system_id(source, env))
00109
00110 #define XML_SCHEMA_INPUT_SOURCE_SET_ENCODING(source, env, encoding) \
00111 ((source)->ops->set_encoding(source, env, encoding))
00112
00113 #define XML_SCHEMA_INPUT_SOURCE_GET_ENCODING(source, env) \
00114 ((source)->ops->get_encoding(source, env))
00115
00116 #ifdef __cplusplus
00117 }
00118 #endif
00119
00120 #endif
00121