diff options
Diffstat (limited to 'Swiften/Network')
-rw-r--r-- | Swiften/Network/DummyConnectionServer.h | 44 | ||||
-rw-r--r-- | Swiften/Network/DummyConnectionServerFactory.h | 35 |
2 files changed, 79 insertions, 0 deletions
diff --git a/Swiften/Network/DummyConnectionServer.h b/Swiften/Network/DummyConnectionServer.h new file mode 100644 index 0000000..0cbce0e --- /dev/null +++ b/Swiften/Network/DummyConnectionServer.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2010-2014 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + +#pragma once + +#include <boost/enable_shared_from_this.hpp> + +#include <Swiften/Base/API.h> +#include <Swiften/Network/ConnectionServer.h> +#include <Swiften/Network/HostAddressPort.h> +#include <Swiften/EventLoop/EventLoop.h> +#include <Swiften/EventLoop/EventOwner.h> + +namespace Swift { + class SWIFTEN_API DummyConnectionServer : public ConnectionServer, public EventOwner, public boost::enable_shared_from_this<DummyConnectionServer> { + public: + DummyConnectionServer(EventLoop* eventLoop, int port) : eventLoop(eventLoop), localAddressPort(HostAddress(), port) {} + DummyConnectionServer(EventLoop* eventLoop, const Swift::HostAddress& hostAddress, int port) : eventLoop(eventLoop), localAddressPort(hostAddress, port) {} + virtual ~DummyConnectionServer() {} + + virtual HostAddressPort getAddressPort() const { + return localAddressPort; + } + + virtual boost::optional<Error> tryStart() { + return boost::optional<Error>(); + } + + virtual void start() { + + } + + virtual void stop() { + + } + + public: + EventLoop* eventLoop; + HostAddressPort localAddressPort; + }; +} diff --git a/Swiften/Network/DummyConnectionServerFactory.h b/Swiften/Network/DummyConnectionServerFactory.h new file mode 100644 index 0000000..6369452 --- /dev/null +++ b/Swiften/Network/DummyConnectionServerFactory.h @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2014 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + +#pragma once + +#include <boost/smart_ptr/make_shared.hpp> + +#include <Swiften/Network/ConnectionServerFactory.h> +#include <Swiften/Network/DummyConnectionServer.h> + +namespace Swift { + +class EventLoop; + +class DummyConnectionServerFactory : public ConnectionServerFactory { +public: + DummyConnectionServerFactory(EventLoop* eventLoop) : eventLoop(eventLoop) {} + virtual ~DummyConnectionServerFactory() {} + + virtual boost::shared_ptr<ConnectionServer> createConnectionServer(int port) { + return boost::make_shared<DummyConnectionServer>(eventLoop, port); + } + + virtual boost::shared_ptr<ConnectionServer> createConnectionServer(const Swift::HostAddress& hostAddress, int port) { + return boost::make_shared<DummyConnectionServer>(eventLoop, hostAddress, port); + } + +private: + EventLoop* eventLoop; +}; + +} |