Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef ZVRPARSER_H_INCLUDED
00011 #define ZVRPARSER_H_INCLUDED
00012
00013 #include <string>
00014
00015 #include <boost/shared_ptr.hpp>
00016
00017 namespace libebook
00018 {
00019
00020 class ZVRParser
00021 {
00022
00023 ZVRParser(const ZVRParser &other);
00024 ZVRParser &operator=(const ZVRParser &other);
00025
00026 public:
00027
00028 ZVRParser(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *document = 0);
00029
00030 bool parse();
00031
00032 private:
00033 void readReplacementTable();
00034
00035 boost::shared_ptr<librevenge::RVNGInputStream> uncompress();
00036
00037 void writeText(boost::shared_ptr<librevenge::RVNGInputStream> input);
00038
00039 private:
00040 librevenge::RVNGInputStream *const m_input;
00041 librevenge::RVNGTextInterface *const m_document;
00042
00043 std::string m_replacementTable[256];
00044 };
00045
00046 }
00047
00048 #endif // ZVRPARSER_H_INCLUDED
00049
00050