00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_DATA_SOURCE_H
00020 #define AXIOM_DATA_SOURCE_H
00021
00027 #include <axutil_env.h>
00028 #include <axiom_node.h>
00029 #include <axiom_output.h>
00030 #include <axutil_stream.h>
00031
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036
00047 typedef struct axiom_data_source axiom_data_source_t;
00048
00060 AXIS2_EXTERN axiom_data_source_t *AXIS2_CALL
00061 axiom_data_source_create(
00062 const axutil_env_t * env,
00063 axiom_node_t * parent,
00064 axiom_node_t ** node);
00065
00073 AXIS2_EXTERN void AXIS2_CALL
00074 axiom_data_source_free(
00075 struct axiom_data_source *om_data_source,
00076 const axutil_env_t * env);
00077
00086 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087 axiom_data_source_serialize(
00088 struct axiom_data_source *om_data_source,
00089 const axutil_env_t * env,
00090 axiom_output_t * om_output);
00091
00100 AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00101 axiom_data_source_get_stream(
00102 struct axiom_data_source *om_data_source,
00103 const axutil_env_t * env);
00104
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110
00111 #endif