1 #ifndef _SIGX_CONNECTION_HANDLER_HPP_
2 #define _SIGX_CONNECTION_HANDLER_HPP_
25 #include <sigc++/signal.h>
27 #include <glibmm/thread.h>
28 #include <glibmm/main.h>
29 #include <sigxconfig.h>
61 const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconn,
62 const sigc::connection& c);
90 template<
typename T_signal,
internal::signal_group I_oneof>
93 template<
typename T_signal>
104 static void connect(
const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconnptr,
const std::tr1::shared_ptr<signal_source_base>& psigsource,
const slot_type& _A_slot)
107 g_return_if_fail(psigsource.get());
111 const fp_sig_getter getsig =
112 reinterpret_cast<fp_sig_getter
>(psigsource->getter());
115 const sigc::connection& c = getsig(psigsource.get()).connect(_A_slot);
123 template<
typename T_signal>
133 static void connect(
const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconnptr,
const std::tr1::shared_ptr<signal_source_base>& psigsource,
const slot_type& _A_slot,
bool after)
136 g_return_if_fail(psigsource.get());
140 const fp_sig_getter getsig =
141 reinterpret_cast<fp_sig_getter
>(psigsource->getter());
144 const sigc::connection& c = getsig(psigsource.get()).connect(_A_slot, after);
151 static void connect_notify(
const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconnptr,
const std::tr1::shared_ptr<signal_source_base>& psigsource,
const void_slot_type& _A_slot,
bool after)
154 g_return_if_fail(psigsource.get());
158 const fp_sig_getter getsig =
159 reinterpret_cast<fp_sig_getter
>(psigsource->getter());
162 const sigc::connection& c = getsig(psigsource.get()).connect_notify(_A_slot, after);
179 static void connect(
const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconnptr,
const std::tr1::shared_ptr<signal_source_base>& psigsource,
const slot_type& _A_slot,
int priority);
194 static void connect(
const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconnptr,
const std::tr1::shared_ptr<signal_source_base>& psigsource,
const slot_type& _A_slot,
unsigned int interval,
int priority);
209 static void connect(
const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconnptr,
const std::tr1::shared_ptr<signal_source_base>& psigsource,
const slot_type& _A_slot,
int fd, Glib::IOCondition condition,
int priority);
224 static void connect(
const std::tr1::shared_ptr<sigc_connection_ptr>& _A_refconnptr,
const std::tr1::shared_ptr<signal_source_base>& psigsource,
const slot_type& _A_slot, GPid pid,
int priority);
231 #endif // end file guard
sigc::slot< bool > slot_type
Definition: connection_handler.h:190
static Glib::StaticPrivate< connections_container_wrapper > thread_specific_connections
Definition: connection_handler.h:86
container_type m_connections
Definition: connection_handler.h:82
sigc::slot< bool > slot_type
Definition: connection_handler.h:175
Glib::SignalChildWatch signal_type
Definition: connection_handler.h:219
Glib::SignalTimeout signal_type
Definition: connection_handler.h:189
sigc::connection * sigc_connection_ptr
Definition: fwddecl.h:72
static void connect(const std::tr1::shared_ptr< sigc_connection_ptr > &_A_refconnptr, const std::tr1::shared_ptr< signal_source_base > &psigsource, const slot_type &_A_slot)
Definition: connection_handler.h:104
static void store(const std::tr1::shared_ptr< sigc_connection_ptr > &_A_refconn, const sigc::connection &c)
Stores a sigc::connection in the context of the server thread.
Definition: connection_handler.cpp:40
Stores connections of any client thread to a server thread's signal and destroys them along with the ...
Definition: connection_handler.h:44
T_signal signal_type
Definition: connection_handler.h:97
sigc::slot< bool, Glib::IOCondition > slot_type
Definition: connection_handler.h:205
Definition: connection_handler.h:74
Definition: signal_traits.h:98
Definition: signal_traits.h:100
static void connect_notify(const std::tr1::shared_ptr< sigc_connection_ptr > &_A_refconnptr, const std::tr1::shared_ptr< signal_source_base > &psigsource, const void_slot_type &_A_slot, bool after)
Definition: connection_handler.h:151
std::map< const sigc_connection_ptr *const , std::tr1::shared_ptr< sigc_connection_ptr > > container_type
a map of connections living in the context of the owner thread.
Definition: connection_handler.h:80
signal_type::VoidSlotType void_slot_type
Definition: connection_handler.h:129
Glib::SignalIO signal_type
Definition: connection_handler.h:204
signal_type::slot_type slot_type
Definition: connection_handler.h:98
Glib::SignalIdle signal_type
Definition: connection_handler.h:174
Definition: auto_dispatchable.h:27
Definition: connection_handler.h:91
Definition: signal_traits.h:99
signal_source_base * signal_source_ptr
Definition: fwddecl.h:71
T_signal signal_type
Definition: connection_handler.h:127
signal_type::SlotType slot_type
Definition: connection_handler.h:128
static void connect(const std::tr1::shared_ptr< sigc_connection_ptr > &_A_refconnptr, const std::tr1::shared_ptr< signal_source_base > &psigsource, const slot_type &_A_slot, bool after)
Definition: connection_handler.h:133
A Private constructor ensures derived classes cannot be created.
Definition: noninstantiatable.h:33
sigc::slot< void, GPid, int > slot_type
Definition: connection_handler.h:220