📄 updatecheckerimpl.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: UpdateCheckerImpl.java
package org.gudy.azureus2.pluginsimpl.local.update;
import java.util.ArrayList;
import java.util.List;
import org.gudy.azureus2.core3.util.*;
import org.gudy.azureus2.plugins.update.*;
import org.gudy.azureus2.plugins.utils.resourcedownloader.ResourceDownloader;
// Referenced classes of package org.gudy.azureus2.pluginsimpl.local.update:
// UpdatableComponentImpl, UpdateCheckInstanceImpl
public class UpdateCheckerImpl
implements UpdateChecker
{
protected UpdateCheckInstanceImpl check_instance;
protected UpdatableComponentImpl component;
protected AESemaphore semaphore;
protected boolean completed;
protected boolean failed;
protected boolean cancelled;
protected boolean sem_released;
protected List listeners;
protected List progress_listeners;
protected AEMonitor this_mon;
protected UpdateCheckerImpl(UpdateCheckInstanceImpl _check_instance, UpdatableComponentImpl _component, AESemaphore _sem)
{
listeners = new ArrayList();
progress_listeners = new ArrayList();
this_mon = new AEMonitor("UpdateChecker");
check_instance = _check_instance;
component = _component;
semaphore = _sem;
}
public UpdateCheckInstance getCheckInstance()
{
return check_instance;
}
public Update addUpdate(String name, String description[], String new_version, ResourceDownloader downloader, int restart_required)
{
return addUpdate(name, description, new_version, new ResourceDownloader[] {
downloader
}, restart_required);
}
public Update addUpdate(String name, String description[], String new_version, ResourceDownloader downloaders[], int restart_required)
{
reportProgress((new StringBuilder()).append("Adding update: ").append(name).toString());
return check_instance.addUpdate(component, name, description, new_version, downloaders, restart_required);
}
public UpdateInstaller createInstaller()
throws UpdateException
{
return check_instance.createInstaller();
}
public UpdatableComponent getComponent()
{
return component.getComponent();
}
public void completed()
{
this_mon.enter();
if (!sem_released)
{
completed = true;
for (int i = 0; i < listeners.size(); i++)
try
{
((UpdateCheckerListener)listeners.get(i)).completed(this);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
sem_released = true;
semaphore.release();
}
this_mon.exit();
break MISSING_BLOCK_LABEL_99;
Exception exception;
exception;
this_mon.exit();
throw exception;
}
public void failed()
{
this_mon.enter();
if (!sem_released)
{
failed = true;
for (int i = 0; i < listeners.size(); i++)
try
{
((UpdateCheckerListener)listeners.get(i)).failed(this);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
sem_released = true;
semaphore.release();
}
this_mon.exit();
break MISSING_BLOCK_LABEL_99;
Exception exception;
exception;
this_mon.exit();
throw exception;
}
protected boolean getFailed()
{
return failed;
}
protected void cancel()
{
cancelled = true;
for (int i = 0; i < listeners.size(); i++)
try
{
((UpdateCheckerListener)listeners.get(i)).cancelled(this);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
public void addListener(UpdateCheckerListener l)
{
this_mon.enter();
listeners.add(l);
if (failed)
l.failed(this);
else
if (completed)
l.completed(this);
if (cancelled)
l.cancelled(this);
this_mon.exit();
break MISSING_BLOCK_LABEL_83;
Exception exception;
exception;
this_mon.exit();
throw exception;
}
public void removeListener(UpdateCheckerListener l)
{
this_mon.enter();
listeners.remove(l);
this_mon.exit();
break MISSING_BLOCK_LABEL_38;
Exception exception;
exception;
this_mon.exit();
throw exception;
}
public void reportProgress(String str)
{
List ref = progress_listeners;
for (int i = 0; i < ref.size(); i++)
try
{
((UpdateProgressListener)ref.get(i)).reportProgress(str);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
public void addProgressListener(UpdateProgressListener l)
{
this_mon.enter();
List new_l = new ArrayList(progress_listeners);
new_l.add(l);
progress_listeners = new_l;
this_mon.exit();
break MISSING_BLOCK_LABEL_52;
Exception exception;
exception;
this_mon.exit();
throw exception;
}
public void removeProgressListener(UpdateProgressListener l)
{
this_mon.enter();
List new_l = new ArrayList(progress_listeners);
new_l.remove(l);
progress_listeners = new_l;
this_mon.exit();
break MISSING_BLOCK_LABEL_52;
Exception exception;
exception;
this_mon.exit();
throw exception;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -