#include "UPNP.h"
#include "UDP.h"
#include "TCP.h"
#include "../base/Memory.h"
#include "../base/Locks.h"
#include "../base/DebugRouter.h"
#include "../base/Timer.h"
#include "../base/MiscStuff.h"
#include "PlatformSockets.h"
#include <algorithm>
#include <cctype>

Namespaces | |
| namespace | NET | 
| namespace | NET::UPNP | 
Functions | |
| bool | NET::UPNP::IsAvailable () | 
| Returns whether UPNP service is available on the network. If this returns false, most other functions here will likely fail.  | |
| std::string | NET::UPNP::GetInternetFacingIP () | 
| Retrieves the public internet-facing IP of the local network. If that information is not available, an the IP of the local machine is returned instead.  | |
| std::string | NET::UPNP::GetDeviceName () | 
| Returns the name of the router device that we are talking to with UPNP.  | |
| void | NET::UPNP::ClaimUDPPort (uint16 port) | 
| Instructs the router to redirect all UDP packets sent to a specific port to us.  | |
| void | NET::UPNP::ClaimTCPPort (uint16 port) | 
| Instructs the router to redirect all TCP connection attempts to a specific port to us.  | |
| void | NET::UPNP::ReleaseUDPPort (uint16 port) | 
| Instructs the router that we are no longer interested in a specific udp port.  | |
| void | NET::UPNP::ReleaseTCPPort (uint16 port) | 
| Instructs the router that we are no longer interested in a specific tcp port.  | |
Variables | |
| bool | NET::UPNP::AllowNinjaNatTechniques = true | 
| Whether the framework should attempt to try other nat-opening techniques if UPNP is not available when either of the Claim*Port functions are called. These techniques may include sending out packets and trying to open tcp connections. Default is true.  | |
 1.5.6