Classes | Public Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
RagTime5ClusterManager Class Reference

basic class used to manage RagTime 5/6 zones More...

`#include <RagTime5ClusterManager.hxx>`

## Classes
struct | Cluster
| the cluster data More...
struct | ClusterParser
| virtual class use to parse the cluster data More...
struct | ClusterRoot
| the cluster for root More...
struct | ClusterScript
| the cluster script ( 2/a/4002/400a zone) More...
struct | Link
| a link to a small zone (or set of zones) in RagTime 5/6 documents More...

## Public Member Functions
| RagTime5ClusterManager (RagTime5Parser &parser)
| constructor More...
| ~RagTime5ClusterManager ()
| destructor More...
bool | sendClusterMainList ()
| try to send the root cluster zone More...
bool | readCluster (RagTime5Zone &zone, ClusterParser &parser, bool warnForUnparsed=true)
| try to read a cluster zone More...
bool | readCluster (RagTime5Zone &zone, std::shared_ptr< Cluster > &cluster, int type=-1)
| try to read a cluster zone More...
bool | readClusterMainList (ClusterRoot &root, std::vector< int > &list, std::vector< int > const &clusterIdList)
| try to read the cluster root list (in general Data14) More...
bool | readClusterGObjProperties (RagTime5Zone &zone)
| try to read a level 2 child of a cluster (picture resizing, ...) More...
bool | readFieldClusters (Link const &link)
| try to read some field cluster More...
bool | readUnknownClusterC (Link const &link)
| try to read some unknown cluster More...
int | getClusterFileType (RagTime5Zone &zone)
| try to find a cluster zone type ( heuristic when the cluster type is unknown ) More...
int | getClusterType (RagTime5Zone &zone, int fileType)
| returns the local zone type More...
bool | getClusterBasicHeaderInfo (RagTime5Zone &zone, long &N, long &fSz, long &debHeaderPos)
| try to return basic information about the header cluster's zone More...
bool | readFieldHeader (RagTime5Zone &zone, long endPos, std::string const &headerName, long &endDataPos, long expectedLVal=-99999)
| try to read a field header, if ok set the endDataPos positions More...
std::string | getClusterName (int id)
| returns "data"+id+"A" ( followed by the cluster type and name if know) More...
Cluster::Type | getClusterType (int zId) const
| returns the cluster type corresponding to zone id or C_Unknown (if the zone is not a cluster or was not parsed) More...

## Protected Attributes
std::shared_ptr< RagTime5ClusterManagerInternal::State > | m_state
| the state More...
RagTime5Parser & | m_mainParser
| the main parser More...
std::shared_ptr< RagTime5StructManager > | m_structManager
| the structure manager More...

## Private Member Functions
| RagTime5ClusterManager (RagTime5ClusterManager const &orig)=delete
RagTime5ClusterManager | operator= (RagTime5ClusterManager const &orig)=delete

## Friends
struct | ClusterParser

## Detailed Description

basic class used to manage RagTime 5/6 zones

## Constructor & Destructor Documentation

## ◆ RagTime5ClusterManager() [1/2]

RagTime5ClusterManager::RagTime5ClusterManager | ( | RagTime5Parser & | parser | ) |
| explicit

constructor

## ◆ ~RagTime5ClusterManager()

RagTime5ClusterManager::~RagTime5ClusterManager | ( |  | ) |

destructor

## ◆ RagTime5ClusterManager() [2/2]

RagTime5ClusterManager::RagTime5ClusterManager | ( | RagTime5ClusterManager const & | orig | ) |
| private delete

## Member Function Documentation

## ◆ getClusterBasicHeaderInfo()

bool RagTime5ClusterManager::getClusterBasicHeaderInfo | ( | RagTime5Zone & | zone,
|  | long & | N,
|  | long & | fSz,
|  | long & | debHeaderPos
| ) |  |

try to return basic information about the header cluster's zone

Referenced by getClusterFileType(), and getClusterType().

## ◆ getClusterFileType()

int RagTime5ClusterManager::getClusterFileType | ( | RagTime5Zone & | zone | ) |

try to find a cluster zone type ( heuristic when the cluster type is unknown )

