📄 plugininterfaceimpl.java
字号:
return config;
}
public PluginConfigUIFactory getPluginConfigUIFactory()
{
return new PluginConfigUIFactoryImpl(config, pluginConfigKey);
}
public String getPluginConfigKey()
{
return pluginConfigKey;
}
public Tracker getTracker()
{
return TrackerImpl.getSingleton();
}
public ShareManager getShareManager()
throws ShareException
{
return ShareManagerImpl.getSingleton();
}
public DownloadManager getDownloadManager()
{
return DownloadManagerImpl.getSingleton(initialiser.getAzureusCore());
}
public MainlineDHTManager getMainlineDHTManager()
{
return new MainlineDHTManagerImpl(initialiser.getAzureusCore());
}
public TorrentManager getTorrentManager()
{
return TorrentManagerImpl.getSingleton().specialise(this);
}
public Logger getLogger()
{
if (logger == null)
logger = new LoggerImpl(this);
return logger;
}
public IPFilter getIPFilter()
{
return new IPFilterImpl();
}
public Utilities getUtilities()
{
return new UtilitiesImpl(initialiser.getAzureusCore(), this);
}
public ShortCuts getShortCuts()
{
return new ShortCutsImpl(this);
}
public UIManager getUIManager()
{
return new UIManagerImpl(this);
}
public UpdateManager getUpdateManager()
{
return UpdateManagerImpl.getSingleton(initialiser.getAzureusCore());
}
protected void unloadSupport()
{
ipc_interface.unload();
UIManagerImpl.unload(this);
}
public boolean isUnloadable()
{
PluginDeprecation.call("unloadable", given_plugin_id);
return getPluginState().isUnloadable();
}
public void reload()
throws PluginException
{
PluginDeprecation.call("reload", given_plugin_id);
getPluginState().reload();
}
public void unload()
throws PluginException
{
PluginDeprecation.call("unload", given_plugin_id);
getPluginState().unload();
}
public void uninstall()
throws PluginException
{
PluginDeprecation.call("uninstall", given_plugin_id);
getPluginState().uninstall();
}
public boolean isInitialisationThread()
{
return initialiser.isInitialisationThread();
}
public ClientIDManager getClientIDManager()
{
return ClientIDManagerImpl.getSingleton();
}
public ConnectionManager getConnectionManager()
{
return ConnectionManagerImpl.getSingleton(initialiser.getAzureusCore());
}
public MessageManager getMessageManager()
{
return MessageManagerImpl.getSingleton(initialiser.getAzureusCore());
}
public DistributedDatabase getDistributedDatabase()
{
return DDBaseImpl.getSingleton(initialiser.getAzureusCore());
}
public PlatformManager getPlatformManager()
{
return PlatformManagerFactory.getPlatformManager();
}
protected void initialisationComplete()
{
for (Iterator it = listeners.iterator(); it.hasNext();)
try
{
fireInitComplete((PluginListener)it.next());
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
for (int i = 0; i < children.size(); i++)
((PluginInterfaceImpl)children.get(i)).initialisationComplete();
}
protected void fireInitComplete(PluginListener listener)
{
label0:
{
synchronized (init_complete_fired_set)
{
if (!init_complete_fired_set.contains(listener))
break label0;
}
return;
}
init_complete_fired_set.add(listener);
set;
JVM INSTR monitorexit ;
goto _L1
exception;
throw exception;
_L1:
listener.initializationComplete();
return;
}
protected void closedownInitiated()
{
for (Iterator it = listeners.iterator(); it.hasNext();)
try
{
((PluginListener)it.next()).closedownInitiated();
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
for (int i = 0; i < children.size(); i++)
((PluginInterfaceImpl)children.get(i)).closedownInitiated();
}
protected void closedownComplete()
{
for (Iterator it = listeners.iterator(); it.hasNext();)
try
{
((PluginListener)it.next()).closedownComplete();
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
for (int i = 0; i < children.size(); i++)
((PluginInterfaceImpl)children.get(i)).closedownComplete();
}
public void firePluginEvent(PluginEvent event)
{
for (Iterator it = event_listeners.iterator(); it.hasNext();)
try
{
((PluginEventListener)it.next()).handleEvent(event);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
for (int i = 0; i < children.size(); i++)
((PluginInterfaceImpl)children.get(i)).firePluginEvent(event);
}
public ClassLoader getPluginClassLoader()
{
return class_loader;
}
public PluginInterface getLocalPluginInterface(Class plugin_class, String id)
throws PluginException
{
PluginInterfaceImpl pi;
Plugin p = (Plugin)plugin_class.newInstance();
Properties local_props = new Properties(props);
local_props.remove("plugin.id");
pi = new PluginInterfaceImpl(p, initialiser, initialiser_key, class_loader, (new StringBuilder()).append(key).append(".").append(id).toString(), local_props, pluginDir, (new StringBuilder()).append(getPluginID()).append(".").append(id).toString(), plugin_version);
initialiser.fireCreated(pi);
p.initialize(pi);
children.add(pi);
return pi;
Throwable e;
e;
if (e instanceof PluginException)
throw (PluginException)e;
else
throw new PluginException("Local initialisation fails", e);
}
public IPCInterface getIPC()
{
return ipc_interface;
}
public boolean isShared()
{
PluginDeprecation.call("isShared", given_plugin_id);
return getPluginState().isShared();
}
void setAsFailed()
{
getPluginState().setDisabled(true);
state.failed = true;
}
public void addListener(PluginListener l)
{
listeners.add(l);
if (initialiser.isInitialisationComplete())
fireInitComplete(l);
}
public void removeListener(final PluginListener l)
{
listeners.remove(l);
new DelayedEvent("PIL:clear", 10000L, new AERunnable() {
final PluginListener val$l;
final PluginInterfaceImpl this$0;
public void runSupport()
{
synchronized (init_complete_fired_set)
{
init_complete_fired_set.remove(l);
}
}
{
this$0 = PluginInterfaceImpl.this;
l = pluginlistener;
super();
}
});
}
public void addEventListener(PluginEventListener l)
{
event_listeners.add(l);
}
public void removeEventListener(PluginEventListener l)
{
event_listeners.remove(l);
}
protected void generateEvidence(IndentWriter writer)
{
writer.println(getPluginName());
writer.indent();
writer.println((new StringBuilder()).append("id:").append(getPluginID()).append(",version:").append(getPluginVersion()).toString());
String user_dir = FileUtil.getUserFile("plugins").toString();
String shared_dir = FileUtil.getApplicationFile("plugins").toString();
String plugin_dir = getPluginDirectoryName();
String type;
if (plugin_dir.startsWith(shared_dir))
type = "shared";
else
if (plugin_dir.startsWith(user_dir))
type = "per-user";
else
type = "built-in";
writer.println((new StringBuilder()).append("type:").append(type).append(",enabled:").append(!getPluginState().isDisabled()).append(",operational:").append(getPluginState().isOperational()).toString());
writer.exdent();
break MISSING_BLOCK_LABEL_192;
Exception exception;
exception;
writer.exdent();
throw exception;
}
public boolean isDisabled()
{
PluginDeprecation.call("isDisabled", given_plugin_id);
return getPluginState().isDisabled();
}
public void setDisabled(boolean disabled)
{
PluginDeprecation.call("setDisabled", given_plugin_id);
getPluginState().setDisabled(disabled);
}
public PluginState getPluginState()
{
return state;
}
PluginStateImpl getPluginStateImpl()
{
return state;
}
static
{
LOGID = LogIDs.PLUGIN;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -