summaryrefslogtreecommitdiffstats
path: root/src/Net/Listener.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/Net/Listener.h
parentcb8e66c1b1f1c8076053d71347d0b1f96ca0bca1 (diff)
downloadmad-a77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898.tar
mad-a77d2d1e08e4e2e8dfb5e4fc326f6c8fe315a898.zip
Thread-sichere Signale implementiert
Diffstat (limited to 'src/Net/Listener.h')
-rw-r--r--src/Net/Listener.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Net/Listener.h b/src/Net/Listener.h
index 903c907..ec0cd22 100644
--- a/src/Net/Listener.h
+++ b/src/Net/Listener.h
@@ -38,9 +38,9 @@ class Listener : boost::noncopyable {
boost::asio::ip::tcp::acceptor acceptor;
boost::asio::ssl::context sslContext;
- std::map<boost::shared_ptr<Connection>, std::pair<boost::signals::connection, boost::signals::connection> > connections;
+ std::map<boost::shared_ptr<Connection>, std::pair<Signals::Connection, Signals::Connection> > connections;
- boost::signal1<void, boost::shared_ptr<Connection> > signal;
+ Signals::Signal1<void, boost::shared_ptr<Connection> > signal;
void handleAccept(const boost::system::error_code &error, boost::shared_ptr<Connection> con);
@@ -52,7 +52,12 @@ class Listener : boost::noncopyable {
const boost::asio::ip::tcp::endpoint &address0 = boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), 6666)) throw(Exception);
virtual ~Listener();
- boost::signal1<void, boost::shared_ptr<Connection> >& signalNewConnection() {return signal;}
+ Signals::Connection connectSignalNewConnection(const Signals::Signal1<void, boost::shared_ptr<Connection> >::slot_type &slot) {
+ return signal.connect(slot);
+ }
+ void disconnectSignalNewConnection(const Signals::Connection &connection) {
+ signal.disconnect(connection);
+ }
};
}