sigx::signal_wrapper< Glib::SignalIdle > Class Template Reference
[Signals]

A threadsafe wrapper for a Glib::SignalIdle. More...

#include <signal_wrapper.h>

Inheritance diagram for sigx::signal_wrapper< Glib::SignalIdle >:

sigx::signal_wrapper_base sigx::nonheapallocatable

Static Public Attributes

static const int argument_count = internal::count_signal_arguments<Glib::SignalIdle>::value

Package Types

typedef Glib::SignalIdle signal_type
typedef signal_wrapper
< signal_type, signal_group,
argument_count
this_type
typedef bool result_type
typedef sigc::slot< bool > slot_type
typedef signal_type(* fp_sig_getter_type )(signal_source_ptr)

Package Functions

 signal_wrapper ()
 Constructs an empty signal_wrapper.
 signal_wrapper (const shared_dispatchable &_A_disp, const std::tr1::shared_ptr< signal_source_base > &_A_sigsource)
 Creates a signal_wrapper from a signal source.
template<typename T_functor >
connection_wrapper connect (const T_functor &_A_func, int priority=Glib::PRIORITY_DEFAULT_IDLE) const
 Connects a functor, tunnels it automatically if not yet tunneled and activates validity tracking for sigc::trackableS.

Static Package Attributes

 __pad0__:signal_group signal_group = internal::SIGGROUP_IRRELEVANT

Detailed Description

template<>
class sigx::signal_wrapper< Glib::SignalIdle >

A threadsafe wrapper for a Glib::SignalIdle.

Member Typedef Documentation

typedef signal_type(* sigx::signal_wrapper< Glib::SignalIdle >::fp_sig_getter_type)(signal_source_ptr) [package]

typedef bool sigx::signal_wrapper< Glib::SignalIdle >::result_type [package]

typedef Glib::SignalIdle sigx::signal_wrapper< Glib::SignalIdle >::signal_type [package]

typedef sigc::slot<bool> sigx::signal_wrapper< Glib::SignalIdle >::slot_type [package]

typedef signal_wrapper<signal_type, signal_group, argument_count> sigx::signal_wrapper< Glib::SignalIdle >::this_type [package]


Constructor & Destructor Documentation

sigx::signal_wrapper< Glib::SignalIdle >::signal_wrapper (  )  [inline, package]

Constructs an empty signal_wrapper.

Exceptions:
Might throw a std::bad_alloc exception (from dispatchable's ctor)

sigx::signal_wrapper< Glib::SignalIdle >::signal_wrapper ( const shared_dispatchable _A_disp,
const std::tr1::shared_ptr< signal_source_base > &  _A_sigsource 
) [inline, package]

Creates a signal_wrapper from a signal source.

Parameters:
_A_disp The dispatchable to operate on
_A_sigsource A double pointer to the server thread's signal source.


Member Function Documentation

template<typename T_functor >
connection_wrapper sigx::signal_wrapper< Glib::SignalIdle >::connect ( const T_functor &  _A_func,
int  priority = Glib::PRIORITY_DEFAULT_IDLE 
) const [inline, package]

Connects a functor, tunnels it automatically if not yet tunneled and activates validity tracking for sigc::trackableS.

auto tunneling is successful only if the passed in functor is a "dispatchable" functor, i.e. a functor on a dispatchable's method or one explicitly created with "dispatch_with". You will get compiler errors if the dispatchable can't be deduced from the passed in functor.

Note:
At the moment it is only possible to pass in a non-tunneled functor or a toplevel tunneled functor due to the fact that the visit_each mechanism is turned off for the tunnel functor (otherwise there would be the problem of not threadsafe access to the sigc::trackable base of the of a dispatchable object..

passed in functor must not be a slot or adapt a slot; we have to apply this restriction because slots might have bound trackables that can cause non-threadsafe access to the passed in slot which will live in the context of the server thread

Attention:
All sigc::trackableS and the original dispatchable contained in the passed functor must belong to the context of the calling thread.
Returns:
sigx::connection_wrapper A threadsafe connection wrapper
Note:
asynchronous

References sigx::signal_wrapper_base::connect().


Field Documentation

sigx::signal_wrapper< Glib::SignalIdle >::__pad0__ [static, package]

const int sigx::signal_wrapper< Glib::SignalIdle >::argument_count = internal::count_signal_arguments<Glib::SignalIdle>::value [static]


The documentation for this class was generated from the following file:

Generated on Sun May 17 15:47:35 2009 for sigx++ by  doxygen 1.5.9