SHAPER  9.12.0
Config_ValidatorReader Class Reference

Base class for all libxml readers. Provides high-level API for all xml operations. More...

Inheritance diagram for Config_ValidatorReader:
Inheritance graph

Public Member Functions

CONFIG_EXPORT Config_ValidatorReader (const std::string &theXmlFile, bool isXMLContent=false)
 
CONFIG_EXPORT void setFeatureId (const std::string &theId)
 Set feature ID for cases when XML for validators is parsed from memory. More...
 
CONFIG_EXPORT void readAll ()
 
CONFIG_EXPORT xmlNodePtr findRoot (const std::string theDocumentPath="")
 
CONFIG_EXPORT const char * encoding () const
 

Static Public Member Functions

static CONFIG_EXPORT std::string resourcesConfigFile ()
 
static CONFIG_EXPORT std::string pluginConfigFile ()
 
static CONFIG_EXPORT std::string findConfigFile (const std::string theFileName, const int theFindIndex=0)
 Checks all possible paths to configuration file given Uses theFindIndex if several solutions can be found (this is the number of solution to find) More...
 

Protected Member Functions

virtual void processNode (xmlNodePtr aNode)
 Allows to customize reader's behavior for a node. Virtual. The default implementation process "source" and "validator" nodes. More...
 
virtual bool processChildren (xmlNodePtr aNode)
 Defines which nodes should be processed recursively. Virtual. The default impl is to read all nodes. More...
 
virtual void cleanup (xmlNodePtr theNode)
 
void processValidator (xmlNodePtr theNode)
 Retrieves all the necessary info from the validator node. Sends ValidatorLoaded event. More...
 
void readRecursively (xmlNodePtr theParent)
 
xmlNodePtr node (void *theNode)
 void* -> xmlNodePtr More...
 
std::string getNodeName (xmlNodePtr theNode)
 Gets xml node name. More...
 
void storeAttribute (xmlNodePtr theNode, const char *theNodeAttribute, bool doClean=false)
 Stores an attribute in internal map for later use. More...
 
std::string restoreAttribute (xmlNodePtr theNode, const char *theNodeAttribute)
 Restores an attribute from internal map. More...
 
std::string restoreAttribute (const char *theNodeName, const char *theNodeAttribute)
 Restores an attribute from internal map. More...
 
bool cleanupAttribute (xmlNodePtr theNode, const char *theNodeAttribute)
 Cleanups attribute from cache. More...
 
bool cleanupAttribute (const char *theNodeName, const char *theNodeAttribute)
 Cleanups attribute from cache. More...
 

Protected Attributes

std::string myDocumentPath
 Path to the xml document. More...
 
xmlDocPtr myXmlDoc
 Root of the xml document. More...
 
std::string myRootFileName
 name of the root file More...
 
std::map< std::string, std::string > myCachedAttributes
 A map to store all parent's attributes. More...
 
bool isFromMemory
 

Detailed Description

Base class for all libxml readers. Provides high-level API for all xml operations.

Constructor & Destructor Documentation

◆ Config_ValidatorReader()

Config_ValidatorReader::Config_ValidatorReader ( const std::string &  theXmlFile,
bool  isXMLContent = false 
)

Constructor

Parameters
theXmlFile- full path to the xml file which will be processed by the reader

Member Function Documentation

◆ setFeatureId()

CONFIG_EXPORT void Config_ValidatorReader::setFeatureId ( const std::string &  theId)
inline

Set feature ID for cases when XML for validators is parsed from memory.

◆ processNode()

void Config_ValidatorReader::processNode ( xmlNodePtr  aNode)
protectedvirtual

Allows to customize reader's behavior for a node. Virtual. The default implementation process "source" and "validator" nodes.

Reimplemented from Config_XMLReader.

◆ processChildren()

bool Config_ValidatorReader::processChildren ( xmlNodePtr  aNode)
protectedvirtual

