Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
MSWriteParser Class Reference

This class parses Microsoft Write 3.0 and 3.1. More...

`#include <MSWrite.h>`

Inheritance diagram for MSWriteParser:

## Public Member Functions
| MSWriteParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::WIN3_WEUROPE)
| ~MSWriteParser () override
void | parse (librevenge::RVNGTextInterface *documentInterface) override
Public Member Functions inherited from WPSParser
| WPSParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header)
virtual | ~WPSParser ()

## Protected Member Functions
void | readStructures ()
virtual libwps_tools_win::Font::Type | getFileEncoding (libwps_tools_win::Font::Type hint)
void | readFIB ()
virtual void | readFFNTB ()
void | readFOD (unsigned page, void(MSWriteParser::*parseFOD)(uint32_t fcFirst, uint32_t fcLim, unsigned size))
virtual void | readPAP (uint32_t fcFirst, uint32_t fcLim, unsigned cch)
virtual void | readCHP (uint32_t fcFirst, uint32_t fcLim, unsigned cch)
virtual void | readSUMD ()
virtual void | readFNTB ()
virtual void | readSED ()
void | readText (WPSEntry const &e, MSWriteParserInternal::Paragraph::Location location)
int | numPages ()
void | processObject (WPSPosition &pos, unsigned long lastPos)
bool | processDDB (librevenge::RVNGBinaryData &bmpdata, WPSPosition &pos, unsigned width, unsigned height, unsigned byte_width, unsigned planes, unsigned bits_pixel, unsigned size)
bool | processDIB (librevenge::RVNGBinaryData &bmpdata, unsigned size)
bool | processWMF (librevenge::RVNGBinaryData &wmfdata, unsigned size)
void | processEmbeddedOLE (WPSPosition &pos, unsigned long lastPos)
bool | processStaticOLE (librevenge::RVNGBinaryData &, std::string &mimetype, WPSPosition &pos, unsigned long lastPos)
bool | readString (std::string &res, unsigned long lastPos)
virtual void | insertSpecial (uint8_t val, uint32_t fc, MSWriteParserInternal::Paragraph::Location location)
virtual void | insertControl (uint8_t val, uint32_t fc)
void | insertNote (bool annotation, uint32_t fcPos, librevenge::RVNGString &label)
unsigned | insertString (const unsigned char *str, unsigned size, libwps_tools_win::Font::Type type)
void | getHeaderFooters (uint32_t first, MSWriteParserInternal::Section &sep, WPSPageSpan &pageSpan)
void | startSection (MSWriteParserInternal::Section &section)
bool | checkFilePosition (uint32_t pos) const
| check if the file position is correct or not More...
Protected Member Functions inherited from WPSParser
RVNGInputStreamPtr & | getInput ()
RVNGInputStreamPtr | getFileInput ()
WPSHeaderPtr & | getHeader ()
int | version () const
void | setVersion (int vers)
libwps::DebugFile & | ascii ()
| a DebugFile used to write what we recognize when we parse the document More...
NameMultiMap & | getNameEntryMap ()
NameMultiMap const & | getNameEntryMap () const

## Static Protected Member Functions
static void | getPageStyle (MSWriteParserInternal::Section &sep, WPSPageSpan &pageSpan)

## Protected Attributes
uint32_t | m_fileLength
| the last file position More...
uint32_t | m_fcMac
std::vector< MSWriteParserInternal::Paragraph > | m_paragraphList
std::vector< MSWriteParserInternal::Font > | m_fontList
std::vector< MSWriteParserInternal::Footnote > | m_footnotes
std::vector< MSWriteParserInternal::Section > | m_sections
std::vector< librevenge::RVNGString > | m_fonts
libwps_tools_win::Font::Type | m_fontType
std::shared_ptr< WPSContentListener > | m_listener
librevenge::RVNGPropertyList | m_metaData

## Private Member Functions
| MSWriteParser (const MSWriteParser &)=delete
MSWriteParser & | operator= (const MSWriteParser &)=delete
std::shared_ptr< WPSContentListener > | createListener (librevenge::RVNGTextInterface *interface)

## Friends
class | MSWriteParserInternal::SubDocument
struct | MSWriteParserInternal::Paragraph
struct | MSWriteParserInternal::Font

## Additional Inherited Members
Public Types inherited from WPSParser
typedef std::multimap< std::string, WPSEntry > | NameMultiMap
| a map to retrieve a file entry by name More...

## Detailed Description

This class parses Microsoft Write 3.0 and 3.1.

## Constructor & Destructor Documentation

## ◆ MSWriteParser() [1/2]

MSWriteParser::MSWriteParser | ( | RVNGInputStreamPtr & | input,
|  | WPSHeaderPtr & | header,
|  | libwps_tools_win::Font::Type | encoding = `libwps_tools_win::Font::WIN3_WEUROPE`
| ) |  |

## ◆ ~MSWriteParser()

MSWriteParser::~MSWriteParser | ( |  | ) |
| override

## ◆ MSWriteParser() [2/2]

MSWriteParser::MSWriteParser | ( | const MSWriteParser & |  | ) |
| private delete

## Member Function Documentation

## ◆ checkFilePosition()

bool MSWriteParser::checkFilePosition | ( | uint32_t | pos | ) | const
| inline protected

check if the file position is correct or not

Referenced by DosWordParser::checkHeader(), processEmbeddedOLE(), processObject(), readFFNTB(), readFIB(), DosWordParser::readFNTB(), readFOD(), DosWordParser::readSECT(), DosWordParser::readSED(), readSED(), readString(), and DosWordParser::readSUMD().

## ◆ createListener()

std::shared_ptr< WPSContentListener > MSWriteParser::createListener | ( | librevenge::RVNGTextInterface * | interface | ) |
| private

Referenced by parse().

## ◆ getFileEncoding()

libwps_tools_win::Font::Type MSWriteParser::getFileEncoding | ( | libwps_tools_win::Font::Type | hint | ) |
| protected virtual

Reimplemented in DosWordParser.

Referenced by MSWriteParser().

## ◆ getHeaderFooters()

void MSWriteParser::getHeaderFooters | ( | uint32_t | first,
|  | MSWriteParserInternal::Section & | sep,
|  | WPSPageSpan & | pageSpan
| ) |  |
| protected

Referenced by createListener().

## ◆ getPageStyle()

void MSWriteParser::getPageStyle | ( | MSWriteParserInternal::Section & | sep,
|  | WPSPageSpan & | pageSpan
| ) |  |
| static protected

Referenced by createListener().

## ◆ insertControl()

void MSWriteParser::insertControl | ( | uint8_t | val,
|  | uint32_t | fc
| ) |  |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readText().

## ◆ insertNote()

void MSWriteParser::insertNote | ( | bool | annotation,
|  | uint32_t | fcPos,
|  | librevenge::RVNGString & | label
| ) |  |
| protected

Referenced by DosWordParser::insertSpecial(), and readText().

## ◆ insertSpecial()

void MSWriteParser::insertSpecial | ( | uint8_t | val,
|  | uint32_t | fc,
|  | MSWriteParserInternal::Paragraph::Location | location
| ) |  |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readText().

## ◆ insertString()

unsigned MSWriteParser::insertString | ( | const unsigned char * | str,
|  | unsigned | size,
|  | libwps_tools_win::Font::Type | type
| ) |  |
| protected

Referenced by readText().

## ◆ numPages()

int MSWriteParser::numPages | ( |  | ) |
| protected

## ◆ operator=()

MSWriteParser& MSWriteParser::operator= | ( | const MSWriteParser & |  | ) |
| private delete

## ◆ parse()

void MSWriteParser::parse | ( | librevenge::RVNGTextInterface * | documentInterface | ) |
| override virtual

Implements WPSParser.

## ◆ processDDB()

bool MSWriteParser::processDDB | ( | librevenge::RVNGBinaryData & | bmpdata,
|  | WPSPosition & | pos,
|  | unsigned | width,
|  | unsigned | height,
|  | unsigned | byte_width,
|  | unsigned | planes,
|  | unsigned | bits_pixel,
|  | unsigned | size
| ) |  |
| protected

Referenced by processObject(), and processStaticOLE().

## ◆ processDIB()

bool MSWriteParser::processDIB | ( | librevenge::RVNGBinaryData & | bmpdata,
|  | unsigned | size
| ) |  |
| protected

Referenced by processStaticOLE().

## ◆ processEmbeddedOLE()

void MSWriteParser::processEmbeddedOLE | ( | WPSPosition & | pos,
|  | unsigned long | lastPos
| ) |  |
| protected

Referenced by processObject().

## ◆ processObject()

void MSWriteParser::processObject | ( | WPSPosition & | pos,
|  | unsigned long | lastPos
| ) |  |
| protected

Referenced by readText().

## ◆ processStaticOLE()

bool MSWriteParser::processStaticOLE | ( | librevenge::RVNGBinaryData & | b,
|  | std::string & | mimetype,
|  | WPSPosition & | pos,
|  | unsigned long | lastPos
| ) |  |
| protected

Referenced by processEmbeddedOLE(), and processObject().

## ◆ processWMF()

bool MSWriteParser::processWMF | ( | librevenge::RVNGBinaryData & | wmfdata,
|  | unsigned | size
| ) |  |
| protected

