libebook::PDXParser Class Reference

#include <PDXParser.h>

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

List of all members.

Public Member Functions

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

Protected Member Functions

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

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().

librevenge::RVNGInputStream * libebook::PDXParser::getRecordStream ( unsigned  n) const [private]
PDXParser& libebook::PDXParser::operator= ( const PDXParser other) [private]

Parse input and produce output to document.

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

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) [private, pure virtual]
virtual void libebook::PDXParser::readSortInfoRecord ( librevenge::RVNGInputStream *  record) [private, pure virtual]

Member Data Documentation


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