OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
RTC::FsmProfileListener Class Referenceabstract

FsmProfileListener class. More...

#include <FsmActionListener.h>

Public Member Functions

virtual ~FsmProfileListener ()
 Destructor .
 
virtual void operator() (const ::RTC::FsmProfile &fsmprof)=0
 Virtual Callback function.
 

Static Public Member Functions

static const char * toString (FsmProfileListenerType type)
 Convert FsmProfileListenerType into the string.
 

Detailed Description

FsmProfileListener class.

FsmProfileListener class is a base class for the listener objects which realize callback to hook FSM Profile related actions. To hook execution just before a FSM profile action, the callback object should be defined as follows, and set to RTObject through appropriate callback set function.

class MyListener
  : public FsmProfileListener
{
  std::string m_name;
public:
  MyListener(const char* name) : m_name(name) {}
  virtual ~MyListener() {}

  virtual void operator()(const ::RTC::FsmProfile& fsmprof)
  {
    std::cout << "Listner name:  " m_name << std::endl;
  };
};

The listener class defined above is set to RTObject as follows.

RTC::ReturnCode_t ConsoleIn::onInitialize()
{
    addFsmProfileListener(FsmProfileListenerType::SET_FSM_PROFILE,
                          new MyListener("prof listener"),
                          true);
   :

The first argument "SET_FSM_PROFILE" specifies callback hook point, and the following values are available. Not all the callback points are implemented. It depends on the FSM service implementations.

  • SET_FSM_PROFILE : Setting FSM Profile
  • GET_FSM_PROFILE : Getting FSM Profile
  • ADD_FSM_STATE : A State added to the FSM
  • REMOVE_FSM_STATE : A State removed from FSM
  • ADD_FSM_TRANSITION : A transition added to the FSM
  • REMOVE_FSM_TRANSITION : A transition removed from FSM
  • BIND_FSM_EVENT : An event bounded to the FSM
  • UNBIND_FSM_EVENT : An event unbounded to the FSM

The second argument is a pointers to the listener object. The third argument is a flag for automatic object destruction. When "true" is given to the third argument, the given object in second argument is automatically destructed with RTObject. In the "false " case, the ownership of the object is left in the caller side, and then destruction of the object must be done by users' responsibility.

It is good for setting "true" as third argument, if the listener object life span is equals to the RTObject's life cycle. On the otehr hand, if callbacks are required to set/unset depending on its situation, the third argument could be "false". In that case, listener objects pointers must be stored to member variables, and set/unset of the listener objects shoud be paerformed throguh addFsmProfileListener()/removeFsmProfileListener() functions.

Constructor & Destructor Documentation

◆ ~FsmProfileListener()

virtual RTC::FsmProfileListener::~FsmProfileListener ( )
virtual

Destructor .

Member Function Documentation

◆ operator()()

virtual void RTC::FsmProfileListener::operator() ( const ::RTC::FsmProfile & fsmprof)
pure virtual

Virtual Callback function.

This is a the Callback function for FsmProfileListener

◆ toString()

static const char * RTC::FsmProfileListener::toString ( FsmProfileListenerType type)
inlinestatic

Convert FsmProfileListenerType into the string.

Convert FsmProfileListenerType into the string.

Parameters
typeThe target FsmProfileListenerType for transformation
Returns
Trnasformation result of string representation

References RTC::FSM_PROFILE_LISTENER_NUM.


The documentation for this class was generated from the following file: