Castor3D 0.16.0
Multiplatform 3D engine
|
#include <FileParser.hpp>
Fonctions membres publiques | |
CU_API | FileParser (SectionId rootSectionId, void *rootBlockContext=nullptr) |
Constructeur. | |
CU_API | FileParser (LoggerInstance &logger, SectionId rootSectionId, void *rootBlockContext=nullptr) |
Constructeur. | |
virtual CU_API | ~FileParser () noexcept=default |
Destructeur. | |
CU_API void | registerParsers (String const &name, AdditionalParsers const &parsers) |
Enregistre des analyseurs supplémentaires. | |
CU_API void | processFile (String const &appName, Path path, PreprocessedFile &preprocessed) |
Fonction de traitement. | |
CU_API void | processFile (Path const &path, PreprocessedFile &preprocessed) |
Fonction de traitement. | |
CU_API void | processFile (Path const &path, String const &content, PreprocessedFile &preprocessed) |
Fonction de traitement. | |
CU_API PreprocessedFile | processFile (String const &appName, Path const &path) |
Fonction de traitement. | |
CU_API PreprocessedFile | processFile (Path const &path) |
Fonction de traitement. | |
CU_API PreprocessedFile | processFile (Path const &path, String const &content) |
Fonction de traitement. | |
CU_API bool | parseFile (String const &appName, Path const &path) |
Fonction de traitement. | |
CU_API bool | parseFile (Path const &path) |
Fonction de traitement. | |
CU_API bool | parseFile (Path const &path, String const &content) |
Fonction de traitement. | |
CU_API void | parseError (String const &functionName, uint64_t lineIndex, String const &error) |
Log une erreur dans le fichier de log. | |
CU_API void | parseWarning (String const &functionName, uint64_t lineIndex, String const &warning) |
Log un avertissement dans le fichier de log. | |
CU_API void | addParser (SectionId oldSection, SectionId newSection, String const &name, ParserFunction const &function, ParserParameterArray const ¶ms=ParserParameterArray()) |
Ajoute une fonction d'analyse à la liste. | |
CU_API void | addParser (SectionId section, String const &name, ParserFunction const &function, ParserParameterArray const ¶ms=ParserParameterArray()) |
Ajoute une fonction d'analyse à la liste. | |
bool | isIgnored () const |
Dit si les lignes suivantes doivent être ignorées. | |
void | ignore () |
Incrémente le niveau d'ignorés. | |
LoggerInstance & | getLogger () const |
SectionId | getRootSectionId () const |
void * | getRootBlockContext () const |
void | validate (PreprocessedFile &preprocessed) |
String | getSectionName (SectionId section) const |
void | cleanupParser (PreprocessedFile &preprocessed) |
auto const & | getAdditionalParsers () const |
Fonctions membres protégées | |
virtual CU_API FileParserContextUPtr | doInitialiseParser (Path const &path) |
Initialisation spécifique. | |
virtual CU_API void | doCleanupParser (PreprocessedFile &preprocessed)=0 |
Nettoyage spécifique. | |
virtual CU_API bool | doDiscardParser (PreprocessedFile &preprocessed, StringView line) |
Fonction appelée si aucun analyseur n'est trouvé pour traiter la ligne. | |
virtual CU_API void | doValidate (PreprocessedFile &preprocessed)=0 |
Fonction appelée si l'analyse est complétée sans erreurs. | |
virtual CU_API String | doGetSectionName (SectionId section) const =0 |
donne le nom associé à l'ID de section. | |
virtual CU_API castor::RawUniquePtr< FileParser > | doCreateParser () const =0 |
Fonctions membres protégées hérités de castor::NonMovable | |
NonMovable ()=default | |
Constructeur. | |
~NonMovable () noexcept=default | |
Destructeur. | |
Attributs protégés | |
LoggerInstance & | m_logger |
AttributeParsers | m_parsers |
bool | m_ignored { false } |
StrStrMap | m_defines |
|
explicit |
Constructeur.
[in] | rootSectionId | L'id de la section de root. |
[in] | rootBlockContext | Le contexte de block de root. |
CU_API castor::FileParser::FileParser | ( | LoggerInstance & | logger, |
SectionId | rootSectionId, | ||
void * | rootBlockContext = nullptr ) |
Constructeur.
[in] | logger | L'instance de logging. |
[in] | rootSectionId | L'id de la section de root. |
[in] | rootBlockContext | Le contexte de block de root. |
|
virtualdefaultnoexcept |
Destructeur.
CU_API void castor::FileParser::addParser | ( | SectionId | oldSection, |
SectionId | newSection, | ||
String const & | name, | ||
ParserFunction const & | function, | ||
ParserParameterArray const & | params = ParserParameterArray() ) |
Ajoute une fonction d'analyse à la liste.
[in] | oldSection | La section sur laquelle la fonction est appliquée. |
[in] | newSection | La section résultant de l'application de la fonction. |
[in] | name | Le nom de la fonction. |
[in] | function | La fonction d'analyse. |
[in] | params | Les paramètres attendus. |
CU_API void castor::FileParser::addParser | ( | SectionId | section, |
String const & | name, | ||
ParserFunction const & | function, | ||
ParserParameterArray const & | params = ParserParameterArray() ) |
Ajoute une fonction d'analyse à la liste.
[in] | section | La section. |
[in] | name | Le nom de la fonction. |
[in] | function | La fonction d'analyse. |
[in] | params | Les paramètres attendus. |
|
inline |
|
protectedpure virtual |
Nettoyage spécifique.
Référencé par cleanupParser().
|
protectedpure virtual |
|
protectedvirtual |
Fonction appelée si aucun analyseur n'est trouvé pour traiter la ligne.
[in] | preprocessed | Le fichier pré-traité. |
[in] | line | La ligne. |
|
protectedpure virtual |
donne le nom associé à l'ID de section.
[in] | section | L'ID de section |
Référencé par getSectionName().
|
protectedvirtual |
Initialisation spécifique.
[in] | path | Le chemin d'accès au fichier. |
|
protectedpure virtual |
Fonction appelée si l'analyse est complétée sans erreurs.
Référencé par validate().
|
inline |
|
inline |
Références m_logger.
|
inline |
|
inline |
|
inline |
Incrémente le niveau d'ignorés.
Références m_ignored.
|
inline |
Dit si les lignes suivantes doivent être ignorées.
Références m_ignored.
CU_API void castor::FileParser::parseError | ( | String const & | functionName, |
uint64_t | lineIndex, | ||
String const & | error ) |
Log une erreur dans le fichier de log.
[in] | functionName | La fonction de l'erreur. |
[in] | lineIndex | La ligne de l'erreur. |
[in] | error | Le texte de l'erreur. |
Fonction de traitement.
[in] | path | Le chemin d'accès au fichier. |
true
si tout s'est bien passé. Fonction de traitement.
[in] | path | Le chemin d'accès au fichier. |
[in] | content | Le contenu du fichier. |
true
si tout s'est bien passé. Fonction de traitement.
[in] | appName | Le nom de l'application, si un dézip est nécessaire. |
[in] | path | Le chemin d'accès au fichier. |
true
si tout s'est bien passé. CU_API void castor::FileParser::parseWarning | ( | String const & | functionName, |
uint64_t | lineIndex, | ||
String const & | warning ) |
Log un avertissement dans le fichier de log.
[in] | functionName | La fonction de l'avertissement. |
[in] | lineIndex | La ligne de l'avertissement. |
[in] | warning | Le texte de l'avertissement. |
CU_API PreprocessedFile castor::FileParser::processFile | ( | Path const & | path | ) |
Fonction de traitement.
[in] | path | Le chemin d'accès au fichier. |
CU_API void castor::FileParser::processFile | ( | Path const & | path, |
PreprocessedFile & | preprocessed ) |
Fonction de traitement.
[in] | path | Le chemin d'accès au fichier. |
[in] | preprocessed | Le fichier pré-traité. |
CU_API PreprocessedFile castor::FileParser::processFile | ( | Path const & | path, |
String const & | content ) |
Fonction de traitement.
[in] | path | Le chemin d'accès au fichier. |
[in] | content | Le contenu du fichier. |
CU_API void castor::FileParser::processFile | ( | Path const & | path, |
String const & | content, | ||
PreprocessedFile & | preprocessed ) |
Fonction de traitement.
[in] | path | Le chemin d'accès au fichier. |
[in] | content | Le contenu du fichier. |
[in] | preprocessed | Le fichier pré-traité. |
CU_API PreprocessedFile castor::FileParser::processFile | ( | String const & | appName, |
Path const & | path ) |
Fonction de traitement.
[in] | appName | Le nom de l'application, si un dézip est nécessaire. |
[in] | path | Le chemin d'accès au fichier. |
CU_API void castor::FileParser::processFile | ( | String const & | appName, |
Path | path, | ||
PreprocessedFile & | preprocessed ) |
Fonction de traitement.
[in] | appName | Le nom de l'application, si un dézip est nécessaire. |
[in] | path | Le chemin d'accès au fichier. |
[in] | preprocessed | Le fichier pré-traité. |
CU_API void castor::FileParser::registerParsers | ( | String const & | name, |
AdditionalParsers const & | parsers ) |
Enregistre des analyseurs supplémentaires.
[in] | name | Le nom d'enregistrement. |
[in] | parsers | Les analyseurs. |
|
inline |
|
protected |
La map de defines.
|
protected |
Dit que les ligne slues sont ignorées.
Référencé par ignore(), et isIgnored().
|
protected |
Référencé par getLogger().
|
protected |
Les fonctions du parseur.