|
RobotControl is used for dynamically loading and starting robot programs. More...
#include <RobotAPI/statecharts/operations/RobotControl.h>
Public Member Functions | |
PropertyDefinitionsPtr | createPropertyDefinitions () override |
std::string | getStateOffererName () const override |
Implement this function to specify the RemoteStateOfferer prefix. More... | |
void | hardReset (const Ice::Current &=Ice::emptyCurrent) override |
void | onConnectRemoteStateOfferer () override |
Virtual function, in which the user can fetch some proxies. More... | |
void | onExitRemoteStateOfferer () override |
Virtual function, in which the user can implement some clean up. More... | |
void | onInitRemoteStateOfferer () override |
Pure virtual function, in which the states must be added, that should be remote-accessable. More... | |
void | startRobotStatechart () |
Public Member Functions inherited from RemoteStateOfferer< StatechartContext > | |
std::string | getDefaultName () const override |
Retrieve default name of component. More... | |
void | onConnectStatechart () override |
onConnectStatechart is called before armarx::StatechartContext::startStatechart() and after armarx::StatechartContext::onConnectStatechartContext() More... | |
void | onExitStatechart () override |
onExitStatechart can be implemented by subclasses More... | |
void | onInitStatechart () override |
onInitStatechart this method is called when the statechart is started. More... | |
void | waitUntilComponentStarted () override |
Public Member Functions inherited from RemoteStateOffererBase | |
RemoteStatePtr | addDynamicRemoteState (std::string instanceName) override |
Overridden so that the user cannot use it. More... | |
RemoteStatePtr | addRemoteState (std::string stateName, std::string proxyName, std::string instanceName) override |
Overridden so that the user cannot use it. More... | |
bool | breakActiveSubstateRemotely (int stateId, const EventBasePtr &evt, const ::Ice::Current &context=Ice::emptyCurrent) override |
bool | breakRemoteState (int stateId, const EventBasePtr &evt, const ::Ice::Current &context=Ice::emptyCurrent) override |
void | callRemoteState (int stateId, const StringVariantContainerBaseMap &properties, const Ice::Current &context=Ice::emptyCurrent) override |
int | createRemoteStateInstance (const std::string &stateName, const RemoteStateIceBasePrx &remoteStatePrx, const std::string &parentStateItentifierStr, const std::string &instanceName, const Ice::Current &context=Ice::emptyCurrent) override |
CreateRemoteStateInstanceOutput | createRemoteStateInstanceNew (CreateRemoteStateInstanceInput const &input, Ice::Current const &context) override |
void | exitRemoteState (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override |
StateIdNameMap | getAvailableStateInstances (const ::Ice::Current &context=Ice::emptyCurrent) override |
Ice::StringSeq | getAvailableStates (const ::Ice::Current &context=Ice::emptyCurrent) override |
std::map< int, StateBasePtr > | getChildStatesByName (int parentId, std::string stateName) |
StateBasePtr | getGlobalInstancePtr (int globalId) const |
RemoteStateData | getInstance (int stateId) |
StateParameterMap | getRemoteInputParameters (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) override |
StateParameterMap | getRemoteInputParametersById (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override |
StateParameterMap | getRemoteOutputParameters (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) override |
StateParameterMap | getRemoteOutputParametersById (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override |
StateIceBasePtr | getStatechart (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) override |
StateIceBasePtr | getStatechartInstance (int stateId, const Ice::Current &=Ice::emptyCurrent) override |
StateIceBasePtr | getStatechartInstanceByGlobalIdStr (const std::string &globalStateIdStr, const Ice::Current &=Ice::emptyCurrent) override |
StateIceBasePtr | getStatechartInstanceByGlobalIdStrRecursive (const std::string &globalStateIdStr, StateBasePtr state, int &stateCounter) |
virtual StateBasePtr | getStatePtr (const std::string &stateName) const |
bool | hasActiveSubstateRemote (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override |
bool | hasSubstatesRemote (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) const override |
void | initState (State &state) |
bool | isHostOfStateByGlobalIdStr (const std::string &globalStateIdStr, const Ice::Current &=Ice::emptyCurrent) override |
bool | isRemoteStateFinished (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override |
void | issueEvent (int receivingStateId, const EventBasePtr &evt, const Ice::Current &=Ice::emptyCurrent) override |
void | issueEventWithGlobalIdStr (const std::string &globalStateIdStr, const EventBasePtr &evt, const Ice::Current &=Ice::emptyCurrent) override |
void | notifyEventBufferedDueToUnbreakableStateRemote (int stateId, bool eventBuffered, const ::Ice::Current &context=Ice::emptyCurrent) override |
void | onConnectStatechartImpl () |
void | onExitStatechartImpl () |
StateIceBasePtr | refetchRemoteSubstates (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override |
void | removeInstance (int stateId, const Ice::Current &=Ice::emptyCurrent) override |
void | run () override |
Virtual function, that can be reimplemented to calculate complex operations. More... | |
void | updateGlobalStateIdRecursive (int stateId, const std::string &parentId, const Ice::Current &context=Ice::emptyCurrent) override |
Public Member Functions inherited from State | |
StateBasePtr | addState (StateBasePtr pNewState) |
template<> | |
StatePtr | addState (std::string const &stateName) |
template<> | |
StatePtr | addState (std::string const &stateName) |
template<class derivedState > | |
IceInternal::Handle< derivedState > | addState (std::string const &stateName="") |
Function to add a new substate to this state. Should be called in the defineState()-function. More... | |
bool | addToInput (const std::string &key, const ContainerType &type, bool optional, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) |
Adds a key,type-pair to the input parameters. More... | |
bool | addToInput (const std::string &key, VariantTypeId type, bool optional, VariantPtr defaultValue=VariantPtr()) |
Adds a new parameter list to the input parameters with a specific type. More... | |
bool | addToLocal (const std::string &key, const ContainerType &type, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) |
Adds a new parameter list to the local parameters with a specific type. More... | |
bool | addToLocal (const std::string &key, VariantTypeId type, VariantPtr defaultValue=VariantPtr()) |
Adds a key,type-pair to the local parameters. More... | |
bool | addToOutput (const std::string &key, const ContainerType &type, bool optional) |
Adds a new parameter list to the output parameters with a specific type. More... | |
bool | addToOutput (const std::string &key, VariantTypeId type, bool optional) |
Adds a key,type-pair to the output parameters. More... | |
TransitionIceBase & | addTransition (EventPtr event, StateIceBasePtr sourceState, StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr) |
template<class EventType > | |
TransitionIceBase & | addTransition (StateIceBasePtr sourceState, StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr) |
Function to add a new transition between to substates to this state. More... | |
template<class EventType > | |
TransitionIceBase & | addTransitionFromAllStates (StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr) |
Function to add a new transition from all substates to destinationState . More... | |
void | cancelSubstates () |
Use this function in the onEnter() function, if you want to avoid that the substates (i.e. More... | |
StateBasePtr | clone () const override |
Generates a new copy of this state with the same statename, substates, transitions, overidden functions etc. More... | |
StateBasePtr | createEmptyCopy () const override |
Generates a new copy of this state with the same overidden functions. stateName, substates, transition etc. are not set. More... | |
std::string | getGlobalIdString () const |
Getter for the global state identifier string. More... | |
unsigned int | getId () const |
Returns an id to this state, that is guaranteed to be unique in this process. More... | |
StateBasePtr | getInitState () const |
Getter for the initial state. The initial state is automatically entered, when this state is entered. More... | |
template<typename T > | |
std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > | getInput (const std::string &key) const |
getInput can be used to access a specific input parameter. More... | |
template<typename T > | |
std::enable_if_t< !(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > | getInput (const std::string &key) const |
getInput can be used to access a specific input parameter. More... | |
VariantPtr | getInput (const std::string &key) const |
getInput can be used to access a specific input parameter. More... | |
StateParameterMap | getInputParameters () override |
Returns a new copy of the inputparameters-dictionary, so that the caller cannot modify them (const won't work due to pointers). More... | |
template<typename T > | |
std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > | getLocal (const std::string &key) const |
getLocal can be used to access a specific input parameter. More... | |
template<typename T > | |
std::enable_if_t< !(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > | getLocal (const std::string &key) const |
getLocal can be used to access a specific input parameter. More... | |
VariantContainerBasePtr | getLocalContainer (std::string const &key) |
StateParameterMap & | getLocalParameters () |
Getter for the local parameter map. More... | |
template<typename T > | |
std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > | getOutput (const std::string &key) const |
getOutput can be used to access a specific input parameter. More... | |
template<typename T > | |
std::enable_if_t< !(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), T > | getOutput (const std::string &key) const |
getOutput can be used to access a specific input parameter. More... | |
StateParameterMap & | getOutputParameters () override |
getter function to get the map of output parameters More... | |
void | inheritInputFromSubstate (std::string stateName) |
bool | init (StatechartContextInterface *context, StatechartManager *manager) |
Function to initialize this state. Must be called in the highest level of the hierarchy - and only there. More... | |
bool | isInputParameterSet (const std::string &key) const |
Checks whether a given input parameter is set or not. More... | |
bool | isLocalParameterSet (const std::string &key) const |
bool | isOutputParameterSet (const std::string &key) const |
bool | isUnbreakable () const |
StateBasePtr | setInitState (StateBasePtr initState, ParameterMappingPtr initialStateMapping=ParameterMappingPtr()) |
Sets the initial substate of this state. More... | |
void | setInput (std::string const &key, const Variant &value) |
setInput() sets an input parameter. More... | |
void | setInput (std::string const &key, const VariantContainerBase &valueList) |
setInput() sets an input parameter list. More... | |
void | setLocal (std::string const &key, const Variant &value) |
setLocal() sets a local parameter. More... | |
void | setLocal (std::string const &key, const VariantContainerBase &valueList) |
setLocal() sets a local parameter list. More... | |
void | setOutput (std::string const &key, const Variant &value) |
setOuput() sets an output parameter of this state. More... | |
void | setOutput (std::string const &key, const VariantContainerBase &valueList) |
setOuput() sets an output parameter LIST of this state. More... | |
void | setStateClassNameFromTypeName (const std::string &typeName) |
void | setStateName (const std::string &newName) |
void | setUnbreakable (bool setUnbreakable=true) |
With this function the state can be made unbreakable. More... | |
void | setUseRunFunction (bool useRunFuntion) |
setUseRunFunction can be used to configurate whether the thread with the async. More... | |
Public Member Functions inherited from StateUtility | |
template<class EventClass > | |
EventPtr | createEvent () |
Utility function to create a new Event. More... | |
EventPtr | createEvent (const std::string &eventName, const StringVariantContainerBaseMap &properties=StringVariantContainerBaseMap()) |
Utility function to create a new Event. More... | |
Public Member Functions inherited from StateController | |
bool | __applyMappings (const StateControllerPtr &srcState, const TransitionIceBase &t, const EventPtr &event, TransitionError &error) |
Apply the mappings during a transitions. More... | |
virtual bool | __breakActiveSubstate (const EventPtr event) |
bool | __checkExistenceOfTransition (const TransitionIceBase &transition) |
virtual void | __enqueueEvent (const EventPtr event) |
virtual void | __finalize (const EventPtr event) |
Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteStateWrapper can override it. More... | |
bool | __findValidTransition (const EventPtr &event, const StateIceBasePtr &sourceState, TransitionIceBase &resultTransition, TransitionError &error) const |
StateControllerPtr | __getParentState () const |
Getter function that automatically casts the parentState member of StateBase into StateControllerPtr. More... | |
virtual unsigned int | __getUnbreakableBufferSize () const |
virtual bool | __getUnbreakableBufferStati () const |
Before:Function to get the unbreakable-buffer status of all parent state - recursively. More... | |
virtual void | __notifyEventBufferedDueToUnbreakableState (bool eventBuffered=true) |
void | __printTransitionError (const TransitionError &transitionError, const EventPtr &event) const |
virtual void | __processBufferedEvents () |
Processes buffered events, that could not be processed immediately due to unbreakable substates. More... | |
virtual void | __processEvent (const EventPtr event, bool buffered=false) |
Main function to control the statemachine/state. More... | |
virtual void | __substatesFinished (const EventPtr ev) |
Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteStateWrapper can override it. More... | |
TransitionError | __validateTransition (const TransitionIceBase &transition, const EventPtr event, const StateIceBasePtr &sourceState, const StateIceBasePtr &destinationState) const |
void | __waitForRemoteStates () const |
virtual bool | _baseOnBreak (const EventPtr evt) |
Called by StateControllerprocessEvent()-function or parentstate. Must NOT be called by user. More... | |
virtual void | _baseOnEnter () |
Called by StateControllerprocessEvent()-function or parentstate. More... | |
virtual void | _baseOnExit () |
Called by StateController::processEvent()-function or parentstate. Must NOT be called by user. More... | |
virtual void | _baseRun () |
virtual void | _startRun () |
void | addProfilerRecursive (Profiler::ProfilerPtr profiler, int recursiveLevels=0) |
addProfilerRecursive recursively adds a new armarx::Profiler::Profiler object as armarx::StateController::localProfiler(the default one does not do anything at all). More... | |
void | addTransitionFunction (const TransitionIceBase &t, transitionFunction function) |
void | disableRunFunction () |
disableRunFunction sets useRunFunction to false and waits (blocking) for the current StateBase::run() function to complete. More... | |
void | disableStateReporting (bool disable=true) |
Disables the reporting to profilers for this states during state visits. More... | |
void | enter (const StringVariantContainerBaseMap &tempInputParameters=StringVariantContainerBaseMap()) |
Function to set the statemachine in the first state and call OnEnter(). More... | |
bool | findTransition (const std::string &eventName, const std::string sourceStateName, TransitionIceBase &transition) |
std::string | getTransitionID (const std::string &eventName, const std::string sourceStateName) const |
std::string | getTransitionID (const TransitionIceBase &t) const |
bool | isFinished () const |
bool | isRunningTaskFinished () const |
Checks whether the run() function has already finished. More... | |
bool | isRunningTaskStopped () const |
isRunningTaskStopped checks whether the RunningTask, that executes run() is requested to stop. More... | |
void | removeProfilerRecursive (Profiler::ProfilerPtr profiler, int recursiveLevels=0) |
StateController () | |
StateController (const StateController &source) | |
void | waitForRunningTaskToFinish () const |
Waits until the run-function has finished. More... | |
void | waitForStateToFinish (int timeoutMs=-1) const |
waitForStateToFinish waits until this thread has finished (i.e. More... | |
~StateController () override | |
Public Member Functions inherited from StateBase | |
void | __checkPhase (const std::vector< StatePhase > &allowedTypes, const char *functionName) const |
void | __checkPhase (StatePhase allowedType, const char *functionName) const |
Helper function for checking if a function was called in valid position of the statechart. More... | |
void | __checkPhaseMin (StatePhase allowedType, const char *functionName) const |
void | __copyDefaultValuesToInput () |
StringVariantContainerBaseMap | __getSetInputAndLocalParameters () const |
Combines both maps to one map and returns a new map of only the set parameters. More... | |
virtual bool | __hasActiveSubstate () |
Virtual function to indicate wheter a state has an active substate or not. To be overridden by RemoteState to deligate the call to the real state. More... | |
virtual bool | __hasSubstates () |
Virtual function to indicate wheter a state has substates or not. To be overridden by RemoteState to deligate the call to the real state. More... | |
void | __setParentState (StateBase *parentState) |
void | __throwUnknownParameter (const StateParameterMap ¶mMap, const std::string &key) const |
void | __updateGlobalStateId () |
virtual void | __updateGlobalStateIdRecursive () |
bool | addParameter (StateParameterMap ¶mMap, const std::string &key, VariantTypeId type, bool optional, VariantPtr defaultValue=VariantPtr()) const |
bool | addParameterContainer (StateParameterMap ¶mMap, const std::string &key, const ContainerType &containerType, bool optional, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) const |
void | clearSelfPointer () |
virtual void | deepCopy (const StateBase &sourceState, bool reset=true) |
Function to copy the states with all it substates and transitions. More... | |
virtual void | defineParameters () |
Virtual function, in which input/local/output parameters can be specified. More... | |
virtual void | defineState () |
Virtual function, in which this state can be configured. More... | |
virtual void | defineSubstates () |
Virtual function, in which substates, transition and mappings can be added. More... | |
StateBasePtr | findSubstateByName (const std::string &substateName) |
Utility function to find a substate of this state by the name. More... | |
template<typename ContextType > | |
ContextType * | getContext () const |
StatechartContextInterface * | getContext (bool checkNULL=true) const |
std::string | getGlobalHierarchyString () const |
std::string | getLocalHierarchyString () const |
Function to get a string that contains als parent states and this state. (e.g. "Robot->Functional->Idling") More... | |
Ice::Int | getLocalUniqueId () const |
void | getParameter (const StateParameterMap ¶mMap, const std::string &key, VariantPtr &value) const |
void | getParameterContainer (const StateParameterMap ¶mMap, const std::string &key, VariantContainerBasePtr &valueContainer) const |
const std::string & | getStateClassName () const |
std::string | getStateName () const |
getStateName More... | |
StatePhase | getStatePhase () const |
EventPtr | getTriggeredEndstateEvent () const |
This function returns the event that was triggered by entering an endstate. More... | |
void | inheritInputParameters () |
bool | init (StatechartContextInterface *context, StatechartManager *manager) |
Function to initialize this state. Must be called in the highest level of the hierarchy - and only there. More... | |
virtual bool | isInitialized () const |
Returns the status of this state. Only if a state is initialized, it can be used. More... | |
bool | isParameterSet (const StateParameterMap ¶mMap, const std::string &key) const |
virtual void | onBreak () |
Virtual function, in which the behaviour of state is defined, when it is abnormally exited. Can be overridden, but it is optional. An abnormal exit only occurs in hierarchy-levels greater 1. When a parent state is left before the substates are finished, the OnBreak()-function is called in the active substate and in all it's active substates. If this function is not implemented, the normal OnExit()-function is called. More... | |
virtual void | onEnter () |
Virtual function, in which the behaviour of state is defined, when it is entered. Can be overridden, but it is optional. More... | |
virtual void | onExit () |
Virtual function, in which the behaviour of state is defined, when it is exited. Can be overridden, but it is optional. More... | |
StateBase & | operator= (const StateBase &source) |
virtual void | refetchSubstates () |
This functions updates the substates. More... | |
void | reset () |
Function to reset the state: clear name, clear substatesList, clear transition etc. More... | |
void | setContext (StatechartContextInterface *context) |
void | setInitialized (bool enable) |
void | setParameter (StateParameterMap ¶mMap, const std::string &key, const Variant &variant) |
void | setParameterContainer (StateParameterMap ¶mMap, const std::string &key, const VariantContainerBase &valueContainer) |
void | setParameterContainer (StateParameterMap ¶mMap, const std::string &key, const VariantContainerBasePtr &valueContainer) |
void | setStateClassName (std::string className) |
setStateClassName() sets the string, that contains a stringrepresentation of this class. Should not be called usually. The classname gets automatically set in the constructor of the derived class StateTemplate<T>. More... | |
void | setStatePhase (StatePhase newPhase) |
StateBase () | |
StateBase (const StateBase &source) | |
virtual bool | waitForInitialization (int timeoutMS=-1) const |
~StateBase () override | |
Public Member Functions inherited from Logging | |
SpamFilterDataPtr | deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const |
disables the logging for the current line for the given amount of seconds. More... | |
MessageTypeT | getEffectiveLoggingLevel () const |
Logging () | |
void | setLocalMinimumLoggingLevel (MessageTypeT level) |
With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More... | |
void | setTag (const LogTag &tag) |
void | setTag (const std::string &tagName) |
virtual | ~Logging () |
Public Member Functions inherited from StatechartContext | |
ChannelRefPtr | getChannelRef (const std::string &observerName, const std::string &channelName) override |
DatafieldRefPtr | getDatafieldRef (ChannelRefPtr channelRef, const std::string &datafieldName) override |
DatafieldRefPtr | getDatafieldRef (const DataFieldIdentifier &datafieldIdentifier) override |
VariantBasePtr | getDataFromObserver (const DataFieldIdentifierBasePtr &identifier) override |
TimedVariantBaseList | getDataListFromObserver (std::string observerName, const DataFieldIdentifierBaseList &identifierList) override |
void | setAutoEnterToplevelState (bool autoEnter) |
setAutoStartStatechart controls whether the toplevelstate is automatically entered, when the statechart manager is started, More... | |
void | setReportingTopic (std::string reportingTopic) |
bool | setToplevelState (const armarx::StatePtr &newToplevelState, StringVariantContainerBaseMap startParameters=StringVariantContainerBaseMap()) |
setToplevelState initializes newToplevelState with the current StatechartContext and the current StatechartContext::statechartManager and sets newToplevelState as top-level state on the current StatechartContext::statechartManager. More... | |
void | startStatechart () |
startStatechart actives both, the toplevel startchart stored in the variable statechart and the StatechartManager for handling eventprocessing. More... | |
StatechartContext () | |
~StatechartContext () override | |
Public Member Functions inherited from Component | |
virtual void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) |
Implement this function if you would like to react to changes in the properties. More... | |
void | forceComponentCreatedByComponentCreateFunc () |
forces the flag to be set to true that the object instance was created by the Component::create function More... | |
std::vector< PropertyUserPtr > | getAdditionalPropertyUsers () const |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class ProxyType > | |
ProxyType | getProxyFromProperty (const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Get a proxy whose name is specified by the given property. More... | |
template<class ProxyType > | |
void | getProxyFromProperty (ProxyType &proxy, const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
template<class TopicProxyType > | |
TopicProxyType | getTopicFromProperty (const std::string &propertyName) |
Get a topic proxy whose name is specified by the given property. More... | |
template<class TopicProxyType > | |
void | getTopicFromProperty (TopicProxyType &top, const std::string &propertyName) |
void | initializeProperties (const std::string &configName, Ice::PropertiesPtr const &properties, const std::string &configDomain) |
initializes the properties of this component. More... | |
void | injectPropertyDefinitions (PropertyDefinitionsPtr &props) override |
void | offeringTopicFromProperty (const std::string &propertyName) |
Offer a topic whose name is specified by the given property. More... | |
virtual void | preOnConnectComponent () override |
virtual void | preOnInitComponent () override |
bool | usingProxyFromProperty (const std::string &propertyName, const std::string &endpoints="") |
Use a proxy whose name is specified by the given property. More... | |
void | usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false) |
Use a topic whose name is specified by the given property. More... | |
Public Member Functions inherited from ManagedIceObject | |
void | enableProfiler (bool enable) |
setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) More... | |
std::string | generateSubObjectName (const std::string &subObjectName) |
Generates a unique name for a sub object from a general name. More... | |
ArmarXManagerPtr | getArmarXManager () const |
Returns the ArmarX manager used to add and remove components. More... | |
ManagedIceObjectConnectivity | getConnectivity () const |
Retrieve connectivity of the object (topcis as well as proxies) More... | |
virtual std::string | getDefaultName () const =0 |
Retrieve default name of component. More... | |
IceManagerPtr | getIceManager () const |
Returns the IceManager. More... | |
VariantBasePtr | getMetaInfo (const std::string &id) |
StringVariantBaseMap | getMetaInfoMap () const |
std::string | getName () const |
Retrieve name of object. More... | |
Ice::ObjectAdapterPtr | getObjectAdapter () const |
Returns object's Ice adapter. More... | |
ArmarXObjectSchedulerPtr | getObjectScheduler () const |
PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
Profiler::ProfilerPtr | getProfiler () const |
getProfiler returns an instance of armarx::Profiler More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyType > | |
ProxyType | getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Retrieves a proxy object. More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&...args) |
Assigns a proxy to proxy . More... | |
Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
Returns the proxy of this object (optionally it waits for the proxy) More... | |
template<class Prx > | |
Prx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
template<class ProxyType > | |
void | getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Overload to allow using string literals as name (solve ambiguous overload). More... | |
template<class Prx > | |
void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
int | getState () const |
Retrieve current state of the ManagedIceObject. More... | |
template<class TopicProxyType > | |
TopicProxyType | getTopic (const std::string &name) |
Returns a proxy of the specified topic. More... | |
template<class TopicProxyType > | |
void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy . More... | |
std::vector< std::string > | getUnresolvedDependencies () const |
returns the names of all unresolved dependencies More... | |
ManagedIceObject (ManagedIceObject const &other) | |
void | offeringTopic (const std::string &name) |
Registers a topic for retrival after initialization. More... | |
void | preambleGetTopic (std::string const &name) |
void | setMetaInfo (const std::string &id, const VariantBasePtr &value) |
Allows to set meta information that can be queried live via Ice interface on the ArmarXManager. More... | |
void | startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true) |
bool | stopPeriodicTask (const std::string &name) |
bool | unsubscribeFromTopic (const std::string &name) |
Unsubscribe from a topic. More... | |
bool | usingProxy (const std::string &name, const std::string &endpoints="") |
Registers a proxy for retrieval after initialization and adds it to the dependency list. More... | |
void | usingTopic (const std::string &name, bool orderedPublishing=false) |
Registers a proxy for subscription after initialization. More... | |
void | waitForObjectScheduler () |
Waits until the ObjectScheduler could resolve all dependencies. More... | |
void | waitForProxy (std::string const &name, bool addToDependencies) |
Public Member Functions inherited from PropertyUser | |
std::vector< std::string > | getComponentProxyNames () |
Ice::PropertiesPtr | getIceProperties () const |
Returns the set of Ice properties. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
Property creation and retrieval. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
Hack to allow using getProperty in const -modified methods. More... | |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class T > | |
std::vector< T > | getPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
template<class ContainerT > | |
void | getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
PropertyDefinitionsPtr | getPropertyDefinitions () |
Returns the component's property definition container. More... | |
std::vector< std::string > | getSubscribedTopicNames () |
std::vector< std::string > | getTopicProxyNames () |
bool | hasProperty (const std::string &name) |
PropertyUser () | |
virtual void | setIceProperties (Ice::PropertiesPtr properties) |
Sets the Ice properties. More... | |
bool | tryAddProperty (const std::string &propertyName, const std::string &value) |
virtual void | updateIceProperties (const std::map< std::string, std::string > &changes) |
void | updateProperties () |
void | updateProxies (IceManagerPtr) |
~PropertyUser () override | |
Public Member Functions inherited from StatechartContextInterface | |
virtual | ~StatechartContextInterface ()=default |
Public Attributes | |
StateBasePtr | robotFunctionalState |
Refernce to the currently active Functionsl state. More... | |
Public Attributes inherited from RemoteStateOffererBase | |
std::string | componentName |
std::map< int, RemoteStateData > | stateInstanceList |
Holds the instances that where requested from remotely located states. More... | |
HiddenTimedMutex | stateInstanceListMutex |
Public Attributes inherited from StateController | |
std::unique_ptr< Impl > | cimpl |
Public Attributes inherited from StateBase | |
std::unique_ptr< Impl > | impl |
Public Attributes inherited from StatechartContext | |
ConditionHandlerInterfacePrx | conditionHandlerPrx |
StatechartEventDistributorPtr | eventDistributor |
The EventListenerInterface instance, that receives events from observers and redirects them to the correct states. More... | |
std::unordered_map< std::string, ObserverInterfacePrx > | observerMap |
StatechartManagerPtr | statechartManager |
SystemObserverInterfacePrx | systemObserverPrx |
Additional Inherited Members | |
Public Types inherited from StateController | |
using | transitionFunction = std::function< void(StateController *state, const StateIceBasePtr &nextState, const StateIceBasePtr &previousState)> |
using | TransitionFunctionMap = std::map< std::string, transitionFunction > |
Public Types inherited from StateBase | |
enum | StatePhase { ePreDefined, eStatechartDefinitions, eSubstatesDefinitions, eParametersDefinitions, eDefined, eEntering, eEntered, eBreaking, eExiting, eExited } |
enum that specifies the phase in which the state is currently in used to control the usage of state-functions in the correct context More... | |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Static Public Member Functions inherited from StateBase | |
static std::vector< StateBasePtr > | GetActiveStateLeafs (StateBasePtr toplevelState) |
Static Public Member Functions inherited from Component | |
template<class T , class TPtr = IceInternal::Handle<T>> | |
static TPtr | create (Ice::PropertiesPtr properties=Ice::createProperties(), const std::string &configName="", const std::string &configDomain="ArmarX") |
Factory method for a component. More... | |
Static Public Member Functions inherited from ManagedIceObject | |
static std::string | generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName) |
Generates a unique name for a sub object from a general name and unique name. More... | |
static std::string | GetObjectStateAsString (int state) |
Static Public Attributes inherited from ManagedIceObject | |
static const ManagedIceObjectPtr | NullPtr |
A nullptr to be used when a const ref to a nullptr is required. More... | |
Protected Member Functions inherited from State | |
State & | operator= (const State &source) |
State () | |
State (const State &source) | |
~State () override | |
Protected Member Functions inherited from StateUtility | |
ConditionIdentifier | installCondition (const Term &condition, const EventPtr evt, const std::string &desc="") |
Utility function to install a condition on the distributed conditionhandler. More... | |
template<class Eventclass > | |
ConditionIdentifier | installCondition (const Term &condition, const std::string &desc="") |
Utility function to install a condition on the distributed conditionhandler. More... | |
void | removeCondition (ConditionIdentifier conditionId) |
Utility function to remove an installed condition on the distributed conditionhandler. More... | |
void | removeCounterEvent (const ActionEventIdentifier &id) |
void | removeTimeoutEvent (const ActionEventIdentifier &id) |
void | sendEvent (const EventPtr event, StateBasePtr eventProcessor=nullptr) |
Function to send an event to a specific state from an onEnter()-function. Must not be called anywhere else. The event is processed after the onEnter()-function of this and all initial substates have returned. Use of this function should be avoided since this statemachine is blocked until this event and all subsequent sendEvents() are processed. More... | |
template<class Event > | |
void | sendEvent (StateBasePtr eventProcessor=nullptr) |
ActionEventIdentifier | setCounterEvent (int counterThreshold, const EventPtr &evt, int initialValue=0) |
template<class Eventclass > | |
ActionEventIdentifier | setCounterEvent (int counterThreshold, int initialValue=0) |
template<class Eventclass > | |
ActionEventIdentifier | setTimeoutEvent (int timeoutDurationMs) |
ActionEventIdentifier | setTimeoutEvent (int timeoutDurationMs, const EventPtr &evt) |
Utility function to start a timer on the systemObserver and register an event on the conditionHandler. The condition is automatically removed, when the state is left. More... | |
Protected Member Functions inherited from Logging | |
bool | checkLogLevel (MessageTypeT level) const |
const LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Protected Member Functions inherited from StatechartContext | |
virtual void | onConnectStatechartContext () |
onConnectStatechartContext can be implemented by subclasses More... | |
virtual void | onInitStatechartContext () |
onInitStatechartonInitStatechartContext can be implemented by subclasses More... | |
Protected Member Functions inherited from Component | |
void | addPropertyUser (const PropertyUserPtr &subPropertyUser) |
Add additional property users here that should show up in the application help text. More... | |
Component () | |
Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. More... | |
std::string | getConfigDomain () |
Retrieve config domain for this component as set in constructor. More... | |
std::string | getConfigIdentifier () |
Retrieve config identifier for this component as set in constructor. More... | |
std::string | getConfigName () |
Retrieve config name for this component as set in constructor. More... | |
virtual void | icePropertiesInitialized () |
Protected Member Functions inherited from ManagedIceObject | |
template<class PluginT , class... ParamsT> | |
PluginT * | addPlugin (const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&...params) |
Ice::CommunicatorPtr | getCommunicator () const |
std::unique_ptr< ManagedIceObjectPlugin > & | getPluginPointer (std::type_info const &type, std::string const &prefix) |
ManagedIceObject () | |
Protected default constructor. More... | |
virtual void | postOnConnectComponent () |
virtual void | postOnDisconnectComponent () |
virtual void | postOnExitComponent () |
virtual void | postOnInitComponent () |
virtual void | preOnDisconnectComponent () |
virtual void | preOnExitComponent () |
bool | removeProxyDependency (const std::string &name) |
This function removes the dependency of this object on the in parameter name specified object. More... | |
void | setName (std::string name) |
Override name of well-known object. More... | |
void | terminate () |
Initiates termination of this IceManagedObject. More... | |
~ManagedIceObject () override | |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
Protected Attributes inherited from StatechartContext | |
bool | autoEnterToplevelState |
std::string | reportingTopic |
Profiler::ProfilerPtr | stateReporter |
RobotControl is used for dynamically loading and starting robot programs.
The toplevel state Statechart_Robot describes the basic operational levels of the robot.
The behavior of the functional state is described in StateRobotControl
Definition at line 59 of file RobotControl.h.
|
overridevirtual |
Reimplemented from StatechartContext.
Definition at line 67 of file RobotControl.cpp.
|
inlineoverridevirtual |
Implement this function to specify the RemoteStateOfferer prefix.
Implements RemoteStateOffererBase.
Definition at line 69 of file RobotControl.h.
|
override |
|
overridevirtual |
Virtual function, in which the user can fetch some proxies.
Reimplemented from RemoteStateOffererBase.
Definition at line 38 of file RobotControl.cpp.
|
overridevirtual |
Virtual function, in which the user can implement some clean up.
Reimplemented from RemoteStateOffererBase.
Definition at line 43 of file RobotControl.cpp.
|
overridevirtual |
Pure virtual function, in which the states must be added, that should be remote-accessable.
Implements RemoteStateOffererBase.
Definition at line 33 of file RobotControl.cpp.
void startRobotStatechart | ( | ) |
StateBasePtr robotFunctionalState |
Refernce to the currently active Functionsl state.
Definition at line 67 of file RobotControl.h.