/* * Copyright (c) 2011-2015 Isode Limited. * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include namespace Swift { class SWIFTEN_API NATTraversalInterface { public: virtual ~NATTraversalInterface(); virtual bool isAvailable() = 0; virtual boost::optional getPublicIP() = 0; virtual boost::optional addPortForward(int localPort, int publicPort) = 0; virtual bool removePortForward(const NATPortMapping&) = 0; }; }