/* This code is part of Freenet. It is distributed under the GNU General
* Public License, version 2 (or at your option any later version). See
* http://www.gnu.org/ for further details of the GPL. */
package freenet.pluginmanager;
/** All the FredPlugin* APIs must be implemented by the main class - the class that implements
* FredPlugin, because that's where we look for them when loading a plugin. That allows us to
* automatically register the plugin for whichever service it is using. */
public interface FredPlugin {
// HTTP-stuff has been moved to FredPluginHTTP
/** Shut down the plugin. */
public void terminate();
/** Run the plugin. Called after node startup. Should be able to access
* queue etc at this point. Plugins which do not implement
* FredPluginThreadless will be terminated after they return from this
* function. Threadless plugins will not terminate until they are
* explicitly unloaded. */
public void runPlugin(PluginRespirator pr);
}