low level: parser of layout cluster More...
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 | |
| ~LayoutCParser () final | |
| destructor | |
| std::shared_ptr< RagTime5ClusterManager::Cluster > | getCluster () final |
| return the current cluster | |
| std::shared_ptr< ClusterLayout > | getLayoutCluster () |
| return the current layout cluster | |
| void | setExpectedType (int id, int type) |
| set a data id type | |
| int | getNewZoneToParse () final |
| returns to new zone to parse. | |
| void | startZone () final |
| start a new zone | |
| 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::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 | |
| 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 | parsePageZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) |
| parse a page | |
| bool | parseHeaderZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) |
| parse the header zone | |
Protected Attributes | |
| std::shared_ptr< ClusterLayout > | m_cluster |
| the current cluster | |
| int | m_numPages |
| the number of pages | |
| 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 | |
| int | m_linkId |
| the link id : 0: listItem, 1: pipeline, 2: settinglinks, 3: namelink, | |
| std::string | m_fieldName |
| the actual field name | |
| ClusterLayout::Zone | m_actualZone |
| the actual zone | |
| std::map< int, int > | m_expectedIdToType |
| the expected id | |
| std::stack< int > | m_idStack |
| the id stack | |
Additional Inherited Members | |
Public Attributes inherited from RagTime5ClusterManager::ClusterParser | |
| 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 | |
low level: parser of layout cluster
| anonymous enum |
|
inline |
constructor
|
final |
destructor
|
inlinefinalvirtual |
end of a start zone call
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
inlinefinalvirtual |
return the current cluster
Implements RagTime5ClusterManager::ClusterParser.
|
inline |
return the current layout cluster
Referenced by RagTime5Layout::readLayoutCluster().
|
inlinefinalvirtual |
returns to new zone to parse.
-1: means no preference, 0: means first zone, ...
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
inlinefinalvirtual |
parse a field
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
inlineprotected |
parse the header zone
Referenced by parseZone().
|
inlineprotected |
parse a page
Referenced by parseZone().
|
inlinefinalvirtual |
parse a zone
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
inline |
set a data id type
Referenced by parseField(), parseHeaderZone(), parsePageZone(), and parseZone().
|
inlinefinalvirtual |
start a new zone
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
protected |
the actual zone
Referenced by parsePageZone(), and startZone().
|
protected |
the current cluster
Referenced by endZone(), getCluster(), getLayoutCluster(), parseField(), parseHeaderZone(), parsePageZone(), and parseZone().
|
protected |
the expected id
Referenced by parseField(), parseZone(), and setExpectedType().
|
protected |
the actual field name
Referenced by parseField(), parseHeaderZone(), parsePageZone(), and parseZone().
|
protected |
the id stack
Referenced by getNewZoneToParse(), and setExpectedType().
|
protected |
the link id : 0: listItem, 1: pipeline, 2: settinglinks, 3: namelink,
Referenced by endZone(), and parseZone().
|
protected |
the number of pages
Referenced by parseHeaderZone(), parsePageZone(), and startZone().
|
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().