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 Types

typedef trackable::func_destroy_notify func_destroy_notify

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, func_destroy_notify func) 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.
slot_baseoperator= (const slot_base& src)
 Overrides this slot making a copy from another slot.

Public Attributes

rep_typerep_
 Typed slot_rep object that contains a functor.
bool blocked_
 Indicates whether the slot is blocked.

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.


Member Typedef Documentation

typedef trackable::func_destroy_notify sigc::slot_base::func_destroy_notify


Constructor & Destructor Documentation

sigc::slot_base::slot_base (  ) 

Constructs an empty slot.

sigc::slot_base::slot_base ( rep_type rep  )  [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  ) 

Constructs a slot, copying an existing one.

Parameters:
src The existing slot to copy.

sigc::slot_base::~slot_base (  ) 


Member Function Documentation

sigc::slot_base::operator bool (  )  const

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

Test a slot for null like so:

 if(slot)
  do_something()

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

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.

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

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.

void sigc::slot_base::remove_destroy_notify_callback ( void *  data  )  const

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

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

Returns whether the slot is invalid.

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

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

Returns whether the slot is blocked.

Returns:
true if the slot is blocked.

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::unblock (  ) 

Unsets the blocking state.

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

void sigc::slot_base::disconnect (  ) 

Disconnects the slot.

Invalidates the slot and notifies the parent.

slot_base& sigc::slot_base::operator= ( const slot_base src  ) 

Overrides this slot making a copy from another slot.

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


Member Data Documentation

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

Typed slot_rep object that contains a functor.

bool sigc::slot_base::blocked_

Indicates whether the slot is blocked.


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