Package net.i2p.router.transport
Class UPnP
- java.lang.Object
-
- org.cybergarage.upnp.ControlPoint
-
- net.i2p.router.transport.UPnP
-
- All Implemented Interfaces:
HTTPRequestListener,DeviceChangeListener,EventListener
public class UPnP extends ControlPoint implements DeviceChangeListener, EventListener
This (and all in org/freenet, org/cybergarage, org/xmlpull) grabbed from freenet SVN, mid-February 2009 by zzz. This file modded somewhat to remove freenet-specific stuff, but most of the glue to I2P is in UPnPManager (which was written from scratch and is not the Limewire one referred to below). ================== This plugin implements UP&P support on a Freenet node.- Since:
- 0.7.4
- Author:
- Florent Daignière <nextgens@freenetproject.org> some code has been borrowed from Limewire : @see com.limegroup.gnutella.UPnPManager Public only for command line usage. Not a public API, not for external use.
- See Also:
- "http://www.upnp.org/", "http://en.wikipedia.org/wiki/Universal_Plug_and_Play"
-
-
Constructor Summary
Constructors Constructor Description UPnP(I2PAppContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeviceAdded(Device dev)DeviceChangeListenervoiddeviceRemoved(Device dev)DeviceChangeListenervoideventNotifyReceived(String uuid, long seq, String varName, String value)EventListener callback - unused for now - supported in miniupnpd as of 1.1DetectedIP[]getAddress()As we only support a single active IGD, and we don't currently have any way to get any IPv6 addresses, this will return at most one IPv4 address.static voidmain(String[] args)Dumps out device info in semi-HTML formatvoidonChangePublicPorts(Set<ForwardPort> ports, ForwardPortCallback cb)Registers a callback when the given ports change.StringrenderStatusHTML()warning - slowbooleanrunPlugin()voidterminate()WARNING - Blocking up to 2 secondsvoidunregisterPortMappings()-
Methods inherited from class org.cybergarage.upnp.ControlPoint
addDeviceChangeListener, addEventListener, addNotifyListener, addSearchResponseListener, finalize, getDevice, getDeviceDisposer, getDeviceList, getEventSubURI, getExpiredDeviceMonitoringInterval, getHTTPPort, getRenewSubscriber, getSearchMx, getSSDPPort, getSubscriberService, getUserData, hasDevice, httpRequestRecieved, isNMPRMode, isSubscribed, lock, notifyReceived, performAddDeviceListener, performEventListener, performNotifyListener, performRemoveDeviceListener, performSearchResponseListener, print, removeDevice, removeDevice, removeDeviceChangeListener, removeEventListener, removeExpiredDevices, removeNotifyListener, removeSearchResponseListener, renewSubscriberService, renewSubscriberService, renewSubscriberService, search, search, search, searchResponseReceived, setDeviceDisposer, setEventSubURI, setExpiredDeviceMonitoringInterval, setHTTPPort, setNMPRMode, setRenewSubscriber, setSearchMx, setSSDPPort, setUserData, start, start, start, stop, subscribe, subscribe, subscribe, subscribe, unlock, unsubscribe, unsubscribe, unsubscribe
-
-
-
-
Constructor Detail
-
UPnP
public UPnP(I2PAppContext context)
-
-
Method Detail
-
runPlugin
public boolean runPlugin()
-
terminate
public void terminate()
WARNING - Blocking up to 2 seconds
-
getAddress
public DetectedIP[] getAddress()
As we only support a single active IGD, and we don't currently have any way to get any IPv6 addresses, this will return at most one IPv4 address. Blocking!!!- Returns:
- array of length 1 containing an IPv4 address, or null
-
deviceAdded
public void deviceAdded(Device dev)
DeviceChangeListener- Specified by:
deviceAddedin interfaceDeviceChangeListener
-
unregisterPortMappings
public void unregisterPortMappings()
-
deviceRemoved
public void deviceRemoved(Device dev)
DeviceChangeListener- Specified by:
deviceRemovedin interfaceDeviceChangeListener
-
eventNotifyReceived
public void eventNotifyReceived(String uuid, long seq, String varName, String value)
EventListener callback - unused for now - supported in miniupnpd as of 1.1- Specified by:
eventNotifyReceivedin interfaceEventListener
-
renderStatusHTML
public String renderStatusHTML()
warning - slow
-
onChangePublicPorts
public void onChangePublicPorts(Set<ForwardPort> ports, ForwardPortCallback cb)
Registers a callback when the given ports change. non-blocking- Parameters:
ports- non-nullcb- in UPnPManager
-
-