sigx++
2.0.1
|
thread safe dispatcher reference that can be passed around. More...
#include <shared_dispatchable.h>
Data Structures | |
class | DispatcherPtr |
behaves like a dispatcher pointer, ensures threadsafe access to the dispatcher reference. More... | |
Public Member Functions | |
shared_dispatchable () | |
shared_dispatchable (const dispatchable &d) throw () | |
Copy construct from any dispatchable. More... | |
shared_dispatchable & | operator= (const dispatchable &d) throw () |
Assign from any dispatchable. More... | |
![]() | |
void | add_dispatcher_change_notify_callback (void *data, func_dispatcher_change_notify func) const |
void | remove_dispatcher_change_notify_callback (void *data) const |
Friends | |
struct | DispatcherPtr |
class | tunnel_validity_tracker |
Additional Inherited Members | |
![]() | |
typedef void(* | func_dispatcher_change_notify) (void *) |
![]() | |
dispatchable () | |
~dispatchable () throw () | |
void | invalidate_tunnels () |
Invalidate those tunnels (and disconnect them from signals) that have registered themselves with add_dispatcher_change_notify_callback() when the validity tracking was activated. More... | |
dispatcher_ptr | dispatcher () const throw () |
non-volatile access to the dispatcher pointer in the current thread More... | |
![]() | |
internal::rwlockable_dispatcher_ptr * | m_disp_ptr |
thread safe dispatcher reference that can be passed around.
A shared dispatchable holds either a copy of another dispatchable or the dispatcher itself is only accessible by constructing a shared_dispatchable::DispatcherPtr.
sigx::shared_dispatchable::shared_dispatchable | ( | ) |
Might | throw a std::bad_alloc exception (from dispatchable's ctor) |
sigx::shared_dispatchable::shared_dispatchable | ( | const dispatchable & | d | ) | |
throw | ( | ||||
) |
Copy construct from any dispatchable.
shared_dispatchable & sigx::shared_dispatchable::operator= | ( | const dispatchable & | d | ) | |
throw | ( | ||||
) |
Assign from any dispatchable.
|
friend |
|
friend |