EvEmu
0.8.4
11 September 2021
|
#include "EncodeGenerator.h"
Public Member Functions | |
ClassEncodeGenerator (FILE *outputFile=NULL) | |
![]() | |
Generator (FILE *outputFile=NULL) | |
Primary constructor. More... | |
void | SetOutputFile (FILE *outputFile) |
Sets output file. More... | |
![]() | |
template<typename T > | |
void | AddMemberParser (const char *name, T &instance, bool(T::*method)(const TiXmlElement *)) |
Adds a member parser. More... | |
template<typename T > | |
void | AddValueParser (const char *name, T &value) |
Adds a value parser. More... | |
![]() | |
XMLParser () | |
Primary constructor. More... | |
virtual | ~XMLParser () |
A destructor. More... | |
bool | ParseFile (const char *file) |
Parses file using registered parsers. More... | |
bool | ParseElement (const TiXmlElement *element) const |
Parses element using registered parsers. More... | |
bool | ParseElementChildren (const TiXmlElement *element, size_t max=0) const |
Parses element's children using registered parsers. More... | |
void | AddParser (const char *name, ElementParser *parser) |
Adds a parser. More... | |
void | RemoveParser (const char *name) |
Removes a parser. More... | |
void | ClearParsers () |
Clears all parsers. More... | |
Protected Member Functions | |
const char * | top () const |
void | pop () |
void | push (const char *v) |
void | clear () |
bool | ProcessElementDef (const TiXmlElement *field) |
bool | ProcessElement (const TiXmlElement *field) |
bool | ProcessElementPtr (const TiXmlElement *field) |
bool | ProcessRaw (const TiXmlElement *field) |
bool | ProcessInt (const TiXmlElement *field) |
bool | ProcessLong (const TiXmlElement *field) |
bool | ProcessReal (const TiXmlElement *field) |
bool | ProcessBool (const TiXmlElement *field) |
bool | ProcessNone (const TiXmlElement *field) |
bool | ProcessBuffer (const TiXmlElement *field) |
bool | ProcessString (const TiXmlElement *field) |
bool | ProcessStringInline (const TiXmlElement *field) |
bool | ProcessWString (const TiXmlElement *field) |
bool | ProcessWStringInline (const TiXmlElement *field) |
bool | ProcessToken (const TiXmlElement *field) |
bool | ProcessTokenInline (const TiXmlElement *field) |
bool | ProcessObject (const TiXmlElement *field) |
bool | ProcessObjectInline (const TiXmlElement *field) |
bool | ProcessObjectEx (const TiXmlElement *field) |
bool | ProcessTuple (const TiXmlElement *field) |
bool | ProcessTupleInline (const TiXmlElement *field) |
bool | ProcessList (const TiXmlElement *field) |
bool | ProcessListInline (const TiXmlElement *field) |
bool | ProcessListInt (const TiXmlElement *field) |
bool | ProcessListLong (const TiXmlElement *field) |
bool | ProcessListStr (const TiXmlElement *field) |
bool | ProcessDict (const TiXmlElement *field) |
bool | ProcessDictInline (const TiXmlElement *field) |
bool | ProcessDictRaw (const TiXmlElement *field) |
bool | ProcessDictInt (const TiXmlElement *field) |
bool | ProcessDictStr (const TiXmlElement *field) |
bool | ProcessSubStreamInline (const TiXmlElement *field) |
bool | ProcessSubStructInline (const TiXmlElement *field) |
![]() | |
void | RegisterProcessors () |
![]() | |
template<typename T > | |
void | AddMemberParser (const char *name, bool(T::*method)(const TiXmlElement *)) |
Adds a member parser, assuming that instance is this. More... | |
Private Attributes | |
uint32 | mItemNumber |
std::stack< std::string > | mVariableStack |
const char * | mName |
Additional Inherited Members | |
![]() | |
std::unique_ptr< TiXmlDocument > | m_pXML_Document |
![]() | |
static const char * | GetEncodeType (const TiXmlElement *element) |
Obtains encode type of given element. More... | |
![]() | |
FILE * | mOutputFile |
Definition at line 31 of file EncodeGenerator.h.
ClassEncodeGenerator::ClassEncodeGenerator | ( | FILE * | outputFile = NULL | ) |
Definition at line 30 of file EncodeGenerator.cpp.
References Generator::RegisterProcessors().
|
inlineprotected |
Definition at line 41 of file EncodeGenerator.h.
References mVariableStack, and pop().
Referenced by ProcessElementDef().
|
inlineprotected |
Definition at line 39 of file EncodeGenerator.h.
References mVariableStack.
Referenced by clear(), ProcessBool(), ProcessBuffer(), ProcessDict(), ProcessDictInline(), ProcessDictInt(), ProcessDictRaw(), ProcessDictStr(), ProcessElement(), ProcessElementPtr(), ProcessInt(), ProcessList(), ProcessListInline(), ProcessListInt(), ProcessListLong(), ProcessListStr(), ProcessLong(), ProcessNone(), ProcessObject(), ProcessObjectEx(), ProcessObjectInline(), ProcessRaw(), ProcessReal(), ProcessString(), ProcessStringInline(), ProcessSubStreamInline(), ProcessSubStructInline(), ProcessToken(), ProcessTokenInline(), ProcessTuple(), ProcessTupleInline(), ProcessWString(), and ProcessWStringInline().
|
protectedvirtual |
Implements Generator.
Definition at line 234 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 262 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 838 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), str2< bool >(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 885 of file EncodeGenerator.cpp.
References key(), mItemNumber, Generator::mOutputFile, XMLParser::ParseElementChildren(), pop(), push(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 1019 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, pop(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 972 of file EncodeGenerator.cpp.
References key(), mItemNumber, Generator::mOutputFile, pop(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 1049 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, pop(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 78 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 38 of file EncodeGenerator.cpp.
References clear(), Generator::GetEncodeType(), main(), mItemNumber, mName, Generator::mOutputFile, XMLParser::ParseElement(), and push().
|
protectedvirtual |
Implements Generator.
Definition at line 96 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 150 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 671 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), str2< bool >(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 718 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, XMLParser::ParseElementChildren(), pop(), push(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 761 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, pop(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 786 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, pop(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 812 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, pop(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 178 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 251 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 447 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), str2< bool >(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 528 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), str2< bool >(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 494 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, XMLParser::ParseElementChildren(), pop(), push(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 121 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 206 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 291 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 319 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 1079 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, XMLParser::ParseElementChildren(), pop(), push(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 1104 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, XMLParser::ParseElementChildren(), pop(), push(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 382 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), str2< bool >(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 429 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 580 of file EncodeGenerator.cpp.
References mName, Generator::mOutputFile, pop(), str2< bool >(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 627 of file EncodeGenerator.cpp.
References mItemNumber, Generator::mOutputFile, XMLParser::ParseElementChildren(), pop(), push(), snprintf, and top().
|
protectedvirtual |
Implements Generator.
Definition at line 337 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
protectedvirtual |
Implements Generator.
Definition at line 364 of file EncodeGenerator.cpp.
References Generator::mOutputFile, pop(), and top().
|
inlineprotected |
Definition at line 40 of file EncodeGenerator.h.
References mVariableStack.
Referenced by ProcessDictInline(), ProcessElementDef(), ProcessListInline(), ProcessObjectInline(), ProcessSubStreamInline(), ProcessSubStructInline(), and ProcessTupleInline().
|
inlineprotected |
Definition at line 38 of file EncodeGenerator.h.
References mVariableStack.
Referenced by ProcessBool(), ProcessBuffer(), ProcessDict(), ProcessDictInline(), ProcessDictInt(), ProcessDictRaw(), ProcessDictStr(), ProcessElement(), ProcessElementPtr(), ProcessInt(), ProcessList(), ProcessListInline(), ProcessListInt(), ProcessListLong(), ProcessListStr(), ProcessLong(), ProcessNone(), ProcessObject(), ProcessObjectEx(), ProcessObjectInline(), ProcessRaw(), ProcessReal(), ProcessString(), ProcessStringInline(), ProcessSubStreamInline(), ProcessSubStructInline(), ProcessToken(), ProcessTokenInline(), ProcessTuple(), ProcessTupleInline(), ProcessWString(), and ProcessWStringInline().
|
private |
Definition at line 83 of file EncodeGenerator.h.
Referenced by ProcessDictInline(), ProcessDictInt(), ProcessDictRaw(), ProcessDictStr(), ProcessElementDef(), ProcessListInline(), ProcessListInt(), ProcessListLong(), ProcessListStr(), ProcessObjectInline(), ProcessSubStreamInline(), ProcessSubStructInline(), and ProcessTupleInline().
|
private |
Definition at line 85 of file EncodeGenerator.h.
Referenced by ProcessBuffer(), ProcessDict(), ProcessElementDef(), ProcessElementPtr(), ProcessList(), ProcessObject(), ProcessObjectEx(), ProcessRaw(), ProcessToken(), and ProcessTuple().
|
private |