Referenced by processObject(), and processStaticOLE().

## ◆ readCHP()

void MSWriteParser::readCHP | ( | uint32_t | fcFirst,
|  | uint32_t | fcLim,
|  | unsigned | cch
| ) |  |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readStructures().

## ◆ readFFNTB()

void MSWriteParser::readFFNTB | ( |  | ) |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readStructures().

## ◆ readFIB()

void MSWriteParser::readFIB | ( |  | ) |
| protected

Referenced by readStructures().

## ◆ readFNTB()

void MSWriteParser::readFNTB | ( |  | ) |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readStructures().

## ◆ readFOD()

void MSWriteParser::readFOD | ( | unsigned | page,
|  | void(MSWriteParser::*)(uint32_t fcFirst, uint32_t fcLim, unsigned size) | parseFOD
| ) |  |
| protected

Referenced by readStructures().

## ◆ readPAP()

void MSWriteParser::readPAP | ( | uint32_t | fcFirst,
|  | uint32_t | fcLim,
|  | unsigned | cch
| ) |  |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readStructures().

## ◆ readSED()

void MSWriteParser::readSED | ( |  | ) |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readStructures().

## ◆ readString()

bool MSWriteParser::readString | ( | std::string & | res,
|  | unsigned long | lastPos
| ) |  |
| protected

Referenced by processEmbeddedOLE(), and processStaticOLE().

## ◆ readStructures()

void MSWriteParser::readStructures | ( |  | ) |
| protected

Referenced by parse().

## ◆ readSUMD()

void MSWriteParser::readSUMD | ( |  | ) |
| protected virtual

Reimplemented in DosWordParser.

Referenced by readStructures().

## ◆ readText()

void MSWriteParser::readText | ( | WPSEntry const & | e,
|  | MSWriteParserInternal::Paragraph::Location | location
| ) |  |
| protected

Referenced by parse().

## ◆ startSection()

void MSWriteParser::startSection | ( | MSWriteParserInternal::Section & | section | ) |
| protected

Referenced by parse().

## Friends And Related Function Documentation

## ◆ MSWriteParserInternal::Font

friend struct MSWriteParserInternal::Font
| friend

## ◆ MSWriteParserInternal::Paragraph

friend struct MSWriteParserInternal::Paragraph
| friend

## ◆ MSWriteParserInternal::SubDocument

friend class MSWriteParserInternal::SubDocument
| friend

## Member Data Documentation

## ◆ m_fcMac

uint32_t MSWriteParser::m_fcMac
| protected

Referenced by getHeaderFooters(), insertNote(), readFIB(), readFOD(), DosWordParser::readSED(), readSED(), readStructures(), and readText().

## ◆ m_fileLength

uint32_t MSWriteParser::m_fileLength
| protected

the last file position

Referenced by MSWriteParser(), and DosWordParser::readSED().

## ◆ m_fontList

std::vector<MSWriteParserInternal::Font> MSWriteParser::m_fontList
| protected

Referenced by DosWordParser::readCHP(), readCHP(), readStructures(), and readText().

## ◆ m_fonts

std::vector<librevenge::RVNGString> MSWriteParser::m_fonts
| protected

Referenced by readCHP(), and readFFNTB().

## ◆ m_fontType

libwps_tools_win::Font::Type MSWriteParser::m_fontType
| protected

Referenced by MSWriteParser(), DosWordParser::readCHP(), readCHP(), readFFNTB(), and DosWordParser::readSUMD().

## ◆ m_footnotes

std::vector<MSWriteParserInternal::Footnote> MSWriteParser::m_footnotes
| protected

Referenced by insertNote(), and DosWordParser::readFNTB().

## ◆ m_listener

std::shared_ptr<WPSContentListener> MSWriteParser::m_listener
| protected

Referenced by DosWordParser::insertControl(), insertControl(), insertNote(), DosWordParser::insertSpecial(), insertSpecial(), insertString(), parse(), processEmbeddedOLE(), processObject(), readText(), and startSection().

## ◆ m_metaData

librevenge::RVNGPropertyList MSWriteParser::m_metaData
| protected

Referenced by parse(), and DosWordParser::readSUMD().

## ◆ m_paragraphList

std::vector<MSWriteParserInternal::Paragraph> MSWriteParser::m_paragraphList
| protected

Referenced by getHeaderFooters(), DosWordParser::readPAP(), readPAP(), readStructures(), and readText().

## ◆ m_sections

std::vector<MSWriteParserInternal::Section> MSWriteParser::m_sections
| protected

Referenced by createListener(), DosWordParser::insertControl(), parse(), DosWordParser::readSECT(), DosWordParser::readSED(), and readSED().

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

- MSWrite.h
- MSWrite.cpp