RagTime5LayoutInternal::LayoutCParser Struct Referencefinal

low level: parser of layout cluster More...

Inheritance diagram for RagTime5LayoutInternal::LayoutCParser:
RagTime5ClusterManager::ClusterParser

Public Types

enum  {
  F_page, F_pageData0, F_pageData1, F_pageData2,
  F_pipeline, F_name, F_nextId =F_name+3, F_settingsDef,
  F_settings
}
 

Public Member Functions

 LayoutCParser (RagTime5ClusterManager &parser, int zoneType)
 constructor More...
 
 ~LayoutCParser () final
 destructor More...
 
std::shared_ptr< RagTime5ClusterManager::ClustergetCluster () final
 return the current cluster More...
 
std::shared_ptr< ClusterLayoutgetLayoutCluster ()
 return the current layout cluster More...
 
void setExpectedType (int id, int type)
 set a data id type More...
 
int getNewZoneToParse () final
 returns to new zone to parse. 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...
 
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 getClusterDebugName (int id)
 returns "data"+id+"A" ( followed by the cluster type and name if know) More...
 

Protected Member Functions

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

Protected Attributes

std::shared_ptr< ClusterLayoutm_cluster
 the current cluster More...
 
int m_numPages
 the number of pages More...
 
int m_what
 a index to know which field is parsed : 0: main, 1:list of pages, 2: unknown, 3:data0, 4:list, 5: unknown, 6: list:longs2 More...
 
int m_linkId
 the link id : 0: listItem, 1: pipeline, 2: settinglinks, 3: namelink, More...
 
std::string m_fieldName
 the actual field name More...
 
ClusterLayout::Zone m_actualZone
 the actual zone More...
 
std::map< int, int > m_expectedIdToType
 the expected id More...
 
std::stack< int > m_idStack
 the id stack 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 layout cluster

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
F_page 
F_pageData0 
F_pageData1 
F_pageData2 
F_pipeline 
F_name 
F_nextId 
F_settingsDef 
F_settings 

Constructor & Destructor Documentation

◆ LayoutCParser()

RagTime5LayoutInternal::LayoutCParser::LayoutCParser ( RagTime5ClusterManager parser,
int  zoneType 
)
inline

constructor

◆ ~LayoutCParser()

RagTime5LayoutInternal::LayoutCParser::~LayoutCParser ( )
final

destructor

Member Function Documentation

◆ endZone()

void RagTime5LayoutInternal::LayoutCParser::endZone ( )
inlinefinalvirtual

end of a start zone call

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ getCluster()

std::shared_ptr<RagTime5ClusterManager::Cluster> RagTime5LayoutInternal::LayoutCParser::getCluster ( )
inlinefinalvirtual

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

◆ getLayoutCluster()

std::shared_ptr<ClusterLayout> RagTime5LayoutInternal::LayoutCParser::getLayoutCluster ( )
inline

return the current layout cluster

Referenced by RagTime5Layout::readLayoutCluster().

◆ getNewZoneToParse()

int RagTime5LayoutInternal::LayoutCParser::getNewZoneToParse ( )
inlinefinalvirtual

returns to new zone to parse.

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

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ parseField()

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

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ parseHeaderZone()

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

parse the header zone

Referenced by parseZone().

◆ parsePageZone()

bool RagTime5LayoutInternal::LayoutCParser::parsePageZone ( MWAWInputStreamPtr input,
long  fSz,
int  N,
int  flag,
libmwaw::DebugStream f 
)
inlineprotected

parse a page

Referenced by parseZone().

◆ parseZone()

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

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ setExpectedType()

void RagTime5LayoutInternal::LayoutCParser::setExpectedType ( int  id,
int  type 
)
inline

set a data id type

Referenced by parseField(), parseHeaderZone(), parsePageZone(), and parseZone().

◆ startZone()

void RagTime5LayoutInternal::LayoutCParser::startZone ( )
inlinefinalvirtual

start a new zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

Member Data Documentation

◆ m_actualZone

ClusterLayout::Zone RagTime5LayoutInternal::LayoutCParser::m_actualZone
protected

the actual zone

Referenced by parsePageZone(), and startZone().

◆ m_cluster

std::shared_ptr<ClusterLayout> RagTime5LayoutInternal::LayoutCParser::m_cluster
protected

◆ m_expectedIdToType

std::map<int,int> RagTime5LayoutInternal::LayoutCParser::m_expectedIdToType
protected

the expected id

Referenced by parseField(), parseZone(), and setExpectedType().

◆ m_fieldName

std::string RagTime5LayoutInternal::LayoutCParser::m_fieldName
protected

the actual field name

Referenced by parseField(), parseHeaderZone(), parsePageZone(), and parseZone().

◆ m_idStack

std::stack<int> RagTime5LayoutInternal::LayoutCParser::m_idStack
protected

the id stack

Referenced by getNewZoneToParse(), and setExpectedType().

◆ m_linkId

int RagTime5LayoutInternal::LayoutCParser::m_linkId
protected

the link id : 0: listItem, 1: pipeline, 2: settinglinks, 3: namelink,

Referenced by endZone(), and parseZone().

◆ m_numPages

int RagTime5LayoutInternal::LayoutCParser::m_numPages
protected

the number of pages

Referenced by parseHeaderZone(), parsePageZone(), and startZone().

◆ m_what

int RagTime5LayoutInternal::LayoutCParser::m_what
protected

a index to know which field is parsed : 0: main, 1:list of pages, 2: unknown, 3:data0, 4:list, 5: unknown, 6: list:longs2

Referenced by parseField(), parseZone(), and startZone().


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

Generated on Fri Sep 18 2020 18:14:52 for libmwaw by doxygen 1.8.20