|
Base class for all RobotUnitModules. More...
#include <RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleBase.h>
Public Member Functions | |
template<class T > | |
T & | _module () |
Returns this as ref to the given type. More... | |
template<class T > | |
const T & | _module () const |
Returns this as ref to the given type. More... | |
template<class T > | |
T * | _modulePtr () |
Returns this as ptr to the given type. More... | |
template<class T > | |
const T * | _modulePtr () const |
Returns this as ptr to the given type. More... | |
bool | areDevicesReady () const |
Returns whether Devices are ready. More... | |
virtual IceUtil::Time | getControlThreadTargetPeriod () const =0 |
The ControlThread's period. More... | |
RobotUnitState | getRobotUnitState () const |
Returns the RobotUnit's State. More... | |
bool | inControlThread () const |
Returns whether the current thread is the ControlThread. More... | |
bool | isShuttingDown () const |
Returns whether the RobotUnit is shutting down. More... | |
virtual void | joinControlThread ()=0 |
Implementations have to join their ControlThread in this hook. (used by RobotUnit::finishRunning()) More... | |
virtual void | onConnectRobotUnit () |
called in onConnectComponent More... | |
virtual void | onDisconnectRobotUnit () |
called in onDisconnecComponent More... | |
virtual void | onExitRobotUnit () |
called in onExitComponent before calling finishRunning More... | |
virtual void | onInitRobotUnit () |
called in onInitComponent More... | |
void | shutDown () |
Requests the RobotUnit to shut down. More... | |
void | throwIfDevicesNotReady (const std::string &fnc) const |
Throws if the Devices are not ready. More... | |
void | throwIfInControlThread (const std::string &fnc) const |
Throws if the current thread is the ControlThread. More... | |
void | throwIfStateIs (const std::set< RobotUnitState > &stateSet, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is in. More... | |
void | throwIfStateIs (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is. More... | |
void | throwIfStateIsNot (const std::set< RobotUnitState > &stateSet, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is not in. More... | |
void | throwIfStateIsNot (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is not. More... | |
Public Member Functions inherited from Component | |
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... | |
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 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 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 | |
Static Public Member Functions | |
static ModuleBase & | Instance () |
Returns the singleton instance of this class. More... | |
template<class T > | |
static T & | Instance () |
Returns the singleton instance of the given class. More... | |
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) |
Protected Types | |
using | ClockType = std::chrono::high_resolution_clock |
using | GuardType = std::unique_lock< MutexType > |
using | MutexType = std::recursive_timed_mutex |
The type of recursive_mutex used in this class. More... | |
using | TimePointType = std::chrono::high_resolution_clock::time_point |
Protected Member Functions | |
void | _componentPropertiesUpdated (const std::set< std::string > &) |
Hook for deriving RobotUnitModules called in componentPropertiesUpdated. More... | |
void | _icePropertiesInitialized () |
Hook for deriving RobotUnitModules called in icePropertiesInitialized. More... | |
void | _postFinishComponentInitialization () |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called after the state has changed) More... | |
void | _postFinishControlThreadInitialization () |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called after the state has changed) More... | |
void | _postFinishDeviceInitialization () |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called after the state has changed) More... | |
void | _postFinishRunning () |
Hook for deriving RobotUnitModules called in finishRunning (called after the state has changed) More... | |
void | _postFinishUnitInitialization () |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called after the state has changed) More... | |
void | _postOnConnectRobotUnit () |
Hook for deriving RobotUnitModules called in onConnectComponent (called after onConnectRobotUnit was called) More... | |
void | _postOnDisconnectRobotUnit () |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called after onDisconnectRobotUnit was called) More... | |
void | _postOnExitRobotUnit () |
Hook for deriving RobotUnitModules called in onExitComponent (called after onExitRobotUnit was called) More... | |
void | _postOnInitRobotUnit () |
Hook for deriving RobotUnitModules called in onInitComponent (called after onInitRobotUnit was called) More... | |
void | _preFinishComponentInitialization () |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called before the state has changed) More... | |
void | _preFinishControlThreadInitialization () |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called before the state has changed) More... | |
void | _preFinishDeviceInitialization () |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called before the state has changed) More... | |
void | _preFinishRunning () |
Hook for deriving RobotUnitModules called in finishRunning (called before the state has changed) More... | |
void | _preFinishUnitInitialization () |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called before the state has changed) More... | |
void | _preOnConnectRobotUnit () |
Hook for deriving RobotUnitModules called in onConnectComponent (called before onConnectRobotUnit was called) More... | |
void | _preOnDisconnectRobotUnit () |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called before onDisconnectRobotUnit was called) More... | |
void | _preOnExitRobotUnit () |
Hook for deriving RobotUnitModules called in onExitComponent (called before onExitRobotUnit was called) More... | |
void | _preOnInitRobotUnit () |
Hook for deriving RobotUnitModules called in onInitComponent (called before onInitRobotUnit was called) More... | |
void | checkDerivedClasses () const |
Checks whether the implementing class derives all modules. More... | |
void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) override |
virtual void | finishComponentInitialization () |
Transition RobotUnitState::InitializingComponent -> RobotUnitState::InitializingDevices. More... | |
virtual void | finishControlThreadInitialization () |
Transition RobotUnitState::InitializingControlThread -> RobotUnitState::Running. More... | |
virtual void | finishDeviceInitialization () |
Transition RobotUnitState::InitializingDevices -> RobotUnitState::InitializingUnits. More... | |
virtual void | finishRunning () |
Transition RobotUnitState::Running -> RobotUnitState::Exiting. More... | |
virtual void | finishUnitInitialization () |
Transition RobotUnitState::InitializingUnits -> RobotUnitState::WaitingForRTThreadInitialization. More... | |
std::string | getDefaultName () const override |
GuardType | getGuard () const |
Returns a guard to the RobotUnits mutex. More... | |
void | icePropertiesInitialized () override |
ModuleBase () | |
Ctor. More... | |
void | onConnectComponent () final override |
void | onDisconnectComponent () final override |
void | onExitComponent () final override |
void | onInitComponent () final override |
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... | |
PropertyDefinitionsPtr | createPropertyDefinitions () override |
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... | |
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 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 |
Static Protected Member Functions | |
static constexpr std::size_t | IndexSentinel () |
Returns a sentinel value for an index (std::numeric_limits<std::size_t>::max()) More... | |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
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 Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
Base class for all RobotUnitModules.
Since the robot unit is a complex class, it is split into several modules. One reason behind this is stopping developers from accidently using datastructures in the wrong way (e.g. causing racing conditions) For a RobotUnit to work, ALL modules are required (A class has to derive all of them)
The list of Modules is:
The RobotUnit has multiple Phases (see RobotUnitState) as well as the life cycle of a ManagedIceObject.
The hooks (onInitComponent, onConnectComponent, onDisconnectComponent, onExitComponent) for state transitions provided by ManagedIceObject have a final overrider. Deriving classes have to use the replacement hooks:
Hook | Replacement \th |
---|---|
onInitComponent | onInitRobotUnit |
onConnectComponent | onConnectRobotUnit |
onDisconnectComponent | onDisconnectRobotUnit |
onExitComponent | onExitRobotUnit |
The initial phase is RobotUnitState::InitializingComponent. The following table shows all Phase transitions and the functions causing it:
Each RobotUnitModule has two hooks each transition function ().
Definition at line 183 of file RobotUnitModuleBase.h.
|
protected |
Definition at line 227 of file RobotUnitModuleBase.h.
Definition at line 226 of file RobotUnitModuleBase.h.
|
protected |
The type of recursive_mutex used in this class.
This typedef is used to quickly replace the mutex type with a logging mutex type for debugging.
Definition at line 225 of file RobotUnitModuleBase.h.
|
protected |
Definition at line 228 of file RobotUnitModuleBase.h.
|
protected |
Ctor.
Definition at line 537 of file RobotUnitModuleBase.cpp.
|
inlineprotected |
Hook for deriving RobotUnitModules called in componentPropertiesUpdated.
Definition at line 413 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in icePropertiesInitialized.
Definition at line 419 of file RobotUnitModuleBase.h.
|
inline |
Returns this as ref to the given type.
Definition at line 249 of file RobotUnitModuleBase.h.
|
inline |
Returns this as ref to the given type.
Definition at line 260 of file RobotUnitModuleBase.h.
|
inline |
Returns this as ptr to the given type.
Definition at line 271 of file RobotUnitModuleBase.h.
|
inline |
Returns this as ptr to the given type.
Definition at line 282 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called after the state has changed)
Definition at line 488 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called after the state has changed)
Definition at line 548 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called after the state has changed)
Definition at line 508 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishRunning (called after the state has changed)
Definition at line 568 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called after the state has changed)
Definition at line 528 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onConnectComponent (called after onConnectRobotUnit was called)
Definition at line 350 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called after onDisconnectRobotUnit was called)
Definition at line 370 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onExitComponent (called after onExitRobotUnit was called)
Definition at line 390 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onInitComponent (called after onInitRobotUnit was called)
Definition at line 330 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called before the state has changed)
Definition at line 478 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called before the state has changed)
Definition at line 538 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called before the state has changed)
Definition at line 498 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishRunning (called before the state has changed)
Definition at line 558 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called before the state has changed)
Definition at line 518 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onConnectComponent (called before onConnectRobotUnit was called)
Definition at line 340 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called before onDisconnectRobotUnit was called)
Definition at line 360 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onExitComponent (called before onExitRobotUnit was called)
Definition at line 380 of file RobotUnitModuleBase.h.
|
inlineprotected |
Hook for deriving RobotUnitModules called in onInitComponent (called before onInitRobotUnit was called)
Definition at line 320 of file RobotUnitModuleBase.h.
bool areDevicesReady | ( | ) | const |
Returns whether Devices are ready.
Definition at line 403 of file RobotUnitModuleBase.cpp.
|
protected |
Checks whether the implementing class derives all modules.
|
overrideprotectedvirtual |
Reimplemented from Component.
Reimplemented in RobotUnitSimulation.
Definition at line 205 of file RobotUnitModuleBase.cpp.
|
protectedvirtual |
Transition RobotUnitState::InitializingComponent -> RobotUnitState::InitializingDevices.
Definition at line 226 of file RobotUnitModuleBase.cpp.
|
protectedvirtual |
Transition RobotUnitState::InitializingControlThread -> RobotUnitState::Running.
Definition at line 289 of file RobotUnitModuleBase.cpp.
|
protectedvirtual |
Transition RobotUnitState::InitializingDevices -> RobotUnitState::InitializingUnits.
Definition at line 247 of file RobotUnitModuleBase.cpp.
|
protectedvirtual |
Transition RobotUnitState::Running -> RobotUnitState::Exiting.
Definition at line 311 of file RobotUnitModuleBase.cpp.
|
protectedvirtual |
Transition RobotUnitState::InitializingUnits -> RobotUnitState::WaitingForRTThreadInitialization.
Definition at line 268 of file RobotUnitModuleBase.cpp.
|
pure virtual |
The ControlThread's period.
Implemented in RobotUnitSimulation, and RTUnit.
|
inlineoverrideprotectedvirtual |
Implements ManagedIceObject.
Reimplemented in RobotUnitSimulation, and RTUnit.
Definition at line 405 of file RobotUnitModuleBase.h.
|
protected |
Returns a guard to the RobotUnits mutex.
throws | If called in the ControlThread or on shutdown. |
Definition at line 430 of file RobotUnitModuleBase.cpp.
|
inline |
|
overrideprotectedvirtual |
Reimplemented from Component.
Definition at line 215 of file RobotUnitModuleBase.cpp.
bool inControlThread | ( | ) | const |
Returns whether the current thread is the ControlThread.
Definition at line 409 of file RobotUnitModuleBase.cpp.
|
inlinestaticconstexprprotected |
Returns a sentinel value for an index (std::numeric_limits<std::size_t>::max())
Definition at line 720 of file RobotUnitModuleBase.h.
|
inlinestatic |
Returns the singleton instance of this class.
Definition at line 194 of file RobotUnitModuleBase.h.
|
inlinestatic |
Returns the singleton instance of the given class.
Definition at line 206 of file RobotUnitModuleBase.h.
|
inline |
|
pure virtual |
Implementations have to join their ControlThread in this hook. (used by RobotUnit::finishRunning())
Implemented in RobotUnitSimulation, and RTUnit.
|
finaloverrideprotectedvirtual |
Implements ManagedIceObject.
Definition at line 143 of file RobotUnitModuleBase.cpp.
|
inlinevirtual |
called in onConnectComponent
Reimplemented in RobotUnitSimulation, and RTUnit.
Definition at line 681 of file RobotUnitModuleBase.h.
|
finaloverrideprotectedvirtual |
Reimplemented from ManagedIceObject.
Definition at line 162 of file RobotUnitModuleBase.cpp.
|
inlinevirtual |
called in onDisconnecComponent
Reimplemented in RTUnit.
Definition at line 691 of file RobotUnitModuleBase.h.
|
finaloverrideprotectedvirtual |
Reimplemented from ManagedIceObject.
Definition at line 181 of file RobotUnitModuleBase.cpp.
|
inlinevirtual |
called in onExitComponent before calling finishRunning
Reimplemented in RTUnit.
Definition at line 702 of file RobotUnitModuleBase.h.
|
finaloverrideprotectedvirtual |
Implements ManagedIceObject.
|
inlinevirtual |
called in onInitComponent
Reimplemented in RobotUnitSimulation, and RTUnit.
Definition at line 671 of file RobotUnitModuleBase.h.
|
inline |
Requests the RobotUnit to shut down.
Definition at line 657 of file RobotUnitModuleBase.h.
void throwIfDevicesNotReady | ( | const std::string & | fnc | ) | const |
Throws if the Devices are not ready.
fnc | The callers function name. |
Definition at line 530 of file RobotUnitModuleBase.cpp.
void throwIfInControlThread | ( | const std::string & | fnc | ) | const |
Throws if the current thread is the ControlThread.
fnc | The callers function name. |
Definition at line 416 of file RobotUnitModuleBase.cpp.
void throwIfStateIs | ( | const std::set< RobotUnitState > & | stateSet, |
const std::string & | fnc, | ||
bool | onlyWarn = false |
||
) | const |
Throws an exception if the current state is in.
stateSet | |
stateSet | The set of forbidden RobotUnitStates |
fnc | The callers function name. |
onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 493 of file RobotUnitModuleBase.cpp.
void throwIfStateIs | ( | RobotUnitState | s, |
const std::string & | fnc, | ||
bool | onlyWarn = false |
||
) | const |
Throws an exception if the current state is.
state | |
state | The forbidden RobotUnitState |
fnc | The callers function name. |
onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 524 of file RobotUnitModuleBase.cpp.
void throwIfStateIsNot | ( | const std::set< RobotUnitState > & | stateSet, |
const std::string & | fnc, | ||
bool | onlyWarn = false |
||
) | const |
Throws an exception if the current state is not in.
stateSet | |
stateSet | The set of acceptable RobotUnitStates |
fnc | The callers function name. |
onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 456 of file RobotUnitModuleBase.cpp.
void throwIfStateIsNot | ( | RobotUnitState | s, |
const std::string & | fnc, | ||
bool | onlyWarn = false |
||
) | const |
Throws an exception if the current state is not.
state | |
state | The acceptable RobotUnitState |
fnc | The callers function name. |
onlyWarn | Only print a warning instead of throwing an exception. |
Definition at line 487 of file RobotUnitModuleBase.cpp.