ScummVM API documentation
GUI::MetadataParser Class Reference
Inheritance diagram for GUI::MetadataParser:
Common::XMLParser

Public Attributes

Common::HashMap< Common::String, MetadataGame, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo_gameInfo
 
Common::HashMap< Common::String, MetadataEngine, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo_engineInfo
 
Common::HashMap< Common::String, MetadataSeries, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo_seriesInfo
 
Common::HashMap< Common::String, MetadataCompany, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo_companyInfo
 
- Public Attributes inherited from Common::XMLParser
XMLKeyLayout_XMLkeys
 
ObjectPool< ParserNode, 8 > _nodePool
 

Protected Member Functions

 CUSTOM_XML_PARSER (MetadataParser)
 
 PARSER_END () bool parserCallback_games(ParserNode *node)
 
bool parserCallback_game (ParserNode *node)
 
bool parserCallback_engines (ParserNode *node)
 
bool parserCallback_engine (ParserNode *node)
 
bool parserCallback_series (ParserNode *node)
 
bool parserCallback_serie (ParserNode *node)
 
bool parserCallback_companies (ParserNode *node)
 
bool parserCallback_company (ParserNode *node)
 
bool closedKeyCallback (ParserNode *node) override
 
void cleanup () override
 
- Protected Member Functions inherited from Common::XMLParser
virtual void buildLayout ()=0
 
virtual bool keyCallback (ParserNode *node)=0
 
virtual bool textCallback (const String &val)
 
bool closeKey ()
 
bool parseKeyValue (String keyName)
 
bool parseActiveKey (bool closed)
 
bool parserError (const String &errStr)
 
bool skipSpaces ()
 
bool skipComments ()
 
virtual bool isValidNameChar (char c)
 
bool parseToken ()
 
bool parseIntegerKey (const char *key, int count,...)
 
bool parseIntegerKey (const String &keyStr, int count,...)
 
bool vparseIntegerKey (const char *key, int count, va_list args)
 
bool parseXMLHeader (ParserNode *node)
 
virtual bool handleUnknownKey (ParserNode *node)
 

Additional Inherited Members

- Public Types inherited from Common::XMLParser
enum  ParserState {
  kParserNeedHeader, kParserNeedKey, kParserNeedKeyName, kParserNeedPropertyName,
  kParserNeedPropertyOperator, kParserNeedPropertyValue, kParserError
}
 
typedef HashMap< String, XMLParser::XMLKeyLayout *, IgnoreCase_Hash, IgnoreCase_EqualToChildMap
 
- Public Member Functions inherited from Common::XMLParser
 XMLParser ()
 
ParserNodeallocNode ()
 
void freeNode (ParserNode *node)
 
bool loadFile (const Path &filename)
 
bool loadFile (const FSNode &node)
 
bool loadBuffer (const byte *buffer, uint32 size, DisposeAfterUse::Flag disposable=DisposeAfterUse::NO)
 
bool loadStream (SeekableReadStream *stream)
 
void close ()
 
bool parse ()
 
ParserNodegetActiveNode ()
 
ParserNodegetParentNode (ParserNode *child)
 
void setAllowText ()
 
- Protected Attributes inherited from Common::XMLParser
List< XMLKeyLayout * > _layoutList
 

Member Function Documentation

◆ PARSER_END()

GUI::MetadataParser::PARSER_END ( )
protected

Render info callbacks

◆ closedKeyCallback()

bool GUI::MetadataParser::closedKeyCallback ( ParserNode node)
overrideprotectedvirtual

The closed key callback function MAY be overloaded by inheriting classes to implement parser-specific functions.

The closedKeyCallback is issued once a key has been finished parsing, to let the parser verify that all the required subkeys, etc, were included.

Unlike the keyCallbacks(), there's just a closedKeyCallback() for all keys. Use "node->name" to distinguish between each key type.

Returns true if the key was properly closed, false otherwise. By default, all keys are properly closed.

Reimplemented from Common::XMLParser.

◆ cleanup()

void GUI::MetadataParser::cleanup ( )
overrideprotectedvirtual

Overload if your parser needs to support parsing the same file several times, so you can clean up the internal state of the parser before each parse.

Reimplemented from Common::XMLParser.


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