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>
91 class typed_connection_handler;
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