diff --git a/scenarios/tests/StatechartProfilesTestArmar3Simulation/config/RobotControl.cfg b/scenarios/tests/StatechartProfilesTestArmar3Simulation/config/RobotControl.cfg index 01fcafba4fec1e48dbcca6eb8abde6ec4582352c..6c8b174ef8ed1ea4d7a1aee4bf64f939d87bee4b 100644 --- a/scenarios/tests/StatechartProfilesTestArmar3Simulation/config/RobotControl.cfg +++ b/scenarios/tests/StatechartProfilesTestArmar3Simulation/config/RobotControl.cfg @@ -112,6 +112,6 @@ ArmarX.RobotControlStateOfferer.proxyName = "StatechartProfilesTestGroupRemoteSt # - Case sensitivity: no # - Required: no # ArmarX.RobotControlStateOfferer.ObjectName = "" - +ArmarX.RobotControlStateOfferer.XMLStatechartProfile = "Armar3Simulation" diff --git a/scenarios/tests/StatechartProfilesTestArmar3a/config/RobotControl.cfg b/scenarios/tests/StatechartProfilesTestArmar3a/config/RobotControl.cfg index 01fcafba4fec1e48dbcca6eb8abde6ec4582352c..0de35bad4f0b589d4eee3c528a38b196d3119eeb 100644 --- a/scenarios/tests/StatechartProfilesTestArmar3a/config/RobotControl.cfg +++ b/scenarios/tests/StatechartProfilesTestArmar3a/config/RobotControl.cfg @@ -113,5 +113,5 @@ ArmarX.RobotControlStateOfferer.proxyName = "StatechartProfilesTestGroupRemoteSt # - Required: no # ArmarX.RobotControlStateOfferer.ObjectName = "" - +ArmarX.XMLStateComponent.XMLStatechartProfile = "Armar3a" diff --git a/source/RobotAPI/statecharts/operations/RobotControl.cpp b/source/RobotAPI/statecharts/operations/RobotControl.cpp index 47c178faafd6d44ddb8c597dc59cad5fdb4085c2..d99d262ac3203a9a9037f747b80cc057b02f12e8 100644 --- a/source/RobotAPI/statecharts/operations/RobotControl.cpp +++ b/source/RobotAPI/statecharts/operations/RobotControl.cpp @@ -80,7 +80,7 @@ namespace armarx robotFunctionalState = stateList.begin()->second; callRemoteState(stateId, StringVariantContainerBaseMap()); - const std::string proxyName = getProperty<std::string>("proxyName").getValue(); + const std::string proxyName = getProperty<std::string>("XMLStatechartProfile").getValue() + getProperty<std::string>("proxyName").getValue(); const std::string stateName = getProperty<std::string>("stateName").getValue(); ARMARX_IMPORTANT << VAROUT(proxyName) << VAROUT(stateName); diff --git a/source/RobotAPI/statecharts/operations/RobotControl.h b/source/RobotAPI/statecharts/operations/RobotControl.h index c0d2cb409b03da05d24c8ea87e18ee8d7ee16949..fa875b00e5da55fc8a6e58a4232bf481f4af342d 100644 --- a/source/RobotAPI/statecharts/operations/RobotControl.h +++ b/source/RobotAPI/statecharts/operations/RobotControl.h @@ -38,6 +38,8 @@ namespace armarx RobotControlContextProperties(std::string prefix): StatechartContextPropertyDefinitions(prefix) { + + defineOptionalProperty<std::string>("XMLStatechartProfile", "", "Name of the statechart profile to be used. This is used as prefix to the proxyName. So GraspGroupRemoteStateOfferer will be Armar3aGraspGroupRemoteStateOfferer"); defineOptionalProperty<std::string>("proxyName", "", "name of the proxy to load"); defineOptionalProperty<std::string>("stateName", "", "name of the state to load"); }