RagTime5ClusterManager::ClusterParser Struct Referenceabstract

virtual class use to parse the cluster data More...

`#include <RagTime5ClusterManager.hxx>`

Inheritance diagram for RagTime5ClusterManager::ClusterParser:

## Public Member Functions
| ClusterParser (RagTime5ClusterManager &parser, int type, std::string const &zoneName)
| constructor
virtual | ~ClusterParser ()
| destructor
virtual std::shared_ptr< Cluster > | getCluster ()=0
| return the current cluster
virtual std::string | getZoneName () const
| return the debug name corresponding to a zone
virtual std::string | getZoneName (int n, int m=-1) const
| return the debug name corresponding to a cluster
virtual void | startZone ()
| start a new zone
virtual bool | parseZone (MWAWInputStreamPtr &, long, int, int, libmwaw::DebugStream &)
| parse a zone
virtual void | endZone ()
| end of a start zone call
virtual bool | parseField (RagTime5StructManager::Field const &, int, libmwaw::DebugStream &)
| parse a the data of a zone, n_dataId:m
virtual int | getNewZoneToParse ()
| returns to new zone to parse.
bool | isANameHeader (long N) const
| return true if N correspond to a file/script name
bool | readLinkHeader (MWAWInputStreamPtr &input, long fSz, Link &link, long(&values)[4], std::string &message)
| try to read a link header
std::string | getClusterDebugName (int id)
| returns "data"+id+"A" ( followed by the cluster type and name if know)

## Public Attributes
RagTime5ClusterManager & | m_parser
| the main parser
int | m_type
| the cluster type
bool | m_hiLoEndian
| zone endian
std::string | m_name
| the cluster name
int | m_dataId
| the actual zone id
Link | m_link
| the actual link

## Private Member Functions
| ClusterParser (ClusterParser const &orig)=delete
ClusterParser & | operator= (ClusterParser const &orig)=delete

## Detailed Description

virtual class use to parse the cluster data

## Constructor & Destructor Documentation

## ◆ ClusterParser() [1/2]

RagTime5ClusterManager::ClusterParser::ClusterParser | ( | RagTime5ClusterManager & | parser,
|  | int | type,
|  | std::string const & | zoneName )
| inline

constructor

Referenced by RagTime5GraphInternal::ButtonCParser::ButtonCParser(), RagTime5ChartInternal::ChartCParser::ChartCParser(), ClusterParser(), RagTime5ClusterManagerInternal::ColPatCParser::ColPatCParser(), RagTime5GraphInternal::GraphicCParser::GraphicCParser(), RagTime5ClusterManagerInternal::GroupCParser::GroupCParser(), RagTime5LayoutInternal::LayoutCParser::LayoutCParser(), operator=(), RagTime5GraphInternal::PictCParser::PictCParser(), RagTime5PipelineInternal::PipelineCParser::PipelineCParser(), RagTime5ClusterManagerInternal::RootChildCParser::RootChildCParser(), RagTime5ClusterManagerInternal::RootCParser::RootCParser(), RagTime5ClusterManagerInternal::SoundCParser::SoundCParser(), RagTime5SpreadsheetInternal::SpreadsheetCParser::SpreadsheetCParser(), RagTime5ClusterManagerInternal::StyleCParser::StyleCParser(), RagTime5TextInternal::TextCParser::TextCParser(), and RagTime5ClusterManagerInternal::UnknownCParser::UnknownCParser().

## ◆ ~ClusterParser()

RagTime5ClusterManager::ClusterParser::~ClusterParser | ( |  | ) |
| virtual

destructor

## ◆ ClusterParser() [2/2]

RagTime5ClusterManager::ClusterParser::ClusterParser | ( | ClusterParser const & | orig | ) |
| explicit private delete

## Member Function Documentation

## ◆ endZone()

virtual void RagTime5ClusterManager::ClusterParser::endZone | ( |  | ) |
| inline virtual

end of a start zone call

Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.

Referenced by RagTime5ClusterManager::readCluster().

## ◆ getCluster()

virtual std::shared_ptr< Cluster > RagTime5ClusterManager::ClusterParser::getCluster | ( |  | ) |
| pure virtual

return the current cluster

Implemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::ColPatCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5ClusterManagerInternal::UnknownCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5PipelineInternal::PipelineCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.

Referenced by RagTime5ClusterManager::readCluster().

## ◆ getClusterDebugName()

std::string RagTime5ClusterManager::ClusterParser::getClusterDebugName | ( | int | id | ) |

