diff options
Diffstat (limited to 'src/Net/Signals/Signal0.h')
-rw-r--r-- | src/Net/Signals/Signal0.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Net/Signals/Signal0.h b/src/Net/Signals/Signal0.h index c468135..5c0a691 100644 --- a/src/Net/Signals/Signal0.h +++ b/src/Net/Signals/Signal0.h @@ -20,18 +20,22 @@ #ifndef MAD_NET_SIGNALS_SIGNAL0_H_ #define MAD_NET_SIGNALS_SIGNAL0_H_ -#include "SignalBase.h" +#include "GenericSignal.h" +#include <Net/ThreadManager.h> + +#include <boost/function.hpp> namespace Mad { namespace Net { namespace Signals { -class Signal0 : public SignalBase<boost::signal0<void>, boost::function0<void> > { +class Signal0 : public GenericSignal<boost::function0<void> > { public: void emit() { boost::lock_guard<boost::mutex> lock(mutex); - signal(); + for(std::map<Connection, slot_type>::iterator handler = handlers.begin(); handler != handlers.end(); ++handler) + Net::ThreadManager::get()->pushWork(handler->second); } }; |