From 70d9e46c2d839e3f72d3c19f9ea1eee306ede8e4 Mon Sep 17 00:00:00 2001
From: aschwinn <al.schwinn@gsi.de>
Date: Mon, 12 Jun 2017 11:43:52 +0200
Subject: [PATCH] Bug 1381 - Remove @synchro and @mode to reduce complexity for
 the user

---
 silecs-cli-client/src/silecs-cli-client/main.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/silecs-cli-client/src/silecs-cli-client/main.cpp b/silecs-cli-client/src/silecs-cli-client/main.cpp
index bd713ad..f63b4de 100755
--- a/silecs-cli-client/src/silecs-cli-client/main.cpp
+++ b/silecs-cli-client/src/silecs-cli-client/main.cpp
@@ -157,13 +157,13 @@ Silecs::Cluster* getSilecsClusterbyDevice(std::string deviceName, Silecs::XMLPar
 
 std::string getSilecsBlockNamebyRegisterName(std::string registerName, Silecs::XMLParser &paramParser)
 {
-	Silecs::ElementXML blockNode = paramParser.getFirstElementFromXPath("/SILECS-Param/SILECS-Mapping/SILECS-Class/Block[Register/@name='"+ registerName + "']");
+	Silecs::ElementXML blockNode = paramParser.getFirstElementFromXPath("/SILECS-Param/SILECS-Mapping/SILECS-Class/*[*/@name='"+ registerName + "']");
 	return blockNode.getAttribute("name");
 }
 
 bool isRegisterInBlock(std::string registerName, std::string blockName,  Silecs::XMLParser &paramParser)
 {
-	Silecs::ElementXML blockNode = paramParser.getFirstElementFromXPath("/SILECS-Param/SILECS-Mapping/SILECS-Class/Block[Register/@name='"+ registerName + "']");
+	Silecs::ElementXML blockNode = paramParser.getFirstElementFromXPath("/SILECS-Param/SILECS-Mapping/SILECS-Class/*[*/@name='"+ registerName + "']");
 	if( blockName == blockNode.getAttribute("name"))
 		return true;
 	return false;
@@ -186,7 +186,7 @@ std::vector<std::string> getBlockNamesFromDeviceName(std::string deviceName,  Si
 	std::vector< std::string > blockNames;
 	Silecs::ElementXML classNode = paramParser.getFirstElementFromXPath("/SILECS-Param/SILECS-Mapping/SILECS-Class[Instance/@label='"+ deviceName + "']");
 	std::string className = classNode.getAttribute("name");
-	boost::ptr_vector<Silecs::ElementXML> blocks = paramParser.getElementsFromXPath_throwIfEmpty("/SILECS-Param/SILECS-Mapping/SILECS-Class[@name='"+ className + "']/Block");
+	boost::ptr_vector<Silecs::ElementXML> blocks = paramParser.getElementsFromXPath_throwIfEmpty("/SILECS-Param/SILECS-Mapping/SILECS-Class[@name='"+ className + "']/*[ name()='Acquisition-Block' or name()='Setting-Block' or name()='Command-Block']");
 	boost::ptr_vector<Silecs::ElementXML>::iterator block;
 	for( block = blocks.begin();block!= blocks.end(); block++)
 	{
@@ -201,7 +201,7 @@ std::vector<std::string> getRegisterNamesFromDeviceBlockName(std::string deviceN
 	std::vector< std::string > registerNames;
 	Silecs::ElementXML classNode = paramParser.getFirstElementFromXPath("/SILECS-Param/SILECS-Mapping/SILECS-Class[Instance/@label='"+ deviceName + "']");
 	std::string className = classNode.getAttribute("name");
-	boost::ptr_vector<Silecs::ElementXML> registerNodes = paramParser.getElementsFromXPath_throwIfEmpty("/SILECS-Param/SILECS-Mapping/SILECS-Class[@name='"+ className + "']/Block[@name='"+ blockName + "']/Register");
+	boost::ptr_vector<Silecs::ElementXML> registerNodes = paramParser.getElementsFromXPath_throwIfEmpty("/SILECS-Param/SILECS-Mapping/SILECS-Class[@name='"+ className + "']/*[@name='"+ blockName + "']/*[ name()='Acquisition-Register' or name()='Setting-Register' or name()='Volatile-Register']");
 	boost::ptr_vector<Silecs::ElementXML>::iterator registerNode;
 	for( registerNode = registerNodes.begin();registerNode!= registerNodes.end(); registerNode++)
 	{
-- 
GitLab