00001 00046 #ifndef READER_H_0811231336 00047 #define READER_H_0811231336 00048 00049 #include "export.h" 00050 00051 #include "bool.h" 00052 00053 #include <expat.h> 00054 00055 #include <stddef.h> 00056 00057 #ifdef __cplusplus 00058 extern "C" { 00059 #endif /* __cplusplus */ 00060 00066 typedef struct scew_reader scew_reader; 00067 00075 typedef struct 00076 { 00080 size_t (*read) (scew_reader *, XML_Char *, size_t); 00081 00085 scew_bool (*end) (scew_reader *); 00086 00090 scew_bool (*error) (scew_reader *); 00091 00095 scew_bool (*close) (scew_reader *); 00096 00100 void (*free) (scew_reader *); 00101 } scew_reader_hooks; 00102 00124 extern SCEW_API scew_reader* 00125 scew_reader_create (scew_reader_hooks const *hooks, void *data); 00126 00140 extern SCEW_API void* scew_reader_data (scew_reader *reader); 00141 00163 extern SCEW_API size_t scew_reader_read (scew_reader *reader, 00164 XML_Char *buffer, 00165 size_t char_no); 00166 00182 extern SCEW_API scew_bool scew_reader_end (scew_reader *reader); 00183 00200 extern SCEW_API scew_bool scew_reader_error (scew_reader *reader); 00201 00221 extern SCEW_API scew_bool scew_reader_close (scew_reader *reader); 00222 00233 extern SCEW_API void scew_reader_free (scew_reader *reader); 00234 00235 #ifdef __cplusplus 00236 } 00237 #endif /* __cplusplus */ 00238 00239 #endif /* READER_H_0811231336 */
1.6.1