OpenRTM  1.1.1
PortConnectListener.h
[詳解]
1 // -*- C++ -*-
19 #ifndef RTC_PORTCONNECTLISTENER_H
20 #define RTC_PORTCONNECTLISTENER_H
21 
22 #include <vector>
23 #include <utility>
24 #include <coil/Mutex.h>
25 #include <coil/Guard.h>
26 #include <rtm/RTC.h>
27 #include <rtm/idl/RTCSkel.h>
28 
29 namespace RTC
30 {
31  //============================================================
50  {
55  };
56 
83  {
84  public:
108  static const char* toString(PortConnectListenerType type);
109 
117  virtual ~PortConnectListener();
118 
134  virtual void operator()(const char* portname,
135  RTC::ConnectorProfile& profile) = 0;
136  };
137 
138 
139  //============================================================
162  {
170  };
171 
203  {
204  public:
228  static const char* toString(PortConnectRetListenerType type);
229 
237  virtual ~PortConnectRetListener();
238 
254  virtual void operator()(const char* portname,
255  RTC::ConnectorProfile& profile,
256  ReturnCode_t ret) = 0;
257  };
258 
259  //============================================================
277  {
278  typedef std::pair<PortConnectListener*, bool> Entry;
280  public:
289 
297  virtual ~PortConnectListenerHolder();
298 
320  void addListener(PortConnectListener* listener, bool autoclean);
321 
339  void removeListener(PortConnectListener* listener);
340 
358  void notify(const char* portname, RTC::ConnectorProfile& profile);
359 
360  private:
361  std::vector<Entry> m_listeners;
362  coil::Mutex m_mutex;
363  };
364 
365 
383  {
384  typedef std::pair<PortConnectRetListener*, bool> Entry;
386  public:
395 
404 
426  void addListener(PortConnectRetListener* listener, bool autoclean);
427 
445  void removeListener(PortConnectRetListener* listener);
446 
466  void notify(const char* portname, RTC::ConnectorProfile& profile,
467  ReturnCode_t ret);
468 
469  private:
470  std::vector<Entry> m_listeners;
471  coil::Mutex m_mutex;
472  };
473 
488  {
489  public:
512  };
513 
514 
515 }; // namespace RTC
516 
517 #endif // RTC_PORTCONNECTLISTENER_H
PortConnectListenerType
PortConnectListener のタイプ
Definition: PortConnectListener.h:49
Definition: PortConnectListener.h:163
PortConnectRetListener クラス
Definition: PortConnectListener.h:202
Definition: PortConnectListener.h:51
virtual ~PortConnectRetListenerHolder()
デストラクタ
Mutex クラス
Definition: Mutex.h:40
Definition: PortConnectListener.h:168
static const char * toString(PortConnectRetListenerType type)
PortConnectRetListenerType を文字列に変換
void notify(const char *portname, RTC::ConnectorProfile &profile)
リスナーへ通知する
void removeListener(PortConnectRetListener *listener)
リスナーの削除
Definition: PortConnectListener.h:52
Definition: PortConnectListener.h:54
virtual ~PortConnectListener()
デストラクタ
PortConnectRetListenerHolder portconnret_[PORT_CONNECT_RET_LISTENER_NUM]
PortConnectRetTypeリスナ配列 PortConnectRetTypeリスナを格納
Definition: PortConnectListener.h:511
void removeListener(PortConnectListener *listener)
リスナーの削除
virtual ~PortConnectListenerHolder()
デストラクタ
virtual ~PortConnectRetListener()
デストラクタ
PortConnectListener クラス
Definition: PortConnectListener.h:82
PortConnectListener ホルダクラス
Definition: PortConnectListener.h:276
PortConnectListeners クラス
Definition: PortConnectListener.h:487
Guard template class.
PortConnectRetListener ホルダクラス
Definition: PortConnectListener.h:382
Definition: PortConnectListener.h:166
static const char * toString(PortConnectListenerType type)
PortConnectListenerType を文字列に変換
virtual void operator()(const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)=0
仮想コールバック関数
PortConnectListenerHolder()
コンストラクタ
Definition: PortConnectListener.h:169
virtual void operator()(const char *portname, RTC::ConnectorProfile &profile)=0
仮想コールバック関数
Definition: PortConnectListener.h:165
PortConnectRetListenerType
PortConnectRetListenerType のタイプ
Definition: PortConnectListener.h:161
PortConnectRetListenerHolder()
コンストラクタ
Definition: PortConnectListener.h:167
void addListener(PortConnectListener *listener, bool autoclean)
リスナーの追加
Definition: PortConnectListener.h:53
RTComponent header.
PortConnectListenerHolder portconnect_[PORT_CONNECT_LISTENER_NUM]
PortConnectListenerType リスナ配列 PortConnectListenerType リスナを格納
Definition: PortConnectListener.h:500
void notify(const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
リスナーへ通知する
Definition: PortConnectListener.h:164
void addListener(PortConnectRetListener *listener, bool autoclean)
リスナーの追加