diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-05-30 13:37:06 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-05-30 13:37:06 +0200 |
commit | a77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898 (patch) | |
tree | 36a4c899af336c7e9dc326da7231d4d9e17e8a1b /src/Common/Connection.h | |
parent | cb8e66c1b1f1c8076053d71347d0b1f96ca0bca1 (diff) | |
download | mad-a77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898.tar mad-a77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898.zip |
Thread-sichere Signale implementiert
Diffstat (limited to 'src/Common/Connection.h')
-rw-r--r-- | src/Common/Connection.h | 16 |
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; |