package com.limegroup.bittorrent;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import org.limewire.bittorrent.Torrent;
import com.limegroup.gnutella.downloader.CoreDownloader;
public interface BTDownloader extends CoreDownloader {
/**
* Initializes the BTDownloader from a torrent file.
*/
void init(File torrent, File saveDirectory) throws IOException;
/**
* Returns the incomplete file for this Downloader.
*/
File getIncompleteFile();
/**
* Returns the torrent file backing this downloader if any. Value may be
* null.
*/
File getTorrentFile();
/**
* Registers the internal torrent with the torrent manager.
*
* @returns true if the torrent was registered, or false if an error
* occurred.
*/
boolean registerTorrentWithTorrentManager();
/**
* Returns a collection of files representing where the completed files will
* be from this downloader.
*/
public Collection<File> getCompleteFiles();
/**
* Returns the Torrent for this BTDownloader.
*/
Torrent getTorrent();
}