summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHanzZ <hanzz.k@gmail.com>2011-06-18 16:24:09 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-06-18 16:24:09 (GMT)
commit7147be63a03f1e133f83bc057be98cf9f2631733 (patch)
tree07dd828712aac9f783a8f3b7190213dfbd33614f /Swiften/Network/BoostConnectionServer.h
parente45f1cc4ef85ea32b8307f25d22737906a87672c (diff)
downloadswift-7147be63a03f1e133f83bc057be98cf9f2631733.zip
swift-7147be63a03f1e133f83bc057be98cf9f2631733.tar.bz2
Added ConnectionServerFactory.
License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
Diffstat (limited to 'Swiften/Network/BoostConnectionServer.h')
-rw-r--r--Swiften/Network/BoostConnectionServer.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/Swiften/Network/BoostConnectionServer.h b/Swiften/Network/BoostConnectionServer.h
index a45e598..aba9e3e 100644
--- a/Swiften/Network/BoostConnectionServer.h
+++ b/Swiften/Network/BoostConnectionServer.h
@@ -29,8 +29,12 @@ namespace Swift {
return ref(new BoostConnectionServer(port, ioService, eventLoop));
}
- void start();
- void stop();
+ static ref create(const HostAddress &address, int port, boost::shared_ptr<boost::asio::io_service> ioService, EventLoop* eventLoop) {
+ return ref(new BoostConnectionServer(address, port, ioService, eventLoop));
+ }
+
+ virtual void start();
+ virtual void stop();
virtual HostAddressPort getAddressPort() const;
@@ -38,12 +42,14 @@ namespace Swift {
private:
BoostConnectionServer(int port, boost::shared_ptr<boost::asio::io_service> ioService, EventLoop* eventLoop);
+ BoostConnectionServer(const HostAddress &address, int port, boost::shared_ptr<boost::asio::io_service> ioService, EventLoop* eventLoop);
void stop(boost::optional<Error> e);
void acceptNextConnection();
void handleAccept(boost::shared_ptr<BoostConnection> newConnection, const boost::system::error_code& error);
private:
+ HostAddress address_;
int port_;
boost::shared_ptr<boost::asio::io_service> ioService_;
EventLoop* eventLoop;