1 #ifndef _SIGX_SIGNAL_BASE_HPP_
2 #define _SIGX_SIGNAL_BASE_HPP_
25 #include <sigxconfig.h>
64 std::pair<connection_wrapper, std::tr1::shared_ptr<sigc_connection_ptr> >
65 prepare_connection(
const tunnel_base& _A_tunnel)
const;
71 template<
typename T_functor,
typename T_functor_conn_handler>
72 connection_wrapper connect(
const T_functor& _A_func,
const T_functor_conn_handler& _A_func_conn_handler)
const;
83 template<
typename T_functor,
typename T_functor_conn_handler>
95 SIGX_STATIC_ASSERT((sigc::is_base_and_derived<tunnel_base, typename auto_tunneler_t::functor_type>::value ==
true));
97 typename auto_tunneler_t::functor_type functor2connect =
98 auto_tunneler_t::auto_open_tunnel(_A_func);
101 functor2connect.activate_validity_tracking();
103 const std::pair<connection_wrapper, std::tr1::shared_ptr<sigc_connection_ptr> >& ret =
112 _A_func_conn_handler,
133 sigc::exception_catch(functor2connect,
157 #endif // end file guard
finds out whether T_functor is tunneled, i.e. whether the functor chain contains a functor derived fr...
Definition: internal_types.h:176
tunnel_functor< ASYNC, SIGX_DISPATCH_WITH_FUNCTOR(T_functor)> open_tunnel_with(const T_functor &_A_func, const shared_dispatchable &d)
Opens an asynchronous tunnel on the specified functor with the dispatcher of the specified dispatchab...
Definition: tunnel_functor.h:562
Private operator new and delete ensure derived classes cannot be created with new on the heap...
Definition: nonheapallocatable.h:35
A threadsafe representation of a sigc::connection.
Definition: connection_wrapper.h:35
std::pair< connection_wrapper, std::tr1::shared_ptr< sigc_connection_ptr > > prepare_connection(const tunnel_base &_A_tunnel) const
Prepare a shared sigc::connection pointer and a connection_wrapper.
Definition: signal_wrapper_base.cpp:45
std::tr1::shared_ptr< signal_source_base > m_sigsource
The source for the server thread's signal.
Definition: signal_wrapper_base.h:79
The base for a sigx::signal_wrapper.
Definition: signal_wrapper_base.h:43
Automatic creation of a tunnel functor if T_functor is not yet tunneled.
Definition: auto_tunneler.h:41
connection_wrapper connect(const T_functor &_A_func, const T_functor_conn_handler &_A_func_conn_handler) const
Call _A_func_conn_handler in the context of the server thread, _A_func_conn_handler resolves to typed...
Definition: signal_wrapper_base.h:84
shared_dispatchable m_disp
Definition: signal_wrapper_base.h:77
A hint to the compiler that the functor is a tunnel_functor.
Definition: tunnel_base.h:39
Definition: auto_dispatchable.h:27
Catcher for a sigc::exception_catch_functor ignoring exceptions of type sigx::bad_dispatcher.
Definition: bad_dispatcher.h:44
#define SIGX_STATIC_ASSERT(expr)
Definition: static_assert.h:53
thread safe dispatcher reference that can be passed around.
Definition: shared_dispatchable.h:50