diff options
author | HanzZ <hanzz.k@gmail.com> | 2011-06-18 16:24:09 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-06-18 16:24:09 (GMT) |
commit | 7147be63a03f1e133f83bc057be98cf9f2631733 (patch) | |
tree | 07dd828712aac9f783a8f3b7190213dfbd33614f /Swiften/Network/BoostConnectionServer.h | |
parent | e45f1cc4ef85ea32b8307f25d22737906a87672c (diff) | |
download | swift-contrib-7147be63a03f1e133f83bc057be98cf9f2631733.zip swift-contrib-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.h | 10 |
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; |