|
This component listens on the specified topic (default value: EmergencyStop) and changes its state corresponding to the state send over the topic. Furthermore it calls registered functions if their expected state is equal to the one that has been sent.
The template-type of an instantiation of this class has to be equal to the type of the object to which any registered function belong.
More...
#include <ArmarXCore/components/EmergencyStop/EmergencyStop.h>
Public Types | |
using | EmergencyStopNodePtr = IceInternal::Handle< EmergencyStopNode< T > > |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Public Member Functions | |
std::string | getDefaultName () const override |
Retrieve default name of component. More... | |
EmergencyStopState | getEmergencyStopState () const |
void | registerCallbackFunction (T *parent, method_type callbackFunction, EmergencyStopState state) |
registerCallbackFunction Registers the given function to be called, if the reported emergencyStopState is equal to the given one. More... | |
void | unregisterCallbackFunction (T *parent, method_type callbackFunction, EmergencyStopState state) |
unregisterCallbackFunction Unregisters the given function for the given state. More... | |
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... | |
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 | |
Protected Member Functions | |
armarx::PropertyDefinitionsPtr | createPropertyDefinitions () override |
Creates the property definition container. More... | |
void | onConnectComponent () override |
Pure virtual hook for the subclass. More... | |
void | onInitComponent () override |
Pure virtual hook for the subclass. 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... | |
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... | |
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 | onDisconnectComponent () |
Hook for subclass. More... | |
virtual void | onExitComponent () |
Hook for subclass. 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 |
Additional Inherited Members | |
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 Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
This component listens on the specified topic (default value: EmergencyStop) and changes its state corresponding to the state send over the topic. Furthermore it calls registered functions if their expected state is equal to the one that has been sent.
The template-type of an instantiation of this class has to be equal to the type of the object to which any registered function belong.
Definition at line 216 of file EmergencyStop.h.
Definition at line 291 of file EmergencyStop.h.
|
inlineoverrideprotectedvirtual |
Creates the property definition container.
Implements PropertyUser.
Definition at line 358 of file EmergencyStop.h.
|
inlineoverridevirtual |
Retrieve default name of component.
Implement this method in each IceManagedObject. The default name of a is used if no name is specified in the factory method.
Implements ManagedIceObject.
Definition at line 294 of file EmergencyStop.h.
|
inline |
Definition at line 286 of file EmergencyStop.h.
|
inlineoverrideprotectedvirtual |
Pure virtual hook for the subclass.
Is called once all dependencies of the object have been resolved and Ice connection is established. This hook is called whenever the dependencies are found. That means if the a depedency crashes or shuts down, the ManagedIceObject goes into disconnected state. When the dependencies are found again, this hook is called again.
Implements ManagedIceObject.
Definition at line 343 of file EmergencyStop.h.
|
inlineoverrideprotectedvirtual |
Pure virtual hook for the subclass.
Is called once initialization of the ManagedIceObject is done. This hook is called in the implenting class once and never again during the lifecyle of the object. This function is called as soon as the ManagedIceObject was added to the ArmarXManager. Called in an own thread and not the thread it was created in.
Implements ManagedIceObject.
Definition at line 337 of file EmergencyStop.h.
|
inline |
registerCallbackFunction Registers the given function to be called, if the reported emergencyStopState is equal to the given one.
parent | the object the given function belongs to |
callbackFunction | the function to be called when the state of the EmergencyStopMaster changes into the given one. Only functions with return-type void can be registered. |
state | the state into which the EmergencyStopMaster has to change to call the given function |
Definition at line 240 of file EmergencyStop.h.
|
inline |
unregisterCallbackFunction Unregisters the given function for the given state.
If no registered function fits to the given parameter, nothing happens
parent | the object the given function belongs to |
callbackFunction | the function to be unregistered |
state | the corresponding state |
Definition at line 259 of file EmergencyStop.h.