19 #ifndef RTM_UTIL_LISTENERHOLDER_H 20 #define RTM_UTIL_LISTENERHOLDER_H 143 template <
typename ListenerClass>
149 typedef std::pair<ListenerClass*, bool>
Entry;
214 if ((*it).first == listener)
248 #define LISTENERHOLDER_CALLBACK(func, args) \ 250 Guard guard(m_mutex); \ 251 for (int i(0), len(m_listeners.size()); i < len; ++i) \ 253 m_listeners[i].first->func args; \ 257 #endif // RTM_UITL_LISTENERHOLDER_H ListenerHolder()
ListenerHolderクラスコンストラクタ
Definition: ListenerHolder.h:160
virtual void addListener(ListenerClass *listener, bool autoclean)
リスナを追加する
Definition: ListenerHolder.h:193
Non Copyable mixin class.
Mutex クラス
Definition: Mutex.h:40
coil::Mutex m_mutex
Mutex.
Definition: ListenerHolder.h:234
std::vector< Entry > EntryList
Definition: ListenerHolder.h:150
std::pair< ListenerClass *, bool > Entry
Definition: ListenerHolder.h:149
EntryList::iterator EntryIterator
Definition: ListenerHolder.h:151
virtual ~ListenerHolder()
ListenerHolderデストラクタ
Definition: ListenerHolder.h:171
coil::Guard< coil::Mutex > Guard
Definition: ListenerHolder.h:148
virtual void removeListener(ListenerClass *listener)
リスナを削除する
Definition: ListenerHolder.h:207
コピー禁止ミックスイン
Definition: NonCopyable.h:53
EntryList m_listeners
リスナのリスト
Definition: ListenerHolder.h:243
RT-Middleware.
Definition: ListenerHolder.h:28
Definition: ListenerHolder.h:144