00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef XML_SCHEMA_IMPORT_H
00018 #define XML_SCHEMA_IMPORT_H
00019
00026 #include <xml_schema_external.h>
00027 #include <axis2_hash.h>
00028
00034 typedef struct xml_schema_import
00035 xml_schema_import_t;
00036 typedef struct xml_schema_import_ops
00037 xml_schema_import_ops_t;
00038
00039 struct xml_schema;
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00046 struct xml_schema_import_ops
00047 {
00048 axis2_status_t (AXIS2_CALL *
00049 free) (void *import,
00050 const axis2_env_t *env);
00051
00052 xml_schema_external_t* (AXIS2_CALL *
00053 get_base_impl)(void *import,
00054 const axis2_env_t *env);
00055
00056
00057 axis2_hash_t* (AXIS2_CALL *
00058 super_objs)(void *import,
00059 const axis2_env_t *env);
00060
00061 xml_schema_types_t (AXIS2_CALL *
00062 get_type)(void *import,
00063 const axis2_env_t *env);
00064
00065 axis2_char_t* (AXIS2_CALL *
00066 get_namespace)(void *import,
00067 const axis2_env_t *env);
00068
00069
00070
00071 axis2_status_t (AXIS2_CALL *
00072 set_namespace)(void *import,
00073 const axis2_env_t *env,
00074 axis2_char_t *ns);
00075
00076 };
00077
00078 struct xml_schema_import
00079 {
00080 xml_schema_external_t base;
00081 xml_schema_import_ops_t *ops;
00082 };
00083
00087 AXIS2_EXTERN xml_schema_import_t * AXIS2_CALL
00088 xml_schema_import_create(const axis2_env_t *env);
00089
00090
00091 #define XML_SCHEMA_IMPORT_FREE(import, env) \
00092 (((xml_schema_import_t *) import)->ops->\
00093 free(import, env))
00094
00095 #define XML_SCHEMA_IMPORT_GET_BASE_IMPL(import, env) \
00096 (((xml_schema_import_t *) import)->ops->\
00097 get_base_impl(import, env))
00098
00099 #define XML_SCHEMA_IMPORT_GET_TYPE(import, env) \
00100 (((xml_schema_import_t *) import)->ops->\
00101 get_type(import, env))
00102
00103 #define XML_SCHEMA_IMPORT_SUPER_OBJS(import, env) \
00104 (((xml_schema_import_t *) import)->ops->\
00105 super_objs(import, env))
00106
00107 #define XML_SCHEMA_IMPORT_GET_NAMESPACE(import, env) \
00108 (((xml_schema_import_t *) import)->ops->\
00109 get_namespace(import, env))
00110
00111 #define XML_SCHEMA_IMPORT_SET_NAMESPACE(import, env, ns) \
00112 (((xml_schema_import_t *) import)->ops->\
00113 set_namespace(import, env, ns))
00114
00116 #ifdef __cplusplus
00117 }
00118 #endif
00119 #endif