sigx++
2.0.1
|
Lynchpin to track the validity of a tunnel functor and storing information about who needs to be notified about dying dispatchers and tunnel functors. More...
#include <validity_trackable.h>
Public Member Functions | |
validity_trackable (const shared_dispatchable &_A_disp) | |
![]() | |
void * | operator new (std::size_t size) |
void | operator delete (void *p) |
void * | operator new[] (std::size_t size) |
void | operator delete[] (void *p) |
Data Fields | |
gint | m_refcount |
gint | m_tunnel_refcount |
bool | m_valid |
std::list< connection_wrapper > | m_connections |
A connection_wrapper to a signal. | |
shared_dispatchable | m_disp |
std::vector< const sigc::trackable * > | m_trackables |
gint | m_dispatcher_change_is_cleanup |
void * | m_creator_thread |
Additional Inherited Members | |
![]() | |
operator_new () | |
~operator_new () |
Lynchpin to track the validity of a tunnel functor and storing information about who needs to be notified about dying dispatchers and tunnel functors.
sigx::internal::validity_trackable::validity_trackable | ( | const shared_dispatchable & | _A_disp | ) |
std::list<connection_wrapper> sigx::internal::validity_trackable::m_connections |
A connection_wrapper to a signal.
Referenced by sigx::tunnel_validity_tracker::add_connection().
void* sigx::internal::validity_trackable::m_creator_thread |
shared_dispatchable sigx::internal::validity_trackable::m_disp |
The dispatchable guarding the tunnel callback. It has us registered
Referenced by sigx::tunnel_validity_tracker::activate(), and sigx::tunnel_validity_tracker::~tunnel_validity_tracker().
gint sigx::internal::validity_trackable::m_dispatcher_change_is_cleanup |
this variable holds the address of the dispatcher with which the tunnel functor was originally created; this allows to track a change of the dispatcher; a change might happen if a thread ends and the threadable resets its dispatcher, but the threadable starts again and sets up another dispatcher. This situation is fine for request functors because they only need a valid dispatcher; however, this situation is a problem for tunnel functors connected in a server thread because for them resetting the dispatcher means that they will get disconnected from the server thread's signal.
Referenced by sigx::tunnel_validity_tracker::activate(), and sigx::tunnel_validity_tracker::~tunnel_validity_tracker().
gint sigx::internal::validity_trackable::m_refcount |
std::vector<const sigc::trackable*> sigx::internal::validity_trackable::m_trackables |
Referenced by sigx::tunnel_validity_tracker::do_bind_to_trackable().
gint sigx::internal::validity_trackable::m_tunnel_refcount |
bool sigx::internal::validity_trackable::m_valid |
Referenced by sigx::tunnel_validity_tracker::is_valid().