sigx::internal::validity_trackable Struct Reference

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>

Inheritance diagram for sigx::internal::validity_trackable:

sigx::operator_new

Public Member Functions

 validity_trackable (const shared_dispatchable &_A_disp)

Data Fields

gint m_refcount
gint m_tunnel_refcount
bool m_valid
std::list< connection_wrapperm_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

Detailed Description

Lynchpin to track the validity of a tunnel functor and storing information about who needs to be notified about dying dispatchers and tunnel functors.

Constructor & Destructor Documentation

sigx::internal::validity_trackable::validity_trackable ( const shared_dispatchable _A_disp  ) 


Field Documentation

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().

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().

std::vector<const sigc::trackable*> sigx::internal::validity_trackable::m_trackables


The documentation for this struct was generated from the following files:

Generated on Sun May 17 15:47:35 2009 for sigx++ by  doxygen 1.5.9