EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
XMLParserEx Class Reference

A somewhat extended version of XMLParser. More...

#include "XMLParserEx.h"

Inheritance diagram for XMLParserEx:
Collaboration diagram for XMLParserEx:

Classes

class  MemberElementParser
 An implementation of ElementParser for member method parsers. More...
 
class  ValueParser
 Parses and stores a value. More...
 

Public Member Functions

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...
 
- Public Member Functions inherited from XMLParser
 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

template<typename T >
void AddMemberParser (const char *name, bool(T::*method)(const TiXmlElement *))
 Adds a member parser, assuming that instance is this. More...
 

Additional Inherited Members

- Public Attributes inherited from XMLParser
std::unique_ptr< TiXmlDocument > m_pXML_Document
 

Detailed Description

A somewhat extended version of XMLParser.

Author
Bloody.Rabbit

Definition at line 37 of file XMLParserEx.h.

Member Function Documentation

template<typename T >
void XMLParserEx::AddMemberParser ( const char *  name,
T &  instance,
bool(T::*)(const TiXmlElement *)  method 
)
inline

Adds a member parser.

Parameters
[in]nameA name of element which the parser should parse.
[in]instanceInstance of parser class.
[in]methodParser method.

Definition at line 55 of file XMLParserEx.h.

References XMLParser::AddParser().

Referenced by EVEServerConfig::EVEServerConfig(), MarketBotConf::MarketBotConf(), NPCMarket::NPCMarket(), MarketBotConf::ProcessBotConf(), EVEServerConfig::ProcessEveServer(), NPCMarket::ProcessNPCOrders(), ClassConstructGenerator::RegisterProcessors(), ClassDestructGenerator::RegisterProcessors(), ClassDumpGenerator::RegisterProcessors(), ClassCloneGenerator::RegisterProcessors(), ClassHeaderGenerator::RegisterProcessors(), Generator::RegisterProcessors(), and XMLPacketGen::XMLPacketGen().

56  {
57  AddParser( name, new MemberElementParser< T >( instance, method ) );
58  }
void AddParser(const char *name, ElementParser *parser)
Adds a parser.
Definition: XMLParser.cpp:101

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T >
void XMLParserEx::AddMemberParser ( const char *  name,
bool(T::*)(const TiXmlElement *)  method 
)
inlineprotected

Adds a member parser, assuming that instance is this.

Parameters
[in]nameA name of element which the parser should parse.
[in]methodParser method.

Definition at line 80 of file XMLParserEx.h.

81  {
82  AddMemberParser< T >( name, static_cast< T& >( *this ), method );
83  }
template<typename T >
void XMLParserEx::AddValueParser ( const char *  name,
T &  value 
)
inline

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