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