Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

xml_schema_input_source.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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 /************ Macros ************************************/
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 /* XML_SCHEMA_INPUT_SOURCE_H */
00121 

Generated on Fri Jun 16 18:02:32 2006 for Axis2/C by  doxygen 1.4.2