net.i2p.router.transport
Class UPnP

java.lang.Object
  extended by org.cybergarage.upnp.ControlPoint
      extended by net.i2p.router.transport.UPnP
All Implemented Interfaces:
HTTPRequestListener, DeviceChangeListener, EventListener

 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
See Also:
"http://www.upnp.org/", "http://en.wikipedia.org/wiki/Universal_Plug_and_Play"

Constructor Summary
UPnP(I2PAppContext context)
           
 
Method Summary
 void deviceAdded(Device dev)
          DeviceChangeListener
 void deviceRemoved(Device dev)
          DeviceChangeListener
 void eventNotifyReceived(String uuid, long seq, String varName, String value)
          EventListener callback - unused for now - how many devices support events?
 DetectedIP[] getAddress()
           
static void main(String[] args)
          Dumps out device info in semi-HTML format
 void onChangePublicPorts(Set<ForwardPort> ports, ForwardPortCallback cb)
          Registers a callback when the given ports change.
 String renderStatusHTML()
          warning - slow
 boolean runPlugin()
           
 void terminate()
          WARNING - Blocking up to 2 seconds
 void unregisterPortMappings()
           
 
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
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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()

deviceAdded

public void deviceAdded(Device dev)
DeviceChangeListener

Specified by:
deviceAdded in interface DeviceChangeListener

unregisterPortMappings

public void unregisterPortMappings()

deviceRemoved

public void deviceRemoved(Device dev)
DeviceChangeListener

Specified by:
deviceRemoved in interface DeviceChangeListener

eventNotifyReceived

public void eventNotifyReceived(String uuid,
                                long seq,
                                String varName,
                                String value)
EventListener callback - unused for now - how many devices support events?

Specified by:
eventNotifyReceived in interface EventListener

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-null
cb - in UPnPManager

main

public static void main(String[] args)
                 throws Exception
Dumps out device info in semi-HTML format

Throws:
Exception