Go to the documentation of this file.
10 #ifndef PDBPARSER_H_INCLUDED
11 #define PDBPARSER_H_INCLUDED
15 #include <librevenge/librevenge.h>
16 #include <librevenge-stream/librevenge-stream.h>
18 #define PDB_CODE(s) ((s[0] << 24) | (s[1] << 16) | (s[2] << 8) | s[3])
104 librevenge::RVNGInputStream *
getDataRecords(
unsigned first,
unsigned last)
const;
110 virtual void readDataRecord(librevenge::RVNGInputStream *record,
bool last =
false) = 0;
124 #endif // PDBPARSER_H_INCLUDED
virtual void readIndexRecord(librevenge::RVNGInputStream *record)=0
std::string m_name
Definition: PDBParser.cpp:32
PDBParserImpl(const PDBParserImpl &other)
virtual void readAppInfoRecord(librevenge::RVNGInputStream *record)=0
unsigned long getRemainingLength(librevenge::RVNGInputStream *const input)
Definition: libebook_utils.cpp:170
PDBParserImpl & operator=(const PDBParserImpl &other)
librevenge::RVNGInputStream * getDataRecords() const
Return a stream for all data records.
Definition: PDBParser.cpp:154
unsigned m_numberOfRecords
Definition: PDBParser.cpp:39
Definition: PDBParser.cpp:64
Definition: BBeBCollector.cpp:19
PDBParser(const PDBParser &other)
unsigned m_nextRecordListID
Definition: PDBParser.cpp:38
librevenge::RVNGInputStream * getAppInfoRecord() const
Return a stream for the format's appInfo record, if it is present.
Definition: PDBParser.cpp:133
librevenge::RVNGInputStream * getDataRecord(unsigned n) const
Return a stream for the n-th data record.
Definition: PDBParser.cpp:149
unsigned m_sortInfoID
Definition: PDBParser.cpp:35
librevenge::RVNGInputStream * m_input
Definition: PeanutPressParser.cpp:262
HeaderData m_header
Definition: PDBParser.cpp:67
virtual void readSortInfoRecord(librevenge::RVNGInputStream *record)=0
Definition: PDBParser.h:26
librevenge::RVNGInputStream * getIndexRecord() const
Return a stream for the format's index record.
Definition: PDBParser.cpp:139
@ i
Definition: EBOOKHTMLToken.h:86
std::unique_ptr< PDBParserImpl > m_impl
Definition: PDBParser.h:119
librevenge::RVNGInputStream * m_input
Definition: PDBParser.cpp:68
@ creator
Definition: EBOOKOPFToken.h:50
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:163
librevenge::RVNGInputStream * getRecordStream(unsigned n) const
Definition: PDBParser.cpp:234
@ input
Definition: EBOOKHTMLToken.h:89
uint16_t readU16(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:57
unsigned m_version
Definition: PDBParser.cpp:33
unsigned m_creator
Definition: PDBParser.cpp:37
PDBParserImpl(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *document)
Definition: PDBParser.cpp:77
uint8_t readU8(librevenge::RVNGInputStream *input, bool)
Definition: libebook_utils.cpp:45
void readHeader()
Definition: PDBParser.cpp:192
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:73
bool parse()
Parse input and produce output to document.
Definition: PDBParser.cpp:102
string name
Definition: HTMLHelpStream.cpp:80
unsigned getDataRecordCount() const
Return the number of data records in the document.
Definition: PDBParser.cpp:144
librevenge::RVNGTextInterface * getDocument() const
Get the document generator used for this parsing run.
Definition: PDBParser.cpp:123
unsigned m_appInfoID
Definition: PDBParser.cpp:34
const char * getName() const
Definition: PDBParser.cpp:128
virtual void readDataRecord(librevenge::RVNGInputStream *record, bool last=false)=0
librevenge::RVNGTextInterface *const m_document
Definition: FictionBook2Parser.cpp:55
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:325
virtual void readDataRecords()
Definition: PDBParser.cpp:183
PDBParser & operator=(const PDBParser &other)
A stream representing a view into an another stream.
Definition: EBOOKStreamView.h:26
void skip(librevenge::RVNGInputStream *input, unsigned long numBytes)
Definition: libebook_utils.cpp:145
int m_header
Definition: EBOOKOutputElements.cpp:476
std::vector< unsigned > m_recordOffsets
Definition: PDBParser.cpp:40
unsigned m_type
Definition: PDBParser.cpp:36
virtual ~PDBParser()=0
Definition: PDBParser.cpp:98
librevenge::RVNGTextInterface * m_document
Definition: PDBParser.cpp:69
Generated for libe-book by
doxygen 1.8.18