+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
/*
* Config_XMLReader.cpp
*
xmlFreeDoc(myXmlDoc);
}
-/*
- * 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.
- */
void Config_XMLReader::readAll()
{
xmlNodePtr aRoot = findRoot();
readRecursively(aRoot);
}
-/*
- * Allows to customize reader's behavior for a node. Virtual.
- * The default impl does nothing. (In debug mode prints
- * some info)
- */
void Config_XMLReader::processNode(xmlNodePtr theNode)
{
if (isNode(theNode, NODE_SOURCE, NULL)) {
}
}
-/*
- * Defines which nodes should be processed recursively. Virtual.
- * The default impl is to read all nodes.
- */
+void Config_XMLReader::cleanup(xmlNodePtr)
+{
+ // do nothing;
+}
+
bool Config_XMLReader::processChildren(xmlNodePtr aNode)
{
return true;
}
-/*
- *
- */
xmlNodePtr Config_XMLReader::findRoot()
{
if (myXmlDoc == NULL) {
return aRoot;
}
-/*
- * Calls processNode() for each child (for some - recursively)
- * of the given node.
- * \sa ReadAll()
- */
void Config_XMLReader::readRecursively(xmlNodePtr theParent)
{
if (!theParent)
if (processChildren(aNode)) {
readRecursively(aNode);
}
+ cleanup(aNode);
}
}
-/*
- * void* -> xmlNodePtr
- */
xmlNodePtr Config_XMLReader::node(void* theNode)
{
return static_cast<xmlNodePtr>(theNode);
std::shared_ptr<Config_ValidatorMessage>
aMessage(new Config_ValidatorMessage(aValidatoEvent, this));
std::string aValidatorId;
- std::list<std::string> aValidatorParameters;
- getValidatorInfo(theNode, aValidatorId, aValidatorParameters);
+ std::list<std::string> aParameters;
+ getParametersInfo(theNode, aValidatorId, aParameters);
aMessage->setValidatorId(aValidatorId);
- aMessage->setValidatorParameters(aValidatorParameters);
+ aMessage->setValidatorParameters(aParameters);
xmlNodePtr aFeatureOrWdgNode = theNode->parent;
if (isNode(aFeatureOrWdgNode, NODE_FEATURE, NULL)) {
aMessage->setFeatureId(getProperty(aFeatureOrWdgNode, _ID));
Events_Loop* aEvLoop = Events_Loop::loop();
std::shared_ptr<Config_SelectionFilterMessage> aMessage =
std::make_shared<Config_SelectionFilterMessage>(aFilterEvent, this);
- std::string aSelectionFilterId = getProperty(theNode, _ID);
+ std::string aSelectionFilterId;
+ std::list<std::string> aParameters;
+ getParametersInfo(theNode, aSelectionFilterId, aParameters);
aMessage->setSelectionFilterId(aSelectionFilterId);
+ aMessage->setFilterParameters(aParameters);
+
xmlNodePtr aFeatureOrWdgNode = theNode->parent;
if (isNode(aFeatureOrWdgNode, NODE_FEATURE, NULL)) {
aMessage->setFeatureId(getProperty(aFeatureOrWdgNode, _ID));