Package com.biglybt.pif
Class PluginManager
- java.lang.Object
-
- com.biglybt.pif.PluginManager
-
- Direct Known Subclasses:
PluginManagerImpl
public abstract class PluginManager extends java.lang.Object
This class allows the client to be started as an embedded component and also allows plugins to be dynamically registered
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
PluginManager.StartClientListener
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CA_HIBERNATE
static java.lang.String
CA_QUIT_VUZE
static java.lang.String
CA_SHUTDOWN
static java.lang.String
CA_SLEEP
static java.lang.String
PR_APP_DIRECTORY
Where the client is 'installed'.static java.lang.String
PR_DISABLE_NATIVE_SUPPORT
Set this to "true" (String) if you want to disable any native platform support String valuestatic java.lang.String
PR_DOC_DIRECTORY
Parent folder that contains the downloads directory String valuestatic java.lang.String
PR_MULTI_INSTANCE
Property Key: Allow multiple instances.static java.lang.String
PR_USER_DIRECTORY
Where the the client config (i.e.
-
Constructor Summary
Constructors Constructor Description PluginManager()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
executeCloseAction(java.lang.String action)
abstract void
firePluginEvent(int event_type)
abstract PluginInterface
getDefaultPluginInterface()
returns the default plugin interface that can be used to access plugin functionality without an explicit pluginstatic PluginManagerDefaults
getDefaults()
abstract PluginInstaller
getPluginInstaller()
abstract PluginInterface
getPluginInterfaceByClass(java.lang.Class c)
abstract PluginInterface
getPluginInterfaceByClass(java.lang.Class class_object, boolean operational)
Returns the plugin interface with a given class, or null if not found.abstract PluginInterface
getPluginInterfaceByClass(java.lang.String class_name)
abstract PluginInterface
getPluginInterfaceByClass(java.lang.String class_name, boolean operational)
Returns the plugin interface with a given class name, or null if not found.abstract PluginInterface
getPluginInterfaceByID(java.lang.String id)
returns the plugin interface with a given id, or null if not foundabstract PluginInterface
getPluginInterfaceByID(java.lang.String id, boolean operational)
Returns the plugin interface with a given id, or null if not found.abstract PluginInterface[]
getPluginInterfaces()
Gets the current set of registered plugins.abstract PluginInterface[]
getPlugins()
Gets the current set of registered plugins.abstract PluginInterface[]
getPlugins(boolean expect_partial_result)
abstract java.util.List<PluginInterface>
getPluginsWithMethod(java.lang.String name, java.lang.Class<?>[] parameters)
*since 5201abstract boolean
isInitialized()
abstract boolean
isSilentRestartEnabled()
void
refreshPluginList()
abstract void
refreshPluginList(boolean initialise)
static void
registerPlugin(Plugin plugin, java.lang.String id)
static void
registerPlugin(Plugin plugin, java.lang.String id, java.lang.String config_key)
static void
registerPlugin(java.lang.Class<? extends Plugin> plugin_class)
Programatic plugin registration interfacestatic void
restartClient()
restarts the client and performs any Update actions defined via the plugin "update" interface.static void
startClient(java.lang.String ui, java.util.Properties properties, PluginManager.StartClientListener startClientListener)
Starts client.static void
stopClient()
Shuts down the client
-
-
-
Field Detail
-
PR_MULTI_INSTANCE
public static final java.lang.String PR_MULTI_INSTANCE
Property Key: Allow multiple instances. Normally the client will only permit a single instance to run per machine. Values for this key are: "true" or "false"- Since:
- 2.0.7.0
- See Also:
- Constant Field Values
-
PR_USER_DIRECTORY
public static final java.lang.String PR_USER_DIRECTORY
Where the the client config (i.e. per-user type) state is stored String value- Since:
- 4.9.0.1
- See Also:
- Constant Field Values
-
PR_APP_DIRECTORY
public static final java.lang.String PR_APP_DIRECTORY
Where the client is 'installed'. For embedded use you probably want to set config and app dir to a shared per-user location String value- Since:
- 4.9.0.1
- See Also:
- Constant Field Values
-
PR_DOC_DIRECTORY
public static final java.lang.String PR_DOC_DIRECTORY
Parent folder that contains the downloads directory String value- Since:
- 4.9.0.1
- See Also:
- Constant Field Values
-
PR_DISABLE_NATIVE_SUPPORT
public static final java.lang.String PR_DISABLE_NATIVE_SUPPORT
Set this to "true" (String) if you want to disable any native platform support String value- Since:
- 4.9.0.1
- See Also:
- Constant Field Values
-
CA_QUIT_VUZE
public static final java.lang.String CA_QUIT_VUZE
- See Also:
- Constant Field Values
-
CA_SLEEP
public static final java.lang.String CA_SLEEP
- See Also:
- Constant Field Values
-
CA_HIBERNATE
public static final java.lang.String CA_HIBERNATE
- See Also:
- Constant Field Values
-
CA_SHUTDOWN
public static final java.lang.String CA_SHUTDOWN
- See Also:
- Constant Field Values
-
-
Method Detail
-
getDefaults
public static PluginManagerDefaults getDefaults()
-
startClient
public static void startClient(java.lang.String ui, java.util.Properties properties, PluginManager.StartClientListener startClientListener) throws PluginException
Starts client.With the exception of null ui, method does not return until client is closed.
- Parameters:
ui
- "swt", "console", "telnet", etcproperties
-- Throws:
PluginException
-
stopClient
public static void stopClient() throws PluginException
Shuts down the client- Throws:
PluginException
- Since:
- 2.0.8.0
-
restartClient
public static void restartClient() throws PluginException
restarts the client and performs any Update actions defined via the plugin "update" interface. Currently only works for SWT UIs.- Throws:
PluginException
- Since:
- 2.1.0.0
-
registerPlugin
public static void registerPlugin(java.lang.Class<? extends Plugin> plugin_class)
Programatic plugin registration interface- Parameters:
plugin_class
- this must implement Plugin- Since:
- 2.0.6.0
-
registerPlugin
public static void registerPlugin(Plugin plugin, java.lang.String id)
-
registerPlugin
public static void registerPlugin(Plugin plugin, java.lang.String id, java.lang.String config_key)
-
getPluginInterfaceByID
public abstract PluginInterface getPluginInterfaceByID(java.lang.String id, boolean operational)
Returns the plugin interface with a given id, or null if not found.- Parameters:
id
-operational
- If true, only return a PluginInterface if the plugin is operational (i.e. is running).- Since:
- 3.1.1.1
-
getPluginInterfaceByClass
public abstract PluginInterface getPluginInterfaceByClass(java.lang.String class_name, boolean operational)
Returns the plugin interface with a given class name, or null if not found.- Parameters:
class_name
-operational
- If true, only return a PluginInterface if the plugin is operational (i.e. is running).- Since:
- 3.1.1.1
-
getPluginInterfaceByClass
public abstract PluginInterface getPluginInterfaceByClass(java.lang.Class class_object, boolean operational)
Returns the plugin interface with a given class, or null if not found.- Parameters:
class_object
-operational
- If true, only return a PluginInterface if the plugin is operational (i.e. is running).- Since:
- 3.1.1.1
-
getPluginInterfaces
public abstract PluginInterface[] getPluginInterfaces()
Gets the current set of registered plugins. During initialisation this will probably give partial results as plugin initialisation is non-deterministic.- Returns:
- Since:
- 2.1.0.0
-
getDefaultPluginInterface
public abstract PluginInterface getDefaultPluginInterface()
returns the default plugin interface that can be used to access plugin functionality without an explicit plugin- Returns:
- null if unavailable
-
getPlugins
public abstract PluginInterface[] getPlugins()
Gets the current set of registered plugins. During initialisation this will probably give partial results as plugin initialisation is non-deterministic.- Returns:
- Since:
- 2.1.0.0
-
getPlugins
public abstract PluginInterface[] getPlugins(boolean expect_partial_result)
-
firePluginEvent
public abstract void firePluginEvent(int event_type)
-
getPluginInstaller
public abstract PluginInstaller getPluginInstaller()
-
refreshPluginList
public final void refreshPluginList()
-
refreshPluginList
public abstract void refreshPluginList(boolean initialise)
- Since:
- 3.1.1.1
-
isSilentRestartEnabled
public abstract boolean isSilentRestartEnabled()
-
isInitialized
public abstract boolean isInitialized()
-
executeCloseAction
public abstract void executeCloseAction(java.lang.String action) throws PluginException
- Parameters:
action
- one of the above CA_- Throws:
PluginException
- Since:
- 5701
-
getPluginInterfaceByID
public abstract PluginInterface getPluginInterfaceByID(java.lang.String id)
returns the plugin interface with a given id, or null if not found- Parameters:
id
-- Returns:
- Since:
- 2.1.0.0
-
getPluginInterfaceByClass
public abstract PluginInterface getPluginInterfaceByClass(java.lang.String class_name)
- Since:
- 2.1.0.0
-
getPluginInterfaceByClass
public abstract PluginInterface getPluginInterfaceByClass(java.lang.Class c)
-
getPluginsWithMethod
public abstract java.util.List<PluginInterface> getPluginsWithMethod(java.lang.String name, java.lang.Class<?>[] parameters)
*since 5201
-
-