Class PluginManager

java.lang.Object
com.biglybt.pif.PluginManager
Direct Known Subclasses:
PluginManagerImpl

public abstract class PluginManager extends Object
This class allows the client to be started as an embedded component and also allows plugins to be dynamically registered
  • Field Details

    • PR_MULTI_INSTANCE

      public static final 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:
    • PR_USER_DIRECTORY

      public static final 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:
    • PR_APP_DIRECTORY

      public static final 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:
    • PR_DOC_DIRECTORY

      public static final String PR_DOC_DIRECTORY
      Parent folder that contains the downloads directory String value
      Since:
      4.9.0.1
      See Also:
    • PR_DISABLE_NATIVE_SUPPORT

      public static final 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:
    • CA_QUIT_VUZE

      public static final String CA_QUIT_VUZE
      See Also:
    • CA_SLEEP

      public static final String CA_SLEEP
      See Also:
    • CA_HIBERNATE

      public static final String CA_HIBERNATE
      See Also:
    • CA_SHUTDOWN

      public static final String CA_SHUTDOWN
      See Also:
  • Constructor Details

    • PluginManager

      public PluginManager()
  • Method Details

    • getDefaults

      public static PluginManagerDefaults getDefaults()
    • startClient

      public static void startClient(String ui, 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", etc
      properties -
      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(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, String id)
    • registerPlugin

      public static void registerPlugin(Plugin plugin, String id, String config_key)
    • getPluginInterfaceByID

      public abstract PluginInterface getPluginInterfaceByID(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(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(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(String action) throws PluginException
      Parameters:
      action - one of the above CA_
      Throws:
      PluginException
      Since:
      5701
    • getPluginInterfaceByID

      public abstract PluginInterface getPluginInterfaceByID(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(String class_name)
      Since:
      2.1.0.0
    • getPluginInterfaceByClass

      public abstract PluginInterface getPluginInterfaceByClass(Class c)
    • getPluginsWithMethod

      public abstract List<PluginInterface> getPluginsWithMethod(String name, Class<?>[] parameters)
      *since 5201