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 class ctor.
Definition: ListenerHolder.h:160
virtual void addListener(ListenerClass *listener, bool autoclean)
add listener object
Definition: ListenerHolder.h:193
Non Copyable mixin class.
Mutex class.
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 class dtor.
Definition: ListenerHolder.h:171
coil::Guard< coil::Mutex > Guard
Definition: ListenerHolder.h:148
virtual void removeListener(ListenerClass *listener)
remove listener object
Definition: ListenerHolder.h:207
Non-copyable Mixin.
Definition: NonCopyable.h:53
EntryList m_listeners
List of listener object.
Definition: ListenerHolder.h:243
RT-Middleware.
Definition: ListenerHolder.h:28
Definition: ListenerHolder.h:144