returns "data"+id+"A" ( followed by the cluster type and name if know)

Referenced by RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parseHeaderZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parsePageZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5LayoutInternal::LayoutCParser::parseZone(), and RagTime5PipelineInternal::PipelineCParser::parseZone().

## ◆ getNewZoneToParse()

virtual int RagTime5ClusterManager::ClusterParser::getNewZoneToParse | ( |  | ) |
| inline virtual

returns to new zone to parse.

-1: means no preference, 0: means first zone, ...

Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, and RagTime5SpreadsheetInternal::SpreadsheetCParser.

Referenced by RagTime5ClusterManager::readCluster().

## ◆ getZoneName() [1/2]

virtual std::string RagTime5ClusterManager::ClusterParser::getZoneName | ( |  | ) | const
| inline virtual

return the debug name corresponding to a zone

Referenced by RagTime5ClusterManager::readCluster().

## ◆ getZoneName() [2/2]

virtual std::string RagTime5ClusterManager::ClusterParser::getZoneName | ( | int | n,
|  | int | m = -1 ) const
| inline virtual

return the debug name corresponding to a cluster

## ◆ isANameHeader()

bool RagTime5ClusterManager::ClusterParser::isANameHeader | ( | long | N | ) | const
| inline

return true if N correspond to a file/script name

Referenced by RagTime5ClusterManagerInternal::RootCParser::parseZone(), and RagTime5GraphInternal::ButtonCParser::parseZone().

## ◆ operator=()

ClusterParser & RagTime5ClusterManager::ClusterParser::operator= | ( | ClusterParser const & | orig | ) |
| private delete

## ◆ parseField()

virtual bool RagTime5ClusterManager::ClusterParser::parseField | ( | RagTime5StructManager::Field const & | ,
|  | int | ,
|  | libmwaw::DebugStream & | )
| inline virtual

parse a the data of a zone, n_dataId:m

Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::ColPatCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5PipelineInternal::PipelineCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.

Referenced by RagTime5ClusterManager::readCluster().

## ◆ parseZone()

virtual bool RagTime5ClusterManager::ClusterParser::parseZone | ( | MWAWInputStreamPtr & | ,
|  | long | ,
|  | int | ,
|  | int | ,
|  | libmwaw::DebugStream & | )
| inline virtual

parse a zone

Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::ColPatCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5PipelineInternal::PipelineCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.

Referenced by RagTime5ClusterManager::readCluster().

## ◆ readLinkHeader()

bool RagTime5ClusterManager::ClusterParser::readLinkHeader | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | Link & | link,
|  | long(&) | values[4],
|  | std::string & | message )

try to read a link header

Referenced by RagTime5ChartInternal::ChartCParser::parseDataZone(), RagTime5ClusterManagerInternal::RootCParser::parseDataZone(), RagTime5GraphInternal::GraphicCParser::parseDataZone(), RagTime5GraphInternal::PictCParser::parseDataZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::SoundCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), RagTime5GraphInternal::ButtonCParser::parseZone(), and RagTime5LayoutInternal::LayoutCParser::parseZone().

## ◆ startZone()

virtual void RagTime5ClusterManager::ClusterParser::startZone | ( |  | ) |
| inline virtual

start a new zone

Reimplemented in RagTime5LayoutInternal::LayoutCParser.

Referenced by RagTime5ClusterManager::readCluster().

## Member Data Documentation

## ◆ m_dataId

int RagTime5ClusterManager::ClusterParser::m_dataId

the actual zone id

