summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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 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;