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])
48 PDBParser(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *
document,
49 unsigned type,
unsigned creator);
104 librevenge::RVNGInputStream *
getDataRecords(
unsigned first,
unsigned last)
const;
110 virtual void readDataRecord(librevenge::RVNGInputStream *record,
bool last =
false) = 0;
EBOOKDocument::Type type
Definition EBOOKDocument.cpp:325
XMLTreeNodePtr_t document
Definition EBOOKHTMLParser.cpp:163
Definition PDBParser.h:26
virtual void readSortInfoRecord(librevenge::RVNGInputStream *record)=0
librevenge::RVNGInputStream * getIndexRecord() const
Return a stream for the format's index record.
Definition PDBParser.cpp:139
const char * getName() const
Definition PDBParser.cpp:128
std::unique_ptr< PDBParserImpl > m_impl
Definition PDBParser.h:119
virtual void readDataRecords()
Definition PDBParser.cpp:183
unsigned getDataRecordCount() const
Return the number of data records in the document.
Definition PDBParser.cpp:144
PDBParser(const PDBParser &other)
PDBParser & operator=(const PDBParser &other)
virtual void readDataRecord(librevenge::RVNGInputStream *record, bool last=false)=0
librevenge::RVNGInputStream * getDataRecord(unsigned n) const
Return a stream for the n-th data record.
Definition PDBParser.cpp:149
bool parse()
Parse input and produce output to document.
Definition PDBParser.cpp:102
librevenge::RVNGInputStream * getDataRecords() const
Return a stream for all data records.
Definition PDBParser.cpp:154
librevenge::RVNGTextInterface * getDocument() const
Get the document generator used for this parsing run.
Definition PDBParser.cpp:123
void readHeader()
Definition PDBParser.cpp:192
librevenge::RVNGInputStream * getRecordStream(unsigned n) const
Definition PDBParser.cpp:234
librevenge::RVNGInputStream * getAppInfoRecord() const
Return a stream for the format's appInfo record, if it is present.
Definition PDBParser.cpp:133
virtual void readAppInfoRecord(librevenge::RVNGInputStream *record)=0
virtual void readIndexRecord(librevenge::RVNGInputStream *record)=0
virtual ~PDBParser()=0
Definition PDBParser.cpp:98
Definition BBeBCollector.cpp:19