Referenced by ClusterParser(), RagTime5ClusterManagerInternal::GroupCParser::endZone(), RagTime5ClusterManagerInternal::RootChildCParser::endZone(), RagTime5ClusterManagerInternal::RootCParser::endZone(), RagTime5ClusterManagerInternal::SoundCParser::endZone(), RagTime5ClusterManagerInternal::StyleCParser::endZone(), RagTime5GraphInternal::ButtonCParser::endZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::endZone(), RagTime5TextInternal::TextCParser::endZone(), RagTime5ChartInternal::ChartCParser::parseDataZone(), RagTime5ClusterManagerInternal::RootCParser::parseDataZone(), RagTime5GraphInternal::GraphicCParser::parseDataZone(), RagTime5GraphInternal::PictCParser::parseDataZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseDataZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseField(), RagTime5ClusterManagerInternal::GroupCParser::parseField(), RagTime5ClusterManagerInternal::RootChildCParser::parseField(), RagTime5ClusterManagerInternal::SoundCParser::parseField(), RagTime5ClusterManagerInternal::StyleCParser::parseField(), RagTime5GraphInternal::ButtonCParser::parseField(), RagTime5LayoutInternal::LayoutCParser::parseField(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseField(), RagTime5TextInternal::TextCParser::parseField(), RagTime5ChartInternal::ChartCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::RootCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::SoundCParser::parseHeaderZone(), RagTime5GraphInternal::ButtonCParser::parseHeaderZone(), RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5GraphInternal::PictCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parseHeaderZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::RootCParser::parseZone(), RagTime5ClusterManagerInternal::SoundCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), RagTime5GraphInternal::ButtonCParser::parseZone(), RagTime5LayoutInternal::LayoutCParser::parseZone(), RagTime5PipelineInternal::PipelineCParser::parseZone(), RagTime5TextInternal::TextCParser::parseZone(), RagTime5TextInternal::TextCParser::parseZoneBlock(), RagTime5ClusterManager::readCluster(), and RagTime5LayoutInternal::LayoutCParser::startZone().

## ◆ m_hiLoEndian

bool RagTime5ClusterManager::ClusterParser::m_hiLoEndian

zone endian

Referenced by ClusterParser(), isANameHeader(), and RagTime5ClusterManager::readCluster().

## ◆ m_link

Link RagTime5ClusterManager::ClusterParser::m_link

the actual link

Referenced by ClusterParser(), RagTime5ChartInternal::ChartCParser::endZone(), RagTime5ClusterManagerInternal::GroupCParser::endZone(), RagTime5ClusterManagerInternal::RootChildCParser::endZone(), RagTime5ClusterManagerInternal::RootCParser::endZone(), RagTime5ClusterManagerInternal::SoundCParser::endZone(), RagTime5ClusterManagerInternal::StyleCParser::endZone(), RagTime5GraphInternal::ButtonCParser::endZone(), RagTime5GraphInternal::GraphicCParser::endZone(), RagTime5GraphInternal::PictCParser::endZone(), RagTime5LayoutInternal::LayoutCParser::endZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::endZone(), RagTime5TextInternal::TextCParser::endZone(), RagTime5ChartInternal::ChartCParser::parseDataZone(), RagTime5ClusterManagerInternal::RootCParser::parseDataZone(), RagTime5GraphInternal::GraphicCParser::parseDataZone(), RagTime5GraphInternal::PictCParser::parseDataZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseDataZone(), RagTime5ChartInternal::ChartCParser::parseField(), RagTime5ClusterManagerInternal::GroupCParser::parseField(), RagTime5ClusterManagerInternal::RootChildCParser::parseField(), RagTime5ClusterManagerInternal::RootCParser::parseField(), RagTime5ClusterManagerInternal::SoundCParser::parseField(), RagTime5ClusterManagerInternal::StyleCParser::parseField(), RagTime5GraphInternal::ButtonCParser::parseField(), RagTime5GraphInternal::GraphicCParser::parseField(), RagTime5GraphInternal::PictCParser::parseField(), RagTime5LayoutInternal::LayoutCParser::parseField(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseField(), RagTime5TextInternal::TextCParser::parseField(), RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5GraphInternal::PictCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::SoundCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), RagTime5GraphInternal::ButtonCParser::parseZone(), RagTime5LayoutInternal::LayoutCParser::parseZone(), RagTime5PipelineInternal::PipelineCParser::parseZone(), and RagTime5ClusterManager::readCluster().

## ◆ m_name

std::string RagTime5ClusterManager::ClusterParser::m_name

the cluster name

Referenced by ClusterParser(), getZoneName(), getZoneName(), and RagTime5ClusterManagerInternal::RootChildCParser::RootChildCParser().

## ◆ m_parser

RagTime5ClusterManager& RagTime5ClusterManager::ClusterParser::m_parser

the main parser

Referenced by ClusterParser(), and getClusterDebugName().

## ◆ m_type

int RagTime5ClusterManager::ClusterParser::m_type

the cluster type

Referenced by ClusterParser(), RagTime5ChartInternal::ChartCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::SoundCParser::parseHeaderZone(), RagTime5GraphInternal::ButtonCParser::parseHeaderZone(), RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5GraphInternal::PictCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parseHeaderZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), and RagTime5PipelineInternal::PipelineCParser::parseZone().

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

- RagTime5ClusterManager.hxx
- RagTime5ClusterManager.cxx