public class PluginManager
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
PluginManager.PluginProgress
Tracks the progress of loading and starting a plugin.
|
Modifier and Type | Field and Description |
---|---|
RequestClient |
singleUpdaterRequestClient
All plugin updates are on a single request client.
|
Constructor and Description |
---|
PluginManager(Node node,
int lastVersion) |
Modifier and Type | Method and Description |
---|---|
void |
addToadletSymlinks(PluginInfoWrapper pi)
Deprecated.
will be removed in version 1473.
|
void |
cancelRunningLoads(java.lang.String filename,
PluginManager.PluginProgress exceptFor) |
java.lang.String |
dumpPlugins() |
java.util.List<OfficialPlugins.OfficialPluginDescription> |
findAvailablePlugins()
Returns a list of the names of all available official plugins.
|
FredPluginFCP |
getFCPPlugin(java.lang.String plugname)
Deprecated.
The
FredPluginFCP API, which this returns, was deprecated to be replaced by
FredPluginFCPMessageHandler.ServerSideFCPMessageHandler . Plugin authors should
implement the new interface instead of the old, and this codepath to support plugins
which implement the old interface should be removed one day. No new code will be needed
then: The code to use the new interface already exists in its own codepath - the
equivalent function for the new API is {link #getPluginFCPServer(String)}, and it is
already being used automatically for plugins which implement it. |
PageMaker.THEME |
getFProxyTheme()
Deprecated.
will be removed in version 1473.
|
OfficialPlugins.OfficialPluginDescription |
getOfficialPlugin(java.lang.String name) |
java.util.Collection<OfficialPlugins.OfficialPluginDescription> |
getOfficialPlugins() |
FredPluginFCPMessageHandler.ServerSideFCPMessageHandler |
getPluginFCPServer(java.lang.String pluginClassName)
Get the
FredPluginFCPMessageHandler.ServerSideFCPMessageHandler of the plugin with
the given class name. |
java.io.File |
getPluginFilename(java.lang.String pluginName) |
PluginInfoWrapper |
getPluginInfo(java.lang.String plugname)
Deprecated.
This function was deprecated because the "or filename" part of the function specification
was NOT documented before it was deprecated. Thus it is possible that legacy callers of
the function did wrongly expect or not expect that. When removing this function, please
review the callers for correctness with regards to that.
You might replace usage of this function with getPluginInfoByClassName(String) . |
PluginInfoWrapper |
getPluginInfoByClassName(java.lang.String pluginClassName) |
java.util.Set<PluginInfoWrapper> |
getPlugins() |
java.util.Set<PluginManager.PluginProgress> |
getStartingPlugins()
Returns a set of all currently starting plugins.
|
java.lang.String |
handleHTTPGet(java.lang.String plugin,
HTTPRequest request) |
java.lang.String |
handleHTTPPost(java.lang.String plugin,
HTTPRequest request) |
boolean |
isEnabled() |
OfficialPlugins.OfficialPluginDescription |
isOfficialPlugin(java.lang.String name) |
boolean |
isPluginLoaded(java.lang.String plugname)
look for a Plugin with given classname
|
boolean |
isPluginLoadedOrLoadingOrWantLoad(java.lang.String plugname) |
void |
killPlugin(FredPlugin plugin,
long maxWaitTime) |
void |
killPlugin(java.lang.String name,
long maxWaitTime,
boolean reloading) |
void |
killPluginByClass(java.lang.String name,
long maxWaitTime) |
void |
killPluginByFilename(java.lang.String name,
long maxWaitTime,
boolean reloading) |
boolean |
loadOfficialPluginsFromWeb() |
void |
removeCachedCopy(java.lang.String pluginSpecification)
Removes the cached copy of the given plugin from the plugins/ directory.
|
void |
removePlugin(PluginInfoWrapper pi)
Remove a plugin from the plugin list.
|
void |
removeToadletSymlinks(PluginInfoWrapper pi)
Deprecated.
will be removed in version 1473.
|
void |
setFProxyTheme(PageMaker.THEME cssName) |
static void |
setLanguage(BaseL10n.LANGUAGE lang) |
void |
start() |
PluginInfoWrapper |
startPluginAuto(java.lang.String pluginname,
boolean store) |
PluginInfoWrapper |
startPluginFile(java.lang.String filename,
boolean store) |
PluginInfoWrapper |
startPluginFreenet(java.lang.String filename,
boolean store) |
PluginInfoWrapper |
startPluginOfficial(java.lang.String pluginname,
boolean store,
boolean force,
boolean forceHTTPS) |
PluginInfoWrapper |
startPluginOfficial(java.lang.String pluginname,
boolean store,
OfficialPlugins.OfficialPluginDescription desc,
boolean force,
boolean forceHTTPS) |
PluginInfoWrapper |
startPluginURL(java.lang.String filename,
boolean store) |
void |
stop(long maxWaitTime) |
void |
unregisterPlugin(PluginInfoWrapper wrapper,
FredPlugin plug,
boolean reloading) |
void |
unregisterPluginToadlet(PluginInfoWrapper pi) |
public final RequestClient singleUpdaterRequestClient
public PluginManager(Node node, int lastVersion)
public void start()
public void stop(long maxWaitTime)
public java.util.Set<PluginManager.PluginProgress> getStartingPlugins()
public PluginInfoWrapper startPluginAuto(java.lang.String pluginname, boolean store)
public PluginInfoWrapper startPluginOfficial(java.lang.String pluginname, boolean store, boolean force, boolean forceHTTPS)
public PluginInfoWrapper startPluginOfficial(java.lang.String pluginname, boolean store, OfficialPlugins.OfficialPluginDescription desc, boolean force, boolean forceHTTPS)
public PluginInfoWrapper startPluginFile(java.lang.String filename, boolean store)
public PluginInfoWrapper startPluginURL(java.lang.String filename, boolean store)
public PluginInfoWrapper startPluginFreenet(java.lang.String filename, boolean store)
public void cancelRunningLoads(java.lang.String filename, PluginManager.PluginProgress exceptFor)
public void removePlugin(PluginInfoWrapper pi)
public void removeCachedCopy(java.lang.String pluginSpecification)
pluginSpecification
- The plugin specificationpublic void unregisterPluginToadlet(PluginInfoWrapper pi)
@Deprecated public void addToadletSymlinks(PluginInfoWrapper pi)
@Deprecated public void removeToadletSymlinks(PluginInfoWrapper pi)
public java.lang.String dumpPlugins()
public java.util.Set<PluginInfoWrapper> getPlugins()
@Deprecated public PluginInfoWrapper getPluginInfo(java.lang.String plugname)
getPluginInfoByClassName(String)
.public PluginInfoWrapper getPluginInfoByClassName(java.lang.String pluginClassName)
pluginClassName
- The name of the main class of the plugin - that is the class which implements
FredPlugin
.PluginInfoWrapper
for the plugin with the given class name, or null if no
matching plugin was found.@Deprecated public FredPluginFCP getFCPPlugin(java.lang.String plugname)
FredPluginFCP
API, which this returns, was deprecated to be replaced by
FredPluginFCPMessageHandler.ServerSideFCPMessageHandler
. Plugin authors should
implement the new interface instead of the old, and this codepath to support plugins
which implement the old interface should be removed one day. No new code will be needed
then: The code to use the new interface already exists in its own codepath - the
equivalent function for the new API is {link #getPluginFCPServer(String)}, and it is
already being used automatically for plugins which implement it.plugname
- public FredPluginFCPMessageHandler.ServerSideFCPMessageHandler getPluginFCPServer(java.lang.String pluginClassName) throws PluginNotFoundException
FredPluginFCPMessageHandler.ServerSideFCPMessageHandler
of the plugin with
the given class name.pluginClassName
- See getPluginInfoByClassName(String)
.PluginNotFoundException
- If the specified plugin is not loaded or does not provide an FCP server.public boolean isPluginLoaded(java.lang.String plugname)
plugname
- public boolean isPluginLoadedOrLoadingOrWantLoad(java.lang.String plugname)
plugname
- The plugin filename e.g. "Library" for an official plugin.public java.lang.String handleHTTPGet(java.lang.String plugin, HTTPRequest request) throws PluginHTTPException
PluginHTTPException
public java.lang.String handleHTTPPost(java.lang.String plugin, HTTPRequest request) throws PluginHTTPException
PluginHTTPException
public void killPlugin(java.lang.String name, long maxWaitTime, boolean reloading)
public void killPluginByFilename(java.lang.String name, long maxWaitTime, boolean reloading)
public void killPluginByClass(java.lang.String name, long maxWaitTime)
public void killPlugin(FredPlugin plugin, long maxWaitTime)
public OfficialPlugins.OfficialPluginDescription getOfficialPlugin(java.lang.String name)
public java.util.Collection<OfficialPlugins.OfficialPluginDescription> getOfficialPlugins()
public java.util.List<OfficialPlugins.OfficialPluginDescription> findAvailablePlugins()
public OfficialPlugins.OfficialPluginDescription isOfficialPlugin(java.lang.String name)
public java.io.File getPluginFilename(java.lang.String pluginName)
public void setFProxyTheme(PageMaker.THEME cssName)
public static void setLanguage(BaseL10n.LANGUAGE lang)
@Deprecated public PageMaker.THEME getFProxyTheme()
public boolean loadOfficialPluginsFromWeb()
public void unregisterPlugin(PluginInfoWrapper wrapper, FredPlugin plug, boolean reloading)
public boolean isEnabled()