Package com.biglybt.pifimpl.remote
Class RPPluginInterface
- java.lang.Object
-
- com.biglybt.pifimpl.remote.RPObject
-
- com.biglybt.pifimpl.remote.RPPluginInterface
-
- All Implemented Interfaces:
PluginInterface
,java.io.Serializable
public class RPPluginInterface extends RPObject implements PluginInterface
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description long
_connection_id
java.lang.String
azureus_name
java.lang.String
azureus_version
protected static long
connection_id_next
protected PluginInterface
delegate
protected long
request_id_next
-
Fields inherited from class com.biglybt.pifimpl.remote.RPObject
__delegate, _dispatcher, _object_id, next_key, object_registry, object_registry_reverse
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RPPluginInterface(PluginInterface _delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
_getConectionId()
protected long
_getNextRequestId()
RPReply
_process(RPRequest request)
protected void
_setDelegate(java.lang.Object _delegate)
java.lang.Object
_setLocal()
void
addEventListener(PluginEventListener l)
void
addListener(PluginListener l)
static RPPluginInterface
create(PluginInterface _delegate)
void
firePluginEvent(PluginEvent event)
Fire a plugin-specific event.java.lang.String
getApplicationName()
Returns the name of the application that the user sees - if you need to display the name of the program, you should use this method.java.lang.String
getApplicationVersion()
Retrieve the Application's version as a string.java.lang.String
getAzureusName()
Retrieve the name of the application.ClientIDManager
getClientIDManager()
ConnectionManager
getConnectionManager()
Get the connection manager.DistributedDatabase
getDistributedDatabase()
Get the distributed databaseDownloadManager
getDownloadManager()
Gives access to the download managerIPCInterface
getIPC()
Get the inter-plugin-communications interface for this pluginIPFilter
getIPFilter()
Gives access to the IP filterPluginInterface
getLocalPluginInterface(java.lang.Class plugin, java.lang.String id)
Returns an initialised plugin instance with its own scope (e.g.Logger
getLogger()
Gives access to the loggerMainlineDHTManager
getMainlineDHTManager()
Returns the manager object for registering plugins that connect to the Mainline DHT.MessageManager
getMessageManager()
Get the peer messaging manager.java.lang.String
getPerUserPluginDirectoryName()
gives access to the per-user plugin directory.PlatformManager
getPlatformManager()
Gets the platform manager that gives access to native functionalityPlugin
getPlugin()
Gives access to the plugin itselfjava.lang.ClassLoader
getPluginClassLoader()
gives access to the ClassLoader used to load the pluginPluginConfig
getPluginconfig()
Gives access to the plugin config interfacejava.lang.String
getPluginDirectoryName()
Gives access to the plugin installation path - note, if you want to use this path to store data files in, it would be better for you to usePluginConfig.getPluginUserFile(String)
instead.java.lang.String
getPluginID()
Returns an identifier used to identify this particular pluginPluginManager
getPluginManager()
gives access to the plugin managerjava.lang.String
getPluginName()
Returns the value of "plugin.name" if it exists in the properties file, otherwise the directory name is returned.java.util.Properties
getPluginProperties()
gives access to the plugin propertiesPluginState
getPluginState()
Returns an object that provides information the current state of the plugin, and provides various mechanisms to query and control plugins and their integration with the client at a low-level.java.lang.String
getPluginVersion()
Returns the version number of the plugin it if can be deduced from either the name of the jar file it is loaded from or the properties file.ShareManager
getShareManager()
Gives access to the sharing functionalityShortCuts
getShortCuts()
access to a set of convenience routines for doing things in a quicker, although less structured, fashionTorrentManager
getTorrentManager()
Gives access to the torrent managerTracker
getTracker()
Gives access to the tracker functionalityUIManager
getUIManager()
access to UI extension featuresUpdateManager
getUpdateManager()
access to the update manager used to update plugins.Utilities
getUtilities()
access to various utility functionsboolean
isInitialisationThread()
Indicates whether or not the current thread is the one responsible for running plugin initialisationboolean
isSigned()
void
removeEventListener(PluginEventListener l)
void
removeListener(PluginListener l)
-
Methods inherited from class com.biglybt.pifimpl.remote.RPObject
_fixupLocal, _getDelegate, _getName, _getOID, _lookupLocal, _lookupLocal, _refresh, _setRemote, getDispatcher, notSupported, notSupported
-
-
-
-
Field Detail
-
connection_id_next
protected static transient long connection_id_next
-
delegate
protected transient PluginInterface delegate
-
request_id_next
protected transient long request_id_next
-
azureus_name
public java.lang.String azureus_name
-
azureus_version
public java.lang.String azureus_version
-
_connection_id
public long _connection_id
-
-
Constructor Detail
-
RPPluginInterface
protected RPPluginInterface(PluginInterface _delegate)
-
-
Method Detail
-
create
public static RPPluginInterface create(PluginInterface _delegate)
-
_getConectionId
protected long _getConectionId()
-
_getNextRequestId
protected long _getNextRequestId()
-
_setDelegate
protected void _setDelegate(java.lang.Object _delegate)
- Overrides:
_setDelegate
in classRPObject
-
_setLocal
public java.lang.Object _setLocal() throws RPException
- Overrides:
_setLocal
in classRPObject
- Throws:
RPException
-
getPluginManager
public PluginManager getPluginManager()
Description copied from interface:PluginInterface
gives access to the plugin manager- Specified by:
getPluginManager
in interfacePluginInterface
-
getPlugin
public Plugin getPlugin()
Description copied from interface:PluginInterface
Gives access to the plugin itself- Specified by:
getPlugin
in interfacePluginInterface
-
getAzureusName
public java.lang.String getAzureusName()
Description copied from interface:PluginInterface
Retrieve the name of the application.- Specified by:
getAzureusName
in interfacePluginInterface
- Returns:
- the Application's name
-
getApplicationVersion
public java.lang.String getApplicationVersion()
Description copied from interface:PluginInterface
Retrieve the Application's version as a string.- Specified by:
getApplicationVersion
in interfacePluginInterface
- Returns:
- Application's version. Typically in the following formats (regexp):
[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+_CVS
[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+_B[0-9]+
-
getApplicationName
public java.lang.String getApplicationName()
Description copied from interface:PluginInterface
Returns the name of the application that the user sees - if you need to display the name of the program, you should use this method.- Specified by:
getApplicationName
in interfacePluginInterface
-
getTracker
public Tracker getTracker()
Description copied from interface:PluginInterface
Gives access to the tracker functionality- Specified by:
getTracker
in interfacePluginInterface
- Returns:
- The tracker
-
getLogger
public Logger getLogger()
Description copied from interface:PluginInterface
Gives access to the logger- Specified by:
getLogger
in interfacePluginInterface
- Returns:
- The logger
-
getIPFilter
public IPFilter getIPFilter()
Description copied from interface:PluginInterface
Gives access to the IP filter- Specified by:
getIPFilter
in interfacePluginInterface
- Returns:
- An object that allows access to IP Filtering
-
getDownloadManager
public DownloadManager getDownloadManager()
Description copied from interface:PluginInterface
Gives access to the download manager- Specified by:
getDownloadManager
in interfacePluginInterface
- Returns:
- An object that allows management of downloads
-
getShareManager
public ShareManager getShareManager() throws ShareException
Description copied from interface:PluginInterface
Gives access to the sharing functionality- Specified by:
getShareManager
in interfacePluginInterface
- Throws:
ShareException
-
getUtilities
public Utilities getUtilities()
Description copied from interface:PluginInterface
access to various utility functions- Specified by:
getUtilities
in interfacePluginInterface
-
getShortCuts
public ShortCuts getShortCuts()
Description copied from interface:PluginInterface
access to a set of convenience routines for doing things in a quicker, although less structured, fashion- Specified by:
getShortCuts
in interfacePluginInterface
-
getUIManager
public UIManager getUIManager()
Description copied from interface:PluginInterface
access to UI extension features- Specified by:
getUIManager
in interfacePluginInterface
-
getTorrentManager
public TorrentManager getTorrentManager()
Description copied from interface:PluginInterface
Gives access to the torrent manager- Specified by:
getTorrentManager
in interfacePluginInterface
- Returns:
- An object to manage torrents
-
getPluginProperties
public java.util.Properties getPluginProperties()
Description copied from interface:PluginInterface
gives access to the plugin properties- Specified by:
getPluginProperties
in interfacePluginInterface
- Returns:
- the properties from the file plugin.properties
-
getPluginDirectoryName
public java.lang.String getPluginDirectoryName()
Description copied from interface:PluginInterface
Gives access to the plugin installation path - note, if you want to use this path to store data files in, it would be better for you to usePluginConfig.getPluginUserFile(String)
instead.- Specified by:
getPluginDirectoryName
in interfacePluginInterface
- Returns:
- the full path the plugin is installed in
-
getPerUserPluginDirectoryName
public java.lang.String getPerUserPluginDirectoryName()
Description copied from interface:PluginInterface
gives access to the per-user plugin directory. Useful for shared plugins that need to store per-user state. Will be same as getPluginDirectoryName for per-user installed plugins directory may not yet exist- Specified by:
getPerUserPluginDirectoryName
in interfacePluginInterface
-
getPluginName
public java.lang.String getPluginName()
Description copied from interface:PluginInterface
Returns the value of "plugin.name" if it exists in the properties file, otherwise the directory name is returned.- Specified by:
getPluginName
in interfacePluginInterface
-
getPluginID
public java.lang.String getPluginID()
Description copied from interface:PluginInterface
Returns an identifier used to identify this particular plugin- Specified by:
getPluginID
in interfacePluginInterface
-
isSigned
public boolean isSigned()
-
getPluginVersion
public java.lang.String getPluginVersion()
Description copied from interface:PluginInterface
Returns the version number of the plugin it if can be deduced from either the name of the jar file it is loaded from or the properties file. null otherwise- Specified by:
getPluginVersion
in interfacePluginInterface
- Returns:
- Version number as a string, or null
-
getPluginconfig
public PluginConfig getPluginconfig()
Description copied from interface:PluginInterface
Gives access to the plugin config interface- Specified by:
getPluginconfig
in interfacePluginInterface
- Returns:
- the PluginConfig object associated with this plugin
-
getPluginClassLoader
public java.lang.ClassLoader getPluginClassLoader()
Description copied from interface:PluginInterface
gives access to the ClassLoader used to load the plugin- Specified by:
getPluginClassLoader
in interfacePluginInterface
-
getLocalPluginInterface
public PluginInterface getLocalPluginInterface(java.lang.Class plugin, java.lang.String id)
Description copied from interface:PluginInterface
Returns an initialised plugin instance with its own scope (e.g. for config params). Designed for loading secondary plugins directly from a primary one. Note - ensure that the bundled secondary plugins do *not* contain a plugin.properties as this will cause no end of problems.- Specified by:
getLocalPluginInterface
in interfacePluginInterface
- Parameters:
plugin
- must implement Pluginid
- the unique id of this plugin (used to scope config params etc)
-
getIPC
public IPCInterface getIPC()
Description copied from interface:PluginInterface
Get the inter-plugin-communications interface for this plugin- Specified by:
getIPC
in interfacePluginInterface
-
getUpdateManager
public UpdateManager getUpdateManager()
Description copied from interface:PluginInterface
access to the update manager used to update plugins. required for non-Azureus SF hosted plugins (SF ones are managed automatically)- Specified by:
getUpdateManager
in interfacePluginInterface
-
isInitialisationThread
public boolean isInitialisationThread()
Description copied from interface:PluginInterface
Indicates whether or not the current thread is the one responsible for running plugin initialisation- Specified by:
isInitialisationThread
in interfacePluginInterface
-
getClientIDManager
public ClientIDManager getClientIDManager()
- Specified by:
getClientIDManager
in interfacePluginInterface
-
getConnectionManager
public ConnectionManager getConnectionManager()
Description copied from interface:PluginInterface
Get the connection manager.- Specified by:
getConnectionManager
in interfacePluginInterface
- Returns:
- manager
-
getMessageManager
public MessageManager getMessageManager()
Description copied from interface:PluginInterface
Get the peer messaging manager.- Specified by:
getMessageManager
in interfacePluginInterface
- Returns:
- manager
-
getDistributedDatabase
public DistributedDatabase getDistributedDatabase()
Description copied from interface:PluginInterface
Get the distributed database- Specified by:
getDistributedDatabase
in interfacePluginInterface
-
getPlatformManager
public PlatformManager getPlatformManager()
Description copied from interface:PluginInterface
Gets the platform manager that gives access to native functionality- Specified by:
getPlatformManager
in interfacePluginInterface
-
addListener
public void addListener(PluginListener l)
- Specified by:
addListener
in interfacePluginInterface
-
removeListener
public void removeListener(PluginListener l)
- Specified by:
removeListener
in interfacePluginInterface
-
firePluginEvent
public void firePluginEvent(PluginEvent event)
Description copied from interface:PluginInterface
Fire a plugin-specific event. See PluginEvent for details of type values to use- Specified by:
firePluginEvent
in interfacePluginInterface
- Parameters:
event
- plugin event
-
addEventListener
public void addEventListener(PluginEventListener l)
- Specified by:
addEventListener
in interfacePluginInterface
-
removeEventListener
public void removeEventListener(PluginEventListener l)
- Specified by:
removeEventListener
in interfacePluginInterface
-
getMainlineDHTManager
public MainlineDHTManager getMainlineDHTManager()
Description copied from interface:PluginInterface
Returns the manager object for registering plugins that connect to the Mainline DHT.- Specified by:
getMainlineDHTManager
in interfacePluginInterface
-
getPluginState
public PluginState getPluginState()
Description copied from interface:PluginInterface
Returns an object that provides information the current state of the plugin, and provides various mechanisms to query and control plugins and their integration with the client at a low-level.- Specified by:
getPluginState
in interfacePluginInterface
-
-