RagTime5TextInternal::TextCParser Struct Referencefinal

low level: parser of text cluster More...

Inheritance diagram for RagTime5TextInternal::TextCParser:
RagTime5ClusterManager::ClusterParser

Public Member Functions

 TextCParser (RagTime5ClusterManager &parser, int type, libmwaw::DebugFile &ascii)
 constructor More...
 
 ~TextCParser () final
 destructor More...
 
std::shared_ptr< RagTime5ClusterManager::ClustergetCluster () final
 return the current cluster More...
 
std::shared_ptr< ClusterTextgetTextCluster ()
 return the text cluster More...
 
void startZone () final
 start a new zone 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 int getNewZoneToParse ()
 returns to new zone to parse. 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...
 
bool parseZoneBlock (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
 parse a zone block More...
 

Protected Attributes

std::shared_ptr< ClusterTextm_cluster
 the current cluster More...
 
int m_id
 the block id More...
 
int m_actualZone
 the actual zone More...
 
int m_numZones
 the number of zones More...
 
std::map< int, size_t > m_NToBlockIdMap
 the field pos to block map More...
 
int m_what
 a index to know which field is parsed : 0: main, 1: list zones, 3: linkdef, 4: list, 5; text unkn1 More...
 
int m_linkId
 the link id: 0: linkdef, 1-2: cluster list, 3: text unknown, 4: unkA list, 5:unkn fixed fSz==14 More...
 
std::string m_fieldName
 the actual field name More...
 
libmwaw::DebugFilem_asciiFile
 the ascii file More...
 

Private Member Functions

 TextCParser (TextCParser const &orig)=delete
 copy constructor (not implemented) More...
 
TextCParseroperator= (TextCParser 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 text cluster

Constructor & Destructor Documentation

◆ TextCParser() [1/2]

RagTime5TextInternal::TextCParser::TextCParser ( RagTime5ClusterManager parser,
int  type,
libmwaw::DebugFile ascii 
)
inline

constructor

◆ ~TextCParser()

RagTime5TextInternal::TextCParser::~TextCParser ( )
final

destructor

◆ TextCParser() [2/2]

RagTime5TextInternal::TextCParser::TextCParser ( TextCParser const &  orig)
privatedelete

copy constructor (not implemented)

Member Function Documentation

◆ endZone()

void RagTime5TextInternal::TextCParser::endZone ( )
inlinefinalvirtual

end of a start zone call

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ getCluster()

std::shared_ptr<RagTime5ClusterManager::Cluster> RagTime5TextInternal::TextCParser::getCluster ( )
inlinefinalvirtual

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

◆ getTextCluster()

std::shared_ptr<ClusterText> RagTime5TextInternal::TextCParser::getTextCluster ( )
inline

return the text cluster

◆ operator=()

TextCParser& RagTime5TextInternal::TextCParser::operator= ( TextCParser const &  orig)
privatedelete

copy operator (not implemented)

◆ parseDataZone()

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

parse a data block

◆ parseField()

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

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ parseHeaderZone()

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

parse the header zone

◆ parseZone()

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

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ parseZoneBlock()

bool RagTime5TextInternal::TextCParser::parseZoneBlock ( MWAWInputStreamPtr input,
long  fSz,
int  N,
int  flag,
libmwaw::DebugStream f 
)
inlineprotected

parse a zone block

◆ startZone()

void RagTime5TextInternal::TextCParser::startZone ( )
inlinefinalvirtual

start a new zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

Member Data Documentation

◆ m_actualZone

int RagTime5TextInternal::TextCParser::m_actualZone
protected

the actual zone

Referenced by startZone().

◆ m_asciiFile

libmwaw::DebugFile& RagTime5TextInternal::TextCParser::m_asciiFile
protected

the ascii file

◆ m_cluster

std::shared_ptr<ClusterText> RagTime5TextInternal::TextCParser::m_cluster
protected

the current cluster

Referenced by endZone(), getCluster(), and getTextCluster().

◆ m_fieldName

std::string RagTime5TextInternal::TextCParser::m_fieldName
protected

the actual field name

◆ m_id

int RagTime5TextInternal::TextCParser::m_id
protected

the block id

Referenced by startZone().

◆ m_linkId

int RagTime5TextInternal::TextCParser::m_linkId
protected

the link id: 0: linkdef, 1-2: cluster list, 3: text unknown, 4: unkA list, 5:unkn fixed fSz==14

Referenced by endZone().

◆ m_NToBlockIdMap

std::map<int, size_t> RagTime5TextInternal::TextCParser::m_NToBlockIdMap
protected

the field pos to block map

◆ m_numZones

int RagTime5TextInternal::TextCParser::m_numZones
protected

the number of zones

Referenced by startZone().

◆ m_what

int RagTime5TextInternal::TextCParser::m_what
protected

a index to know which field is parsed : 0: main, 1: list zones, 3: linkdef, 4: list, 5; text unkn1

Referenced by startZone().


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

Generated on Sun Aug 18 2019 00:59:30 for libmwaw by doxygen 1.8.16