1 #ifndef _SIGX_DISPATCHABLE_HPP_
2 #define _SIGX_DISPATCHABLE_HPP_
24 #include <sigc++/trackable.h>
25 #include <sigxconfig.h>
75 void release() throw();
82 void invalidate_tunnels();
88 return m_disp_ptr->access_nonvolatile();
92 typedef void (*func_dispatcher_change_notify)(
void* );
100 void add_dispatcher_change_notify_callback(
void* data, func_dispatcher_change_notify func)
const;
106 void remove_dispatcher_change_notify_callback(
void* data)
const;
111 volatile int* m_shared_count;
117 typedef std::list<std::pair<void*, func_dispatcher_change_notify> > callback_list_type;
118 typedef callback_list_type* callback_list_ptr_type;
119 callback_list_ptr_type* m_dispatcher_change_callback_list;
129 #endif // end file guard
internal::rwlockable_dispatcher_ptr * m_disp_ptr
Definition: dispatchable.h:122
Makes T_type read/write lockable with a Glib::RWLock.
Definition: glib_lockables.h:44
Derived classes designate their ability to dispatch messages over a sigx::dispatcher.
Definition: dispatchable.h:51
base class denoting the ability to dispatch messages between threads.
Definition: dispatcher.h:140
Private copy constructor and copy assignment ensure derived classes cannot be copied.
Definition: noncopyable.h:37
rw_lockable< dispatcher_ptr > rwlockable_dispatcher_ptr
Definition: dispatchable.h:37
thread safe dispatcher reference that can be passed around.
Definition: shared_dispatchable.h:50