20 #ifndef __pbd_signals_h__
21 #define __pbd_signals_h__
30 #include <glibmm/threads.h>
32 #include <boost/noncopyable.hpp>
33 #include <boost/bind.hpp>
34 #include <boost/bind/protect.hpp>
35 #include <boost/function.hpp>
36 #include <boost/enable_shared_from_this.hpp>
37 #include <boost/optional.hpp>
43 #define DEBUG_PBD_SIGNAL_CONNECTIONS
46 #ifdef DEBUG_PBD_SIGNAL_CONNECTIONS
59 #ifdef DEBUG_PBD_SIGNAL_CONNECTIONS
60 : _debug_connection (
false)
65 #ifdef DEBUG_PBD_SIGNAL_CONNECTIONS
71 #ifdef DEBUG_PBD_SIGNAL_CONNECTIONS
85 _signal->disconnect (shared_from_this ());
107 template <
typename Iter>
110 while (first != last) {
149 UnscopedConnection
_c;
158 void add_connection (
const UnscopedConnection& c);
159 void drop_connections ();
182 #include "pbd/signals_generated.h"
Connection(SignalBase *b)
ScopedConnection(UnscopedConnection c)
Glib::Threads::Mutex _mutex
Glib::Threads::Mutex _mutex
std::list< ScopedConnection * > ConnectionList
void set_debug_connection(bool yn)
Glib::Threads::Mutex _lock
boost::optional< R > result_type
boost::shared_ptr< Connection > UnscopedConnection
result_type operator()(Iter first, Iter last) const