logo top
Main Page   Groups   Namespaces  

sigc::slot_base Class Reference
[Slots]

Base type for slots. More...

Inheritance diagram for sigc::slot_base:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 slot_base ()
 Constructs an empty slot.

 slot_base (rep_type* rep)
 Constructs a slot from an existing slot_rep object.

 slot_base (const slot_base& src)
 Constructs a slot, copying an existing one.

 ~slot_base ()
 operator bool () const
 Tests whether a slot is null, because the default constructor was used.

void set_parent (void* parent, void*(* cleanup)(void*)) const
 Sets the parent of this slot.

void add_destroy_notify_callback (void* data, void*(* func)(void*)) const
 Add a callback that is executed (notified) when the slot is detroyed.

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

bool empty () const
 Returns whether the slot is invalid.

bool blocked () const
 Returns whether the slot is blocked.

bool block (bool should_block=true)
 Sets the blocking state.

bool unblock ()
 Unsets the blocking state.

void disconnect ()
 Disconnects the slot.


Public Attributes

rep_type* rep_
 Typed slot_rep object that contains a functor.

bool blocked_
 Indicates whether the slot is blocked.


Protected Member Functions

slot_baseoperator= (const slot_base& src)
 Overrides this slot making a copy from another slot.


Detailed Description

Base type for slots.

slot_base integrates most of the interface of the derived sigc::slot templates. slots can be connected to signals, be disconnected at some later point (disconnect()) and temporarily be blocked (block(), unblock()). The validity of a slot can be tested with empty().

The internal representation of a sigc::internal::slot_rep derived type is built from slot_base's derivations. set_parent() is used to register a notification callback that is executed when the slot gets invalid. add_destroy_notify_callback() is used by connection objects to add a notification callback that is executed on destruction.


Constructor & Destructor Documentation

sigc::slot_base::slot_base (  )  [inline]
 

Constructs an empty slot.

sigc::slot_base::slot_base ( rep_type*  rep  )  [inline, explicit]
 

Constructs a slot from an existing slot_rep object.

Parameters:
rep The slot_rep object this slot should contain.

sigc::slot_base::slot_base ( const slot_base src  )  [inline]
 

Constructs a slot, copying an existing one.

Parameters:
src The existing slot to copy.

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


Member Function Documentation

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

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

This function is used internally by connection objects.

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

bool sigc::slot_base::block ( bool  should_block = true  ) 
 

Sets the blocking state.

If should_block is true then the blocking state is set. Subsequent calls to slot::operator()() don't invoke the functor contained by this slot until unblock() or block() with should_block = false is called.

Parameters:
should_block Indicates whether the blocking state should be set or unset.
Returns:
true if the slot was in blocking state before.

bool sigc::slot_base::blocked (  )  const [inline]
 

Returns whether the slot is blocked.

Returns:
true if the slot is blocked.

void sigc::slot_base::disconnect (  )  [inline]
 

Disconnects the slot.

Invalidates the slot and notifies the parent.

bool sigc::slot_base::empty (  )  const [inline]
 

Returns whether the slot is invalid.

Returns:
true if the slot is invalid (empty).

sigc::slot_base::operator bool (  )  const [inline]
 

Tests whether a slot is null, because the default constructor was used.

Test a slot for null like so: if(slot) do_something()

slot_base& sigc::slot_base::operator= ( const slot_base src  )  [protected]
 

Overrides this slot making a copy from another slot.

Parameters:
src The slot from which to make a copy.
Returns:
this.

void sigc::slot_base::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().

void sigc::slot_base::set_parent ( void*  parent,
void *(*  cleanup)(void *)
const [inline]
 

Sets the parent of this slot.

This function is used by signals to register a notification callback. This notification callback is executed when the slot becomes invalid because of some referred object dying.

Parameters:
parent The new parent.
cleanup The notification callback.

bool sigc::slot_base::unblock (  )  [inline]
 

Unsets the blocking state.

Returns:
true if the slot was in blocking state before.


Member Data Documentation

bool sigc::slot_base::blocked_
 

Indicates whether the slot is blocked.

rep_type* sigc::slot_base::rep_ [mutable]
 

Typed slot_rep object that contains a functor.


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