diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml b/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml index 48baf4ecf018d470ff57d6bfc11ed9011882dbb4..8f7d00053ef37819464e9d1b7bc4171cf4caf72b 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/ObjectMemoryGroup.scgxml @@ -4,7 +4,7 @@ <Proxy value="RobotAPIInterfaces.MemoryNameSystem"/> </Proxies> <Folder basename="test"> - <State filename="RequestObjectsTest.xml"/> + <State filename="RequestObjectsTest.xml" visibility="public"/> </Folder> <State filename="RequestObjects.xml" visibility="public"/> </StatechartGroup> diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp index 2142038a7b9b501ceb397ac914e91e6fc52f4cbb..562ddabd56b6d07428f8ce2b386fa682ac95dd1f 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.cpp @@ -28,6 +28,12 @@ namespace armarx::ObjectMemoryGroup void RequestObjects::run() { + if (not in.getEnable()) + { + emitSuccess(); + return; + } + using Reader = armarx::armem::obj::instance::Reader; const std::string provider = in.isProviderSet() ? in.getProvider() : ""; diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml index 12a5c8bf4360f3c743dfa411a1aee51a396426b9..8b32c20109a1bee77bcd3ee1203716d3abb02f0d 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/RequestObjects.xml @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <State version="1.2" name="RequestObjects" uuid="9F09FB2F-CC0C-4B8A-A716-F130E04A7230" width="800" height="600" type="Normal State"> <InputParameters> + <Parameter name="Enable" type="::armarx::BoolVariantData" docType="bool" optional="no"> + <DefaultValue value='{"type":"::armarx::SingleVariantBase","variant":{"typeName":"::armarx::BoolVariantData","value":true}}' docValue="True"/> + </Parameter> <Parameter name="ObjectIds" type="::armarx::SingleTypeVariantListBase(::armarx::StringVariantData)" docType="List(string)" optional="no"/> <Parameter name="Provider" type="::armarx::StringVariantData" docType="string" optional="yes"/> <Parameter name="RelativeTimeoutMilliseconds" type="::armarx::IntVariantData" docType="int" optional="no"/> diff --git a/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml b/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml index fa73294aa874b1dc997a182169fe48eb2cee4c3c..edb16e98297feb19d1769ca6c54ab28901da7ad1 100644 --- a/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml +++ b/source/RobotAPI/statecharts/ObjectMemoryGroup/test/RequestObjectsTest.xml @@ -14,9 +14,9 @@ <OutputParameters/> <LocalParameters/> <Substates> - <EndState name="Failure" event="Failure" left="363.333" top="140.056" boundingSquareSize="99.6636"/> + <EndState name="Failure" event="Failure" left="363.167" top="140.056" boundingSquareSize="99.6636"/> <LocalState name="RequestObjects" refuuid="9F09FB2F-CC0C-4B8A-A716-F130E04A7230" left="114.167" top="196.278" boundingSquareSize="99.6636"/> - <EndState name="Success" event="Success" left="363.333" top="250.53" boundingSquareSize="99.6636"/> + <EndState name="Success" event="Success" left="363.167" top="250.278" boundingSquareSize="99.6636"/> </Substates> <Events> <Event name="Failure">