Base type for slots. More...
#include <sigc++/functors/slot_base.h>
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. | |
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_base& | operator= (const slot_base& src) |
Overrides this slot making a copy from another slot. | |
Public Attributes | |
rep_type* | rep_ |
Typed slot_rep object that contains a functor. | |
bool | blocked_ |
Indicates whether the slot is blocked. |
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.
sigc::slot_base::slot_base | ( | rep_type * | rep | ) | [explicit] |
sigc::slot_base::slot_base | ( | const slot_base& | src | ) |
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.
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.
should_block | Indicates whether the blocking state should be set or unset. |
true
if the slot was in blocking state before. bool sigc::slot_base::blocked | ( | ) | const [inline] |
void sigc::slot_base::disconnect | ( | ) |
bool sigc::slot_base::empty | ( | ) | const [inline] |
sigc::slot_base::operator bool | ( | ) | const |
Overrides this slot making a copy from another slot.
src | The slot from which to make a copy. |
this
. Reimplemented in sigc::slot0< T_return >, sigc::slot1< T_return, T_arg1 >, sigc::slot2< T_return, T_arg1, T_arg2 >, sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 >, sigc::slot4< T_return, T_arg1, T_arg2, T_arg3, T_arg4 >, sigc::slot5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 >, sigc::slot6< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6 >, and sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >.
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.
data | Parameter passed into previous call to add_destroy_notify_callback(). |
void sigc::slot_base::set_parent | ( | void * | parent, | |
void *(*)(void *) | cleanup | |||
) | const |
bool sigc::slot_base::unblock | ( | ) |
Unsets the blocking state.
true
if the slot was in blocking state before. Indicates whether the slot is blocked.
rep_type* sigc::slot_base::rep_ [mutable] |
Typed slot_rep object that contains a functor.