libebook::PDXParser Class Referenceabstract

#include <PDXParser.h>

Inheritance diagram for libebook::PDXParser:
libebook::MOBIParser libebook::PDBParser libebook::PLKRParser libebook::PMLParser libebook::TDParser libebook::ZTXTParser

Public Member Functions

virtual ~PDXParser ()=0
 
bool parse ()
 Parse input and produce output to document. More...
 

Protected Member Functions

 PDXParser (librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *document, unsigned type, unsigned creator)
 Instantiate a parser for a document in Palm Database Format. More...
 
librevenge::RVNGTextInterface * getDocument () const
 Get the document generator used for this parsing run. More...
 
const char * getName () const
 
librevenge::RVNGInputStream * getAppInfoRecord () const
 Return a stream for the format's appInfo record, if it is present. More...
 
librevenge::RVNGInputStream * getIndexRecord () const
 Return a stream for the format's index record. More...
 
unsigned getDataRecordCount () const
 Return the number of data records in the document. More...
 
librevenge::RVNGInputStream * getDataRecord (unsigned n) const
 Return a stream for the n-th data record. More...
 
librevenge::RVNGInputStream * getDataRecords () const
 Return a stream for all data records. More...
 
librevenge::RVNGInputStream * getDataRecords (unsigned first, unsigned last) const
 Return a stream for data records in a given range. More...
 

Private Member Functions

 PDXParser (const PDXParser &other)
 
PDXParseroperator= (const PDXParser &other)
 
virtual void readAppInfoRecord (librevenge::RVNGInputStream *record)=0
 
virtual void readSortInfoRecord (librevenge::RVNGInputStream *record)=0
 
virtual void readIndexRecord (librevenge::RVNGInputStream *record)=0
 
virtual void readDataRecord (librevenge::RVNGInputStream *record, bool last=false)=0
 
virtual void readDataRecords ()
 
void readHeader ()
 
librevenge::RVNGInputStream * getRecordStream (unsigned n) const
 

Private Attributes

boost::scoped_ptr< PDXParserImplm_impl
 

Constructor & Destructor Documentation

libebook::PDXParser::PDXParser ( const PDXParser other)
private
libebook::PDXParser::~PDXParser ( )
pure virtual
libebook::PDXParser::PDXParser ( librevenge::RVNGInputStream *  input,
librevenge::RVNGTextInterface *  document,
unsigned  type,
unsigned  creator 
)
protected

Instantiate a parser for a document in Palm Database Format.

  • [in] input input stream
  • [in] document output document generator
  • [in] type the document type
  • [in] creator the document creator

Member Function Documentation

librevenge::RVNGInputStream * libebook::PDXParser::getAppInfoRecord ( ) const
protected

Return a stream for the format's appInfo record, if it is present.

A parser for a subformat might want to peek into the appInfo record in isSupported().

Returns
a newly allocated stream spanning the appInfo record or 0, if there is no appInfo record
librevenge::RVNGInputStream * libebook::PDXParser::getDataRecord ( unsigned  n) const
protected

Return a stream for the n-th data record.

  • [in] n the stream number, 0-based
    Returns
    a newly allocated stream spanning one data record

Referenced by libebook::PLKRParser::readDataRecords(), libebook::PMLParser::readImages(), and libebook::PMLParser::readText().

unsigned libebook::PDXParser::getDataRecordCount ( ) const
protected

Return the number of data records in the document.

Returns
the number of data records

Referenced by libebook::PLKRParser::readDataRecords(), libebook::PMLParser::readImages(), and libebook::TDParser::readIndexRecord().

librevenge::RVNGInputStream * libebook::PDXParser::getDataRecords ( ) const
protected

Return a stream for all data records.

Returns
a newly allocated stream spanning all data records

Referenced by libebook::ZTXTParser::readDataRecords(), and libebook::PMLParser::readText().

librevenge::RVNGInputStream * libebook::PDXParser::getDataRecords ( unsigned  first,
unsigned  last 
) const
protected

Return a stream for data records in a given range.

  • [in] first the first data record to include
  • [in] last the first data record not to include
Returns
a newly allocated stream spanning data records in a given range
librevenge::RVNGInputStream * libebook::PDXParser::getIndexRecord ( ) const
protected

Return a stream for the format's index record.

A parser for a subformat might want to peek into the index record in isSupported().

Returns
a newly allocated stream spanning the index record

Referenced by libebook::PLKRParser::PLKRParser(), and libebook::PMLParser::PMLParser().

const char * libebook::PDXParser::getName ( ) const
protected
librevenge::RVNGInputStream * libebook::PDXParser::getRecordStream ( unsigned  n) const
private
PDXParser& libebook::PDXParser::operator= ( const PDXParser other)
private
bool libebook::PDXParser::parse ( )

Parse input and produce output to document.

Returns
true if the input has been parsed successfully.
virtual void libebook::PDXParser::readAppInfoRecord ( librevenge::RVNGInputStream *  record)
privatepure virtual
virtual void libebook::PDXParser::readDataRecord ( librevenge::RVNGInputStream *  record,
bool  last = false 
)
privatepure virtual
void libebook::PDXParser::readDataRecords ( )
privatevirtual

Reimplemented in libebook::PLKRParser, libebook::PMLParser, and libebook::ZTXTParser.

Referenced by parse().

void libebook::PDXParser::readHeader ( )
private

Referenced by PDXParser().

virtual void libebook::PDXParser::readIndexRecord ( librevenge::RVNGInputStream *  record)
privatepure virtual
virtual void libebook::PDXParser::readSortInfoRecord ( librevenge::RVNGInputStream *  record)
privatepure virtual

Member Data Documentation

boost::scoped_ptr<PDXParserImpl> libebook::PDXParser::m_impl
private

The documentation for this class was generated from the following files:

Generated for libe-book by doxygen 1.8.8