"Fossies" - the Fresh Open Source Software archive

Member "libsigc++-2.3.1/docs/reference/html/structsigc_1_1trackable.html" (18 Oct 2012, 17697 Bytes) of archive /linux/misc/libsigc++-2.3.1.tar.gz:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. Alternatively you can here view or download the uninterpreted source code. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.

libsigc++  2.3.1
Public Types | Public Member Functions | List of all members
sigc::trackable Struct Reference

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

#include <sigc++/trackable.h>

Inheritance diagram for sigc::trackable:
Inheritance graph
[legend]

Public Types

typedef
internal::func_destroy_notify 
func_destroy_notify
 

Public Member Functions

 trackable (const trackable& src)
 
trackableoperator= (const trackable& src)
 
void add_destroy_notify_callback (void* data, func_destroy_notify func) 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.

Member Function Documentation

void sigc::trackable::add_destroy_notify_callback ( void *  data,
func_destroy_notify  func 
) const

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

Parameters
dataPassed into func upon notification.
funcCallback executed upon destruction of the object.
void sigc::trackable::remove_destroy_notify_callback ( void *  data) const

Remove a callback previously installed with add_destroy_notify_callback().

The callback is not executed.

Parameters
dataParameter passed into previous call to add_destroy_notify_callback().