logo top
Main Page   Groups   Namespaces  

sigc::trackable Struct Reference
[Signals]

Base class for objects with auto-disconnection. More...

Inheritance diagram for sigc::trackable:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 trackable ()
 trackable (const trackable& t)
trackableoperator= (const trackable& t)
 ~trackable ()
void add_destroy_notify_callback (void* data, void*(func)(void*)) const
 Add a callback that is executed (notified) when the trackable object is detroyed.

void remove_destroy_notify_callback (void* data) const
 Remove a callback previously installed with add_destroy_notify_callback().

void notify_callbacks ()
 Execute and remove all previously installed callbacks.


Detailed Description

Base class for objects with auto-disconnection.

trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.

add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.

notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.

Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.


Constructor & Destructor Documentation

sigc::trackable::trackable (  )  [inline]
 

sigc::trackable::trackable ( const trackable t  )  [inline]
 

sigc::trackable::~trackable (  )  [inline]
 


Member Function Documentation

void sigc::trackable::add_destroy_notify_callback ( void*  data,
void*  (func)(void *)
const [inline]
 

Add a callback that is executed (notified) when the trackable object is detroyed.

Parameters:
data Passed into func upon notification.
func Callback executed upon destruction of the object.

void sigc::trackable::notify_callbacks (  ) 
 

Execute and remove all previously installed callbacks.

trackable& sigc::trackable::operator= ( const trackable t  )  [inline]
 

void sigc::trackable::remove_destroy_notify_callback ( void*  data  )  const [inline]
 

Remove a callback previously installed with add_destroy_notify_callback().

The callback is not executed.

Parameters:
data Parameter passed into previous call to add_destroy_notify_callback().


The documentation for this struct was generated from the following file:
Generated for libsigc++ 2.0 by Doxygen 1.3.3 © 1997-2001