OpenRTM-aist-Python 2.0.0
公開メンバ関数 | 全メンバ一覧
OpenRTM_aist.FsmActionListener.FsmProfileListener クラス

[詳解]

公開メンバ関数

def __init__ (self)
 
def __del__ (self)
 
def __call__ (self, fsmprof)
 
def toString (status)
 

詳解

FsmProfileListener クラス

FsmProfileListener クラスは、FSMのProfileに関連したアクションのコー ルバックを実現するリスナーオブジェクトの基底クラスである。FSM Profileのアクションの動作をフックしたい場合、以下の例のように、こ のクラスを継承したコールバックオブジェクトを定義し、適切なコールバッ ク設定関数からRTObjectに対してコールバックオブジェクトをセットする 必要がある。

 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;
   };
 };
 

このようにして定義されたリスナクラスは、以下のようにRTObjectに対し て、セットされる。

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

第1引数の "SET_FSM_PROFILE" は、コールバックをフックするポイン トであり、以下の値を取ることが可能である。なお、すべてのコールバッ クポイントが実装されているとは限らず、これらが呼び出されるかどうか は、FSMサービスの実装に依存する。

第2引数はリスナオブジェクトのポインタである。第3引数はオブジェクト 自動削除フラグであり、true の場合は、RTObject削除時に自動的にリス ナオブジェクトが削除される。falseの場合は、オブジェクトの所有権は 呼び出し側に残り、削除は呼び出し側の責任で行わなければならない。 RTObject のライフサイクル中にコールバックが必要ならば上記のような 呼び出し方で第3引数を true としておくとよい。逆に、コールバックを 状況等に応じてセットしたりアンセットしたりする必要がある場合は falseとして置き、リスナオブジェクトのポインタをメンバ変数などに保 持しておき、addFsmProfileListener()/removeFsmProfileListener() に より、セットとアンセットを管理するといった使い方も可能である。

構築子と解体子

◆ __init__()

def OpenRTM_aist.FsmActionListener.FsmProfileListener.__init__ (   self)

コンストラクタ

◆ __del__()

def OpenRTM_aist.FsmActionListener.FsmProfileListener.__del__ (   self)

デストラクタ

メソッド詳解

◆ __call__()

def OpenRTM_aist.FsmActionListener.FsmProfileListener.__call__ (   self,
  fsmprof 
)

仮想コールバック関数

FsmProfileListener のコールバック関数

virtual void operator()(const ::RTC::FsmProfile& fsmprof) = 0;

◆ toString()

def OpenRTM_aist.FsmActionListener.FsmProfileListener.toString (   status)

FsmProfileListenerType を文字列に変換

FsmProfileListenerType を文字列に変換する

引数
type変換対象 FsmProfileListenerType
戻り値
文字列変換結果

このクラス詳解は次のファイルから抽出されました: