summaryrefslogtreecommitdiffstats
path: root/src/Common/Connection.h
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-05-30 13:37:06 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-05-30 13:37:06 +0200
commita77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898 (patch)
tree36a4c899af336c7e9dc326da7231d4d9e17e8a1b /src/Common/Connection.h
parentcb8e66c1b1f1c8076053d71347d0b1f96ca0bca1 (diff)
downloadmad-a77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898.tar
mad-a77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898.zip
Thread-sichere Signale implementiert
Diffstat (limited to 'src/Common/Connection.h')
-rw-r--r--src/Common/Connection.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/Common/Connection.h b/src/Common/Connection.h
index 5ac46a2..2d74548 100644
--- a/src/Common/Connection.h
+++ b/src/Common/Connection.h
@@ -20,11 +20,11 @@
#ifndef MAD_COMMON_CONNECTION_H_
#define MAD_COMMON_CONNECTION_H_
+#include <Net/Signals/Signals.h>
+
#include <stdint.h>
#include <sys/types.h>
-#include <boost/signal.hpp>
-
namespace Mad {
namespace Net {
@@ -35,15 +35,11 @@ namespace Common {
class XmlPacket;
-class Connection {
+class Connection : private boost::noncopyable {
private:
bool authenticated;
- boost::signal2<void, const XmlPacket&, uint16_t> signal;
-
- // Prevent shallow copy
- Connection(const Connection &o);
- Connection& operator=(const Connection &o);
+ Net::Signals::Signal2<void, const XmlPacket&, uint16_t> signalReceive;
protected:
Connection() : authenticated(0) {}
@@ -57,8 +53,8 @@ class Connection {
bool sendPacket(const XmlPacket &packet, uint16_t requestId);
- boost::signal2<void, const XmlPacket&, uint16_t>& signalReceive() {
- return signal;
+ Net::Signals::Connection connectSignalReceive(const Net::Signals::Signal2<void, const XmlPacket&, uint16_t>::slot_type &slot) {
+ return signalReceive.connect(slot);
}
virtual bool disconnect() = 0;