summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-07-16 16:45:48 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-07-16 16:45:48 (GMT)
commit3adeaee96ab80cc6552798ad3f5812e934b45677 (patch)
treee79728d2cb671d40c6d2dea0b0260b89cb62febf /Swiften/Network/BoostConnectionServer.h
parent14f7f9f37702635019c46d97f57ee6de8c5c749e (diff)
downloadswift-3adeaee96ab80cc6552798ad3f5812e934b45677.zip
swift-3adeaee96ab80cc6552798ad3f5812e934b45677.tar.bz2
Moved BoostConnectionServer to Swiften.
Diffstat (limited to 'Swiften/Network/BoostConnectionServer.h')
-rw-r--r--Swiften/Network/BoostConnectionServer.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/Swiften/Network/BoostConnectionServer.h b/Swiften/Network/BoostConnectionServer.h
new file mode 100644
index 0000000..c92318e
--- /dev/null
+++ b/Swiften/Network/BoostConnectionServer.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/asio.hpp>
+
+#include "Swiften/Network/BoostConnection.h"
+#include "Swiften/Network/ConnectionServer.h"
+#include "Swiften/EventLoop/EventOwner.h"
+
+namespace Swift {
+ class BoostConnectionServer : public ConnectionServer, public EventOwner, public boost::enable_shared_from_this<BoostConnectionServer> {
+ public:
+ BoostConnectionServer(int port, boost::asio::io_service* ioService);
+
+ void start();
+
+ private:
+ void acceptNextConnection();
+ void handleAccept(boost::shared_ptr<BoostConnection> newConnection, const boost::system::error_code& error);
+
+ private:
+ boost::asio::ip::tcp::acceptor acceptor_;
+ };
+}