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 &);
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: */
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:328
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:169
Definition: EBOOKCharsetConverter.h:21
Definition: PDXParser.h:26
Definition: TDParser.h:26
unsigned m_recordCount
Definition: TDParser.h:51
unsigned m_recordSize
Definition: TDParser.h:52
virtual ~TDParser()
Definition: TDParser.cpp:514
virtual void readAppInfoRecord(librevenge::RVNGInputStream *record)
Definition: TDParser.cpp:525
virtual void readDataRecord(librevenge::RVNGInputStream *record, bool last)
Definition: TDParser.cpp:550
TDParser(const TDParser &)
static bool checkType(unsigned type, unsigned creator)
Definition: TDParser.cpp:520
virtual void readIndexRecord(librevenge::RVNGInputStream *record)
Definition: TDParser.cpp:535
bool m_compressed
Definition: TDParser.h:49
void closeDocument()
Definition: TDParser.cpp:627
virtual void readSortInfoRecord(librevenge::RVNGInputStream *record)
Definition: TDParser.cpp:530
EBOOKCharsetConverter * m_converter
Definition: TDParser.h:57
void createConverter(const std::vector< char > &text)
Definition: TDParser.cpp:588
unsigned m_textLength
Definition: TDParser.h:50
unsigned m_read
Definition: TDParser.h:53
void openDocument()
Definition: TDParser.cpp:603
bool m_openedDocument
Definition: TDParser.h:55
TDParser & operator=(const TDParser &)
TDTextParser * m_textParser
Definition: TDParser.h:58
Definition: TDParser.cpp:120
@ input
Definition: EBOOKHTMLToken.h:91
@ text
Definition: EBOOKHTMLToken.h:259
@ creator
Definition: EBOOKOPFToken.h:52
Definition: CHMParser.cpp:21

Generated for libe-book by doxygen 1.9.1