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 Types

enum  Type {
  F_ParentLink , F_Prefs , F_Pref , F_Series ,
  F_Series2 , F_Serie , F_SerieTypes , F_Settings ,
  F_Setting , F_Values , F_Values2 , F_Value ,
  F_DZone1 , F_DZones3 , F_DZone3 , F_DZone5 ,
  F_DZone8 , F_DZone9 , F_DZones10 , F_DZone10 ,
  F_DZoneF12 , F_DZoneF70 , F_DZoneF226 , F_ChartList ,
  F_UnknZone1 , F_UnknZone2 , F_Unknown
}
 the different field types More...
 

Public Member Functions

 ChartCParser (RagTime5ClusterManager &parser, int type, libmwaw::DebugFile &ascii)
 constructor
 
 ~ChartCParser () final
 destructor
 
std::shared_ptr< RagTime5ClusterManager::ClustergetCluster () final
 return the current cluster
 
std::shared_ptr< ClusterChartgetChartCluster ()
 return the current cluster
 
std::shared_ptr< ChartgetChart ()
 return the chart
 
void insertZoneToBeParsed (int id, ZoneType const &type, bool canBeDuplicated=false)
 insert a new zone to be parsed
 
bool checkFatherType (int id, Type type) const
 try to check the father type
 
int getNewZoneToParse () final
 returns to new zone to parse.
 
void endZone () final
 end of a start zone call
 
bool parseZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
 parse a zone
 
bool parseField (RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
 parse a field
 
- Public Member Functions inherited from RagTime5ClusterManager::ClusterParser
 ClusterParser (RagTime5ClusterManager &parser, int type, std::string const &zoneName)
 constructor
 
virtual ~ClusterParser ()
 destructor
 
virtual std::shared_ptr< ClustergetCluster ()=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)
 

Protected Member Functions

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

Protected Attributes

std::shared_ptr< ClusterChartm_cluster
 the current cluster
 
std::shared_ptr< Chartm_chart
 the chart
 
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
 
int m_linkId
 the link id: 1: value double, 2: value text zone
 
std::string m_fieldName
 the actual field name
 
ZoneType m_zoneType
 the current zone type
 
std::map< int, ZoneTypem_fieldIdToZoneTypeMap
 the list of id to zone type map
 
std::set< int > m_zoneToParseSet
 the list of know zone remaining to be parsed
 
libmwaw::DebugFilem_asciiFile
 the ascii file
 

Private Member Functions

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

Additional Inherited Members

- Public Attributes inherited from RagTime5ClusterManager::ClusterParser
RagTime5ClusterManagerm_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
 

Detailed Description

low level: parser of chart cluster

Member Enumeration Documentation

◆ Type

the different field types

Enumerator
F_ParentLink 
F_Prefs 
F_Pref 
F_Series 
F_Series2 
F_Serie 
F_SerieTypes 
F_Settings 
F_Setting 
F_Values 
F_Values2 
F_Value 
F_DZone1 
F_DZones3 
F_DZone3 
F_DZone5 
F_DZone8 
F_DZone9 
F_DZones10 
F_DZone10 
F_DZoneF12 
F_DZoneF70 
F_DZoneF226 
F_ChartList 
F_UnknZone1 
F_UnknZone2 
F_Unknown 

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,
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

Referenced by RagTime5Chart::readChartCluster().

◆ getChartCluster()

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

return the current cluster

Referenced by RagTime5Chart::readChartCluster().

◆ 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 Wed May 3 2023 07:18:29 for libmwaw by doxygen 1.9.6