diff options
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 3e9e1e0..56dc8bd 100644 --- a/Swiften/Network/BoostConnectionServer.h +++ b/Swiften/Network/BoostConnectionServer.h @@ -30,8 +30,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; @@ -39,12 +43,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; |