package com.limegroup.bittorrent; import java.io.File; import java.net.URI; import com.limegroup.gnutella.downloader.CoreDownloader; import com.limegroup.gnutella.http.HttpClientListener; /** * This downloader allows for downloading a torrent file. It will parse the file * into a BTMetaInfo object. The file is shared with the gnutella network if the * file is allowed to be shared. This could eventually be moved to a more * generic downloader. This is the only downloader that will currently support * redirects however. And it is blocking. The downloader is essentially copied * from the TorrentFileFetcher with the exception that this does not start the * torrent download after downloading the .torrent file. Instead that work is * handled by a listener checking for torrent file downloads. */ public interface BTTorrentFileDownloader extends HttpClientListener, CoreDownloader { /** * Initializes the downloader from a URI. */ public void initDownloadInformation(URI torrentURI, boolean overwrite); /** * Returns the torrent file downloaded by this downloader. Can be null if * the download failed. */ public File getTorrentFile(); }