Pyrogenesis  trunk
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
CXeromyces Class Reference

#include <Xeromyces.h>

Inheritance diagram for CXeromyces:
Inheritance graph
[legend]
Collaboration diagram for CXeromyces:
Collaboration graph
[legend]

Public Member Functions

PSRETURN Load (const PIVFS &vfs, const VfsPath &filename, const std::string &validatorName="")
 Load from an XML file (with invisible XMB caching). More...
 
PSRETURN LoadString (const char *xml, const std::string &validatorName="")
 Load from an in-memory XML string (with no caching). More...
 
bool GenerateCachedXMB (const PIVFS &vfs, const VfsPath &sourcePath, VfsPath &archiveCachePath, const std::string &validatorName="")
 Convert the given XML file into an XMB in the archive cache. More...
 
- Public Member Functions inherited from XMBData
 XMBData ()
 
bool Initialise (const XMBStorage &doc)
 
XMBElement GetRoot () const
 
int GetElementID (const char *Name) const
 
int GetAttributeID (const char *Name) const
 
const char * GetElementString (const int ID) const
 
const char * GetAttributeString (const int ID) const
 
std::string_view GetElementStringView (const int ID) const
 
std::string_view GetAttributeStringView (const int ID) const
 

Static Public Member Functions

static void Startup ()
 Call once when initialising the program, to load libxml2. More...
 
static void Terminate ()
 Call once when shutting down the program, to unload libxml2. More...
 
static bool AddValidator (const PIVFS &vfs, const std::string &name, const VfsPath &grammarPath)
 
static bool ValidateEncoded (const std::string &name, const std::string &filename, const std::string &document)
 

Private Member Functions

PSRETURN ConvertFile (const PIVFS &vfs, const VfsPath &filename, const VfsPath &xmbPath, const std::string &validatorName)
 

Static Private Member Functions

static RelaxNGValidatorGetValidator (const std::string &name)
 NOTE: Callers MUST acquire the g_ValidatorCacheLock before calling this. More...
 

Private Attributes

XMBStorage m_Data
 

Friends

class TestXMBData
 
class XMBData
 

Member Function Documentation

◆ AddValidator()

bool CXeromyces::AddValidator ( const PIVFS vfs,
const std::string &  name,
const VfsPath grammarPath 
)
static

◆ ConvertFile()

PSRETURN CXeromyces::ConvertFile ( const PIVFS vfs,
const VfsPath filename,
const VfsPath xmbPath,
const std::string &  validatorName 
)
private

◆ GenerateCachedXMB()

bool CXeromyces::GenerateCachedXMB ( const PIVFS vfs,
const VfsPath sourcePath,
VfsPath archiveCachePath,
const std::string &  validatorName = "" 
)

Convert the given XML file into an XMB in the archive cache.

Returns the XMB path in archiveCachePath. Returns false on error.

◆ GetValidator()

RelaxNGValidator & CXeromyces::GetValidator ( const std::string &  name)
staticprivate

NOTE: Callers MUST acquire the g_ValidatorCacheLock before calling this.

◆ Load()

PSRETURN CXeromyces::Load ( const PIVFS vfs,
const VfsPath filename,
const std::string &  validatorName = "" 
)

Load from an XML file (with invisible XMB caching).

◆ LoadString()

PSRETURN CXeromyces::LoadString ( const char *  xml,
const std::string &  validatorName = "" 
)

Load from an in-memory XML string (with no caching).

◆ Startup()

void CXeromyces::Startup ( )
static

Call once when initialising the program, to load libxml2.

This should be run in the main thread, before any thread uses libxml2.

◆ Terminate()

void CXeromyces::Terminate ( )
static

Call once when shutting down the program, to unload libxml2.

◆ ValidateEncoded()

bool CXeromyces::ValidateEncoded ( const std::string &  name,
const std::string &  filename,
const std::string &  document 
)
static

Friends And Related Function Documentation

◆ TestXMBData

friend class TestXMBData
friend

◆ XMBData

friend class XMBData
friend

Member Data Documentation

◆ m_Data

XMBStorage CXeromyces::m_Data
private

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