package net.pms.external; import javax.swing.JComponent; /** * Base interface for pms plugins. Classes implementing this interface and * packaged as pms plugins will show up in the plugins section of the GUI. */ public interface ExternalListener { /** * Gets the graphical component to configure the plugin. If no configuration * is required, return null. * * @return JComponent for plugin configuration */ public JComponent config(); /** * The name of the plugin, as it will be shown in the GUI * * @return name of the plugin */ public String name(); /** * Called when pms is being closed. When this method returns, the plugin * must guarantee to have closed all threads it might have created and * released all resources. */ public void shutdown(); }