RagTime5ChartInternal::ChartCParser Struct Referencefinal

low level: parser of chart cluster More...

Inheritance diagram for RagTime5ChartInternal::ChartCParser:
RagTime5ClusterManager::ClusterParser

Classes

struct  ZoneType
 a small structure used to stored a field type More...
 

Public Member Functions

 ChartCParser (RagTime5ClusterManager &parser, int type, libmwaw::DebugFile &ascii)
 constructor More...
 
 ~ChartCParser () final
 destructor More...
 
std::shared_ptr< RagTime5ClusterManager::ClustergetCluster () final
 return the current cluster More...
 
std::shared_ptr< ClusterChartgetChartCluster ()
 return the current cluster More...
 
std::shared_ptr< ChartgetChart ()
 return the chart More...
 
void insertZoneToBeParsed (int id, ZoneType const &type, bool canBeDuplicated=false)
 insert a new zone to be parsed More...
 
bool checkFatherType (int id, ZoneType::Type type) const
 try to check the father type More...
 
int getNewZoneToParse () final
 returns to new zone to parse. More...
 
void endZone () final
 end of a start zone call More...
 
bool parseZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
 parse a zone More...
 
bool parseField (RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
 parse a field More...
 
- Public Member Functions inherited from RagTime5ClusterManager::ClusterParser
 ClusterParser (RagTime5ClusterManager &parser, int type, std::string const &zoneName)
 constructor More...
 
virtual ~ClusterParser ()
 destructor More...
 
virtual std::string getZoneName () const
 return the debug name corresponding to a zone More...
 
virtual std::string getZoneName (int n, int m=-1) const
 return the debug name corresponding to a cluster More...
 
virtual void startZone ()
 start a new zone More...
 
bool isANameHeader (long N) const
 return true if N correspond to a file/script name More...
 
bool readLinkHeader (MWAWInputStreamPtr &input, long fSz, Link &link, long(&values)[4], std::string &message)
 try to read a link header More...
 
std::string getClusterName (int id)
 returns "data"+id+"A" ( followed by the cluster type and name if know) More...
 

Protected Member Functions

bool parseDataZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
 parse a data block More...
 
bool parseHeaderZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
 parse the header zone More...
 

Protected Attributes

std::shared_ptr< ClusterChartm_cluster
 the current cluster More...
 
std::shared_ptr< Chartm_chart
 the chart More...
 
int m_what
 a index to know which field is parsed : 0: main, 1: common data, 2: list, 3: sub zone position, 4: unknown1, 5: the preferences More...
 
int m_linkId
 the link id: 1: value double, 2: value text zone More...
 
std::string m_fieldName
 the actual field name More...
 
ZoneType m_zoneType
 the current zone type More...
 
std::map< int, ZoneTypem_fieldIdToZoneTypeMap
 the list of id to zone type map More...
 
std::set< int > m_zoneToParseSet
 the list of know zone remaining to be parsed More...
 
libmwaw::DebugFilem_asciiFile
 the ascii file More...
 

Private Member Functions

 ChartCParser (ChartCParser const &orig)=delete
 copy constructor (not implemented) More...
 
ChartCParseroperator= (ChartCParser const &orig)=delete
 copy operator (not implemented) More...
 

Additional Inherited Members

- Public Attributes inherited from RagTime5ClusterManager::ClusterParser
RagTime5ClusterManagerm_parser
 the main parser More...
 
int m_type
 the cluster type More...
 
bool m_hiLoEndian
 zone endian More...
 
std::string m_name
 the cluster name More...
 
int m_dataId
 the actual zone id More...
 
Link m_link
 the actual link More...
 

Detailed Description

low level: parser of chart cluster

Constructor & Destructor Documentation

◆ ChartCParser() [1/2]

RagTime5ChartInternal::ChartCParser::ChartCParser ( RagTime5ClusterManager parser,
int  type,
libmwaw::DebugFile ascii 
)
inline

constructor

◆ ~ChartCParser()

RagTime5ChartInternal::ChartCParser::~ChartCParser ( )
final

destructor

◆ ChartCParser() [2/2]

RagTime5ChartInternal::ChartCParser::ChartCParser ( ChartCParser const &  orig)
privatedelete

copy constructor (not implemented)

Member Function Documentation

◆ checkFatherType()

bool RagTime5ChartInternal::ChartCParser::checkFatherType ( int  id,
ZoneType::Type  type 
) const
inline

try to check the father type

◆ endZone()

void RagTime5ChartInternal::ChartCParser::endZone ( )
inlinefinalvirtual

end of a start zone call

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ getChart()

std::shared_ptr<Chart> RagTime5ChartInternal::ChartCParser::getChart ( )
inline

return the chart

◆ getChartCluster()

std::shared_ptr<ClusterChart> RagTime5ChartInternal::ChartCParser::getChartCluster ( )
inline

return the current cluster

◆ getCluster()

std::shared_ptr<RagTime5ClusterManager::Cluster> RagTime5ChartInternal::ChartCParser::getCluster ( )
inlinefinalvirtual

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

◆ getNewZoneToParse()

int RagTime5ChartInternal::ChartCParser::getNewZoneToParse ( )
inlinefinalvirtual

returns to new zone to parse.

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

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ insertZoneToBeParsed()

void RagTime5ChartInternal::ChartCParser::insertZoneToBeParsed ( int  id,
ZoneType const &  type,
bool  canBeDuplicated = false 
)
inline

insert a new zone to be parsed

◆ operator=()

ChartCParser& RagTime5ChartInternal::ChartCParser::operator= ( ChartCParser const &  orig)
privatedelete

copy operator (not implemented)

◆ parseDataZone()

bool RagTime5ChartInternal::ChartCParser::parseDataZone ( MWAWInputStreamPtr input,
long  fSz,
int  N,
int  flag,
libmwaw::DebugStream f 
)
inlineprotected

parse a data block

◆ parseField()

bool RagTime5ChartInternal::ChartCParser::parseField ( RagTime5StructManager::Field const &  field,
int  ,
libmwaw::DebugStream f 
)
inlinefinalvirtual

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ parseHeaderZone()

bool RagTime5ChartInternal::ChartCParser::parseHeaderZone ( MWAWInputStreamPtr input,
long  fSz,
int  N,
int  flag,
libmwaw::DebugStream f 
)
inlineprotected

parse the header zone

◆ parseZone()

bool RagTime5ChartInternal::ChartCParser::parseZone ( MWAWInputStreamPtr input,
long  fSz,
int  N,
int  flag,
libmwaw::DebugStream f 
)
inlinefinalvirtual

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

Member Data Documentation

◆ m_asciiFile

libmwaw::DebugFile& RagTime5ChartInternal::ChartCParser::m_asciiFile
protected

the ascii file

◆ m_chart

std::shared_ptr<Chart> RagTime5ChartInternal::ChartCParser::m_chart
protected

the chart

◆ m_cluster

std::shared_ptr<ClusterChart> RagTime5ChartInternal::ChartCParser::m_cluster
protected

the current cluster

◆ m_fieldIdToZoneTypeMap

std::map<int, ZoneType> RagTime5ChartInternal::ChartCParser::m_fieldIdToZoneTypeMap
protected

the list of id to zone type map

◆ m_fieldName

std::string RagTime5ChartInternal::ChartCParser::m_fieldName
protected

the actual field name

◆ m_linkId

int RagTime5ChartInternal::ChartCParser::m_linkId
protected

the link id: 1: value double, 2: value text zone

◆ m_what

int RagTime5ChartInternal::ChartCParser::m_what
protected

a index to know which field is parsed : 0: main, 1: common data, 2: list, 3: sub zone position, 4: unknown1, 5: the preferences

◆ m_zoneToParseSet

std::set<int> RagTime5ChartInternal::ChartCParser::m_zoneToParseSet
protected

the list of know zone remaining to be parsed

◆ m_zoneType

ZoneType RagTime5ChartInternal::ChartCParser::m_zoneType
protected

the current zone type


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

Generated on Mon Aug 19 2019 21:07:42 for libmwaw by doxygen 1.8.16