Referenced by getClusterType(), readClusterGObjProperties(), and readClusterMainList().

## ◆ getClusterName()

std::string RagTime5ClusterManager::getClusterName | ( | int | id | ) |

returns "data"+id+"A" ( followed by the cluster type and name if know)

Referenced by RagTime5GraphInternal::ClustListParser::getClusterName(), and RagTime5ClusterManagerInternal::ColPatCParser::parseZone().

## ◆ getClusterType() [1/2]

int RagTime5ClusterManager::getClusterType | ( | RagTime5Zone & | zone,
|  | int | fileType
| ) |  |

returns the local zone type

Referenced by readClusterGObjProperties(), and readClusterMainList().

## ◆ getClusterType() [2/2]

RagTime5ClusterManager::Cluster::Type RagTime5ClusterManager::getClusterType | ( | int | zId | ) | const

returns the cluster type corresponding to zone id or C_Unknown (if the zone is not a cluster or was not parsed)

## ◆ operator=()

RagTime5ClusterManager RagTime5ClusterManager::operator= | ( | RagTime5ClusterManager const & | orig | ) |
| private delete

## ◆ readCluster() [1/2]

bool RagTime5ClusterManager::readCluster | ( | RagTime5Zone & | zone,
|  | RagTime5ClusterManager::ClusterParser & | parser,
|  | bool | warnForUnparsed = `true`
| ) |  |

try to read a cluster zone

Referenced by readClusterGObjProperties().

## ◆ readCluster() [2/2]

bool RagTime5ClusterManager::readCluster | ( | RagTime5Zone & | zone,
|  | std::shared_ptr< Cluster > & | cluster,
|  | int | type = `-1`
| ) |  |

try to read a cluster zone

## ◆ readClusterGObjProperties()

bool RagTime5ClusterManager::readClusterGObjProperties | ( | RagTime5Zone & | zone | ) |

try to read a level 2 child of a cluster (picture resizing, ...)

## ◆ readClusterMainList()

bool RagTime5ClusterManager::readClusterMainList | ( | RagTime5ClusterManager::ClusterRoot & | root,
|  | std::vector< int > & | list,
|  | std::vector< int > const & | clusterIdList
| ) |  |

try to read the cluster root list (in general Data14)

## ◆ readFieldClusters()

bool RagTime5ClusterManager::readFieldClusters | ( | Link const & | link | ) |

try to read some field cluster

## ◆ readFieldHeader()

bool RagTime5ClusterManager::readFieldHeader | ( | RagTime5Zone & | zone,
|  | long | endPos,
|  | std::string const & | headerName,
|  | long & | endDataPos,
|  | long | expectedLVal = `-99999`
| ) |  |

try to read a field header, if ok set the endDataPos positions

Referenced by getClusterBasicHeaderInfo(), and readCluster().

## ◆ readUnknownClusterC()

bool RagTime5ClusterManager::readUnknownClusterC | ( | Link const & | link | ) |

try to read some unknown cluster

## ◆ sendClusterMainList()

bool RagTime5ClusterManager::sendClusterMainList | ( |  | ) |

try to send the root cluster zone

## Friends And Related Function Documentation

## ◆ ClusterParser

friend struct ClusterParser
| friend

## Member Data Documentation

## ◆ m_mainParser

RagTime5Parser& RagTime5ClusterManager::m_mainParser
| protected

the main parser

Referenced by readClusterGObjProperties(), readClusterMainList(), readFieldClusters(), readUnknownClusterC(), and sendClusterMainList().

## ◆ m_state

std::shared_ptr<RagTime5ClusterManagerInternal::State> RagTime5ClusterManager::m_state
| protected

the state

Referenced by getClusterName(), getClusterType(), readCluster(), readClusterGObjProperties(), readClusterMainList(), and sendClusterMainList().

## ◆ m_structManager

std::shared_ptr<RagTime5StructManager> RagTime5ClusterManager::m_structManager
| protected

the structure manager

Referenced by readCluster(), and readClusterMainList().

The documentation for this class was generated from the following files:

- RagTime5ClusterManager.hxx
- RagTime5ClusterManager.cxx