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 XMBFile
 XMBFile ()
 
bool Initialise (const char *FileData)
 
XMBElement GetRoot () const
 
int GetElementID (const char *Name) const
 
int GetAttributeID (const char *Name) const
 
std::string GetElementString (const int ID) const
 
std::string GetAttributeString (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::wstring &filename, const std::string &document)
 

Private Member Functions

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

Static Private Member Functions

static RelaxNGValidatorGetValidator (const std::string &name)
 NOTE: Callers MUST acquire the g_ValidatorCacheLock before calling this. More...
 
static PSRETURN CreateXMB (const xmlDocPtr doc, WriteBuffer &writeBuffer)
 

Private Attributes

shared_ptr< u8m_XMBBuffer
 

Friends

class TestXeroXMB
 

Member Function Documentation

bool CXeromyces::AddValidator ( const PIVFS vfs,
const std::string &  name,
const VfsPath grammarPath 
)
static
PSRETURN CXeromyces::ConvertFile ( const PIVFS vfs,
const VfsPath filename,
const VfsPath xmbPath,
const std::string &  validatorName 
)
private
PSRETURN CXeromyces::CreateXMB ( const xmlDocPtr  doc,
WriteBuffer writeBuffer 
)
staticprivate
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.

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

NOTE: Callers MUST acquire the g_ValidatorCacheLock before calling this.

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

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

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

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

bool CXeromyces::ReadXMBFile ( const PIVFS vfs,
const VfsPath filename 
)
private
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.

void CXeromyces::Terminate ( )
static

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

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

Friends And Related Function Documentation

friend class TestXeroXMB
friend

Member Data Documentation

shared_ptr<u8> CXeromyces::m_XMBBuffer
private

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