SHAPER  9.12.0
Config_WidgetReader Class Reference

Class that dumps xml definitions of widgets for further processing in the WidgetFactory. More...

Inheritance diagram for Config_WidgetReader:
Inheritance graph

Public Member Functions

CONFIG_EXPORT Config_WidgetReader (const std::string &theXmlFile)
 
CONFIG_EXPORT std::string featureWidgetCfg (const std::string &theFeatureName)
 Extract feature's widget configuration from local cache, stored on node processing. More...
 
CONFIG_EXPORT std::string featureDescription (const std::string &theFeatureName)
 Extract feature's description from local cache, stored on node processing. 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

void processNode (xmlNodePtr theNode)
 Overloaded method. Defines how to process each node. More...
 
bool processChildren (xmlNodePtr theNode)
 Overloaded method. Defines if the given node should be parsed recursively. More...
 
std::string dumpNode (xmlNodePtr theNode)
 Extracts xml definition of the given node and it's children. More...
 
void resolveSourceNodes (xmlNodePtr theNode)
 Replace all "source" nodes with their content (used before dumping nodes) More...
 
virtual void cleanup (xmlNodePtr aNode)
 
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

Class that dumps xml definitions of widgets for further processing in the WidgetFactory.

Constructor & Destructor Documentation

◆ Config_WidgetReader()

Config_WidgetReader::Config_WidgetReader ( const std::string &  theXmlFile)

Constructor

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

Member Function Documentation

◆ featureWidgetCfg()

std::string Config_WidgetReader::featureWidgetCfg ( const std::string &  theFeatureName)

Extract feature's widget configuration from local cache, stored on node processing.

◆ featureDescription()

std::string Config_WidgetReader::featureDescription ( const std::string &  theFeatureName)

Extract feature's description from local cache, stored on node processing.

◆ processNode()

void Config_WidgetReader::processNode ( xmlNodePtr  theNode)
protectedvirtual

Overloaded method. Defines how to process each node.

Reimplemented from Config_XMLReader.

◆ processChildren()

bool Config_WidgetReader::processChildren ( xmlNodePtr  theNode)
protectedvirtual

Overloaded method. Defines if the given node should be parsed recursively.

Reimplemented from Config_XMLReader.

◆ dumpNode()

std::string Config_WidgetReader::dumpNode ( xmlNodePtr  theNode)
protected

Extracts xml definition of the given node and it's children.

◆ resolveSourceNodes()

void Config_WidgetReader::resolveSourceNodes ( xmlNodePtr  theNode)
protected

Replace all "source" nodes with their content (used before dumping nodes)

◆ 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

◆ readAll()

void Config_XMLReader::readAll ( )
inherited

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.

◆ 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)

◆ cleanup()

void Config_XMLReader::cleanup ( xmlNodePtr  aNode)
protectedvirtualinherited

This method gives an ability to finalize processing of a node, when reader is about to leave the node (node and all it's children are processed)

Reimplemented in Config_ValidatorReader, and Config_FeatureReader.

◆ 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"