summaryrefslogtreecommitdiffstats
path: root/src/Core/Signals/Signal1.h
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-06-18 22:03:02 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-06-18 22:03:02 +0200
commit7234fe326d16d6bf9f4374a09ddc6ef790e6723f (patch)
tree437d4c40eeb1e9b34b369e4b82064a1572c7dac9 /src/Core/Signals/Signal1.h
parentbf561f8226e97f4ace4f04bddf198175e91ee7f0 (diff)
downloadmad-7234fe326d16d6bf9f4374a09ddc6ef790e6723f.tar
mad-7234fe326d16d6bf9f4374a09ddc6ef790e6723f.zip
Globale Variablen durch Application-Klasse ersetzt
Diffstat (limited to 'src/Core/Signals/Signal1.h')
-rw-r--r--src/Core/Signals/Signal1.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Core/Signals/Signal1.h b/src/Core/Signals/Signal1.h
index e4a946c..0a03c39 100644
--- a/src/Core/Signals/Signal1.h
+++ b/src/Core/Signals/Signal1.h
@@ -21,6 +21,7 @@
#define MAD_CORE_SIGNALS_SIGNAL1_H_
#include "GenericSignal.h"
+#include "../Application.h"
#include "../ThreadManager.h"
#include <boost/function.hpp>
@@ -32,11 +33,13 @@ namespace Signals {
template <typename T1>
class Signal1 : public GenericSignal<boost::function1<void, T1> > {
public:
+ Signal1(Application *application) : GenericSignal<boost::function1<void, T1> >(application) {}
+
void emit(T1 arg1) {
boost::lock_guard<boost::mutex> lock(this->mutex);
for(typename std::map<Connection, typename GenericSignal<boost::function1<void, T1> >::slot_type>::iterator handler = this->handlers.begin(); handler != this->handlers.end(); ++handler)
- ThreadManager::get()->pushWork(boost::bind(handler->second, arg1));
+ this->getApplication()->getThreadManager()->pushWork(boost::bind(handler->second, arg1));
}
};