TDParser.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libe-book project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef TDPARSER_H_INCLUDED
11 #define TDPARSER_H_INCLUDED
12 
13 #include <vector>
14 
15 #include "PDXParser.h"
16 
17 
18 namespace libebook
19 {
20 
21 class EBOOKCharsetConverter;
22 
23 class TDTextParser;
24 
25 class TDParser : public PDXParser
26 {
27  // disable copying
28  TDParser(const TDParser &);
29  TDParser &operator=(const TDParser &);
30 
31 public:
32  explicit TDParser(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *document = 0);
33  virtual ~TDParser();
34 
35  static bool checkType(unsigned type, unsigned creator);
36 
37 private:
38  virtual void readAppInfoRecord(librevenge::RVNGInputStream *record);
39  virtual void readSortInfoRecord(librevenge::RVNGInputStream *record);
40  virtual void readIndexRecord(librevenge::RVNGInputStream *record);
41  virtual void readDataRecord(librevenge::RVNGInputStream *record, bool last);
42 
43  void createConverter(const std::vector<char> &text);
44 
45  void openDocument();
46  void closeDocument();
47 
48 private:
50  unsigned m_textLength;
51  unsigned m_recordCount;
52  unsigned m_recordSize;
53  unsigned m_read;
54 
56 
59 };
60 
61 }
62 
63 #endif // TDPARSER_H_INCLUDED
64 
65 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition: EBOOKHTMLToken.h:91
TDParser & operator=(const TDParser &)
Definition: TDParser.cpp:119
virtual void readSortInfoRecord(librevenge::RVNGInputStream *record)
Definition: TDParser.cpp:530
virtual ~TDParser()
Definition: TDParser.cpp:514
void createConverter(const std::vector< char > &text)
Definition: TDParser.cpp:588
Definition: EBOOKCharsetConverter.h:20
TDTextParser * m_textParser
Definition: TDParser.h:58
Definition: EBOOKOPFToken.h:52
Definition: PDXParser.h:25
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:328
static bool checkType(unsigned type, unsigned creator)
Definition: TDParser.cpp:520
Definition: EBOOKHTMLToken.h:259
unsigned m_recordCount
Definition: TDParser.h:51
virtual void readAppInfoRecord(librevenge::RVNGInputStream *record)
Definition: TDParser.cpp:525
unsigned m_read
Definition: TDParser.h:53
unsigned m_recordSize
Definition: TDParser.h:52
TDParser(const TDParser &)
bool m_compressed
Definition: TDParser.h:49
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:169
virtual void readIndexRecord(librevenge::RVNGInputStream *record)
Definition: TDParser.cpp:535
EBOOKCharsetConverter * m_converter
Definition: TDParser.h:57
Definition: CHMParser.cpp:20
virtual void readDataRecord(librevenge::RVNGInputStream *record, bool last)
Definition: TDParser.cpp:550
void openDocument()
Definition: TDParser.cpp:603
void closeDocument()
Definition: TDParser.cpp:627
unsigned m_textLength
Definition: TDParser.h:50
bool m_openedDocument
Definition: TDParser.h:55
Definition: TDParser.h:25

Generated for libe-book by doxygen 1.8.8