⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 torrentdownloadermanager.java

📁 java 文件下载器。可自定义
💻 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:   TorrentDownloaderManager.java

package org.gudy.azureus2.core3.torrentdownloader.impl;

import java.io.File;
import java.util.ArrayList;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.global.GlobalManager;
import org.gudy.azureus2.core3.torrentdownloader.*;

// Referenced classes of package org.gudy.azureus2.core3.torrentdownloader.impl:
//			TorrentDownloaderImpl

public class TorrentDownloaderManager
	implements TorrentDownloaderCallBackInterface
{

	private static TorrentDownloaderManager man = null;
	private boolean logged;
	private boolean autostart;
	private GlobalManager gm;
	private String downloaddir;
	private ArrayList running;
	private ArrayList queued;
	private ArrayList errors;

	public TorrentDownloaderManager()
	{
		logged = false;
		autostart = false;
		gm = null;
		running = new ArrayList();
		queued = new ArrayList();
		errors = new ArrayList();
		try
		{
			downloaddir = COConfigurationManager.getDirectoryParameter("Default save path");
		}
		catch (Exception e)
		{
			downloaddir = null;
		}
	}

	public static TorrentDownloaderManager getInstance()
	{
		if (man == null)
			man = new TorrentDownloaderManager();
		return man;
	}

	public void init(GlobalManager _gm, boolean _logged, boolean _autostart, String _downloaddir)
	{
		gm = _gm;
		logged = _logged;
		autostart = _autostart;
		if (_downloaddir != null)
			downloaddir = _downloaddir;
	}

	public TorrentDownloader add(TorrentDownloader dl)
	{
		if (dl.getDownloadState() == 4)
			errors.add(dl);
		else
		if (running.contains(dl) || queued.contains(dl))
		{
			((TorrentDownloaderImpl)dl).setDownloadState(5);
			((TorrentDownloaderImpl)dl).notifyListener();
			errors.add(dl);
		} else
		if (autostart)
			dl.start();
		else
			queued.add(dl);
		return dl;
	}

	public TorrentDownloader download(String url, String fileordir, boolean logged)
	{
		return add(TorrentDownloaderFactory.create(this, url, null, fileordir, logged));
	}

	public TorrentDownloader download(String url, boolean logged)
	{
		return add(TorrentDownloaderFactory.create(this, url, null, null, logged));
	}

	public TorrentDownloader download(String url, String fileordir)
	{
		return add(TorrentDownloaderFactory.create(this, url, null, fileordir, logged));
	}

	public TorrentDownloader download(String url)
	{
		return add(TorrentDownloaderFactory.create(this, url, logged));
	}

	public void TorrentDownloaderEvent(int state, TorrentDownloader inf)
	{
		switch (state)
		{
		case 2: // '\002'
		default:
			break;

		case 1: // '\001'
			if (queued.contains(inf))
				queued.remove(inf);
			if (!running.contains(inf))
				running.add(inf);
			break;

		case 3: // '\003'
			remove(inf);
			if (gm != null && downloaddir != null)
				gm.addDownloadManager(inf.getFile().getAbsolutePath(), downloaddir);
			break;

		case 4: // '\004'
			remove(inf);
			errors.add(inf);
			break;
		}
	}

	public void remove(TorrentDownloader inf)
	{
		if (running.contains(inf))
			running.remove(inf);
		if (queued.contains(inf))
			queued.remove(inf);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -