00001 /* -*- c++ -*- */ 00002 #ifndef AKAXISO2_XML_EXPAT_EXPAT_DESERIALIZER_H__ 00003 #define AKAXISO2_XML_EXPAT_EXPAT_DESERIALIZER_H__ 00004 00010 #include <akaxiso2/configuration.h> 00011 #ifdef AKAXISO2_USE_EXPAT 00012 00013 #include <akaxiso2/XML/deserializer/deserializer.h> 00014 #include <akaxiso2/imported/expat_parser.h> 00015 00016 namespace aka2 { 00017 00019 class expat_deserializer : public deserializer { 00020 public: 00021 expat_deserializer() { } 00022 ~expat_deserializer() { } 00023 00024 virtual document deserialize(std::istream &istm); 00025 virtual document deserialize(const char *doc); 00026 virtual document deserialize(const std::string &doc); 00027 virtual document deserialize_stdin(); 00028 virtual document deserialize_file(const std::string &filename); 00029 00030 private: 00031 document deserialize_chars(const char *buffer, int len, 00032 const std::string &source_name); 00033 document deserialize_istream(std::istream &istm, const std::string &source_name); 00034 }; 00035 00036 } // namespace aka2 00037 00038 #endif 00039 00040 #endif