Defines which nodes should be processed recursively. Virtual. The default impl is to read all nodes.

Reimplemented from Config_XMLReader.

◆ cleanup()

void Config_ValidatorReader::cleanup ( xmlNodePtr  theNode)
protectedvirtual

Cleans the cached information about parent feature or attribute (widget)

Reimplemented from Config_XMLReader.

◆ processValidator()

void Config_ValidatorReader::processValidator ( xmlNodePtr  theNode)
protected

Retrieves all the necessary info from the validator node. Sends ValidatorLoaded event.

◆ readAll()

void Config_XMLReader::readAll

Read all nodes in associated xml file, recursively if processChildren(xmlNode) is true for the xmlNode. For each read node the processNode will be called.

◆ resourcesConfigFile()

std::string Config_XMLReader::resourcesConfigFile ( )
staticinherited

Returns a path to resource files (created from ROOT_DIR environment variable)

Returns
string value

◆ pluginConfigFile()

std::string Config_XMLReader::pluginConfigFile ( )
staticinherited

Returns a path to the plugins.xml file (created from ROOT_DIR environment variable)

Returns
string value

◆ findRoot()

xmlNodePtr Config_XMLReader::findRoot ( const std::string  theDocumentPath = "")
inherited

Returns xmlNodePtr to the root of reader's document or NULL if not found. If the path to the document to read is empty, uses myDocumentPath.

◆ findConfigFile()

std::string Config_XMLReader::findConfigFile ( const std::string  theFileName,
const int  theFindIndex = 0 
)
staticinherited

Checks all possible paths to configuration file given Uses theFindIndex if several solutions can be found (this is the number of solution to find)

◆ readRecursively()

void Config_XMLReader::readRecursively ( xmlNodePtr  theParent)
protectedinherited

Calls processNode() for each child (for some - recursively) of the given node.

See also
ReadAll()

◆ node()

xmlNodePtr Config_XMLReader::node ( void *  theNode)
protectedinherited

void* -> xmlNodePtr

◆ getNodeName()

std::string Config_XMLReader::getNodeName ( xmlNodePtr  theNode)
protectedinherited

Gets xml node name.

◆ storeAttribute()

void Config_XMLReader::storeAttribute ( xmlNodePtr  theNode,
const char *  theNodeAttribute,
bool  doClean = false 
)
protectedinherited

Stores an attribute in internal map for later use.

Key is "Node_Name:Node_Attribute" and value is getProperty(theNodeAttribute)

◆ restoreAttribute() [1/2]

std::string Config_XMLReader::restoreAttribute ( xmlNodePtr  theNode,
const char *  theNodeAttribute 
)
protectedinherited

Restores an attribute from internal map.

◆ restoreAttribute() [2/2]

std::string Config_XMLReader::restoreAttribute ( const char *  theNodeName,
const char *  theNodeAttribute 
)
protectedinherited

Restores an attribute from internal map.

◆ cleanupAttribute() [1/2]

bool Config_XMLReader::cleanupAttribute ( xmlNodePtr  theNode,
const char *  theNodeAttribute 
)
protectedinherited

Cleanups attribute from cache.

◆ cleanupAttribute() [2/2]

bool Config_XMLReader::cleanupAttribute ( const char *  theNodeName,
const char *  theNodeAttribute 
)
protectedinherited

Cleanups attribute from cache.

Field Documentation

◆ myDocumentPath

std::string Config_XMLReader::myDocumentPath
protectedinherited

Path to the xml document.

◆ myXmlDoc

xmlDocPtr Config_XMLReader::myXmlDoc
protectedinherited

Root of the xml document.

◆ myRootFileName

std::string Config_XMLReader::myRootFileName
protectedinherited

name of the root file

◆ myCachedAttributes

std::map<std::string, std::string> Config_XMLReader::myCachedAttributes
protectedinherited

A map to store all parent's attributes.

The key has from "Node_Name:Node_Attribute"