A threadsafe wrapper for a Glib::SignalNormalProxy derived signal.
More...
#include <signal_wrapper.h>
Detailed Description
template<typename T_signal>
class sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >
A threadsafe wrapper for a Glib::SignalNormalProxy derived signal.
Member Typedef Documentation
template<typename T_signal >
template<typename T_signal >
typedef slot_type::result_type sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::result_type |
template<typename T_signal >
typedef T_signal sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::signal_type |
template<typename T_signal >
typedef signal_type::SlotType sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::slot_type |
template<typename T_signal >
template<typename T_signal >
typedef signal_type::VoidSlotType sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::void_slot_type |
Constructor & Destructor Documentation
template<typename T_signal >
sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::signal_wrapper |
( |
| ) |
[inline] |
Constructs an empty signal_wrapper.
- Exceptions:
-
Might | throw a std::bad_alloc exception (from dispatchable's ctor) |
template<typename T_signal >
sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::signal_wrapper |
( |
const shared_dispatchable & |
_A_disp, |
|
|
const std::tr1::shared_ptr< signal_source_base > & |
_A_sigsource |
|
) |
| [inline] |
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_signal >
template<typename T_functor >
connection_wrapper sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::connect |
( |
const T_functor & |
_A_func, |
|
|
bool |
after = true |
|
) |
| const [inline] |
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().
template<typename T_signal >
template<typename T_functor >
connection_wrapper sigx::signal_wrapper< T_signal, internal::SIGGROUP_GLIB_PROXY,-1 >::connect_notify |
( |
const T_functor & |
_A_func, |
|
|
bool |
after = false |
|
) |
| const [inline] |
Field Documentation
template<typename T_signal >
template<typename T_signal >
The documentation for this class was generated from the following file: