Go to the documentation of this file.
26 #include <condition_variable>
31 #include <ArmarXCore/interface/components/SimpleStatechartExecutorInterface.h>
32 #include <ArmarXCore/interface/statechart/RemoteStateOffererIce.h>
47 defineOptionalProperty<std::string>(
48 "PackagesForVariantLibraries",
49 "ArmarXCore, ArmarXGui, RobotAPI",
50 "Comma-seperated list of packages that are used for loading nessecary libraries "
71 virtual public armarx::SimpleStatechartExecutorInterface
78 const Ice::Current&)
override;
80 const std::string& stateName,
82 const Ice::Current&)
override;
85 StatechartExecutionResult
90 const Ice::Current&)
override;
95 return "SimpleStatechartExecutor";
105 void statechartTask();
107 checkIfLibraryNeedsToBeLoaded(
const StateParameterIceBasePtr parameter)
const;
108 bool isCurrentStateIdValid()
const;
111 mutable std::mutex _finishedMutex;
112 mutable std::condition_variable _finishedCondition;
115 StatechartExecutionResult _lastResult;
120 RemoteStateOffererInterfacePrx _prx;
123 Ice::StringSeq _packages;
125 std::map<std::string, DynamicLibraryPtr> _loadedDynamicLibraries;
StringVariantContainerBaseMap getSetOutputParameters(const Ice::Current &) override
std::string getDefaultName() const override
Retrieve default name of component.
void ensureVariantLibrariesAreLoaded(const StateParameterMap &inputArguments, const Ice::Current &) override
bool hasExecutionFinished(const Ice::Current &) override
void stopImmediatly(const Ice::Current &) override
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
bool startStatechart(const std::string &proxyName, const std::string &stateName, const StateParameterMap &inputArguments, const Ice::Current &) override
void preloadLibrariesFromHumanNames(const StringList &typeNames, const Ice::Current &) override
QMap< QString, StateParameterPtr > StateParameterMap
StatechartExecutionResult waitUntilStatechartExecutionIsFinished(const Ice::Current &) override
SimpleStatechartExecutorPropertyDefinitions(std::string prefix)
void onExitComponent() override
Hook for subclass.
Baseclass for all ArmarX ManagedIceObjects requiring properties.
StateParameterMap getOutputParameters(const Ice::Current &) override
This component provides interface functions to execute a statechart, stop the currently running state...
Default component property definition container.
std::shared_ptr< VariantInfo > VariantInfoPtr
void onConnectComponent() override
Pure virtual hook for the subclass.
void onInitComponent() override
Pure virtual hook for the subclass.
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Creates the property definition container.
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::vector< std::string > StringList