package org.limewire.core.api.callback;
import java.util.Set;
import org.limewire.bittorrent.Torrent;
import org.limewire.core.api.download.DownloadAction;
import org.limewire.core.api.download.DownloadException;
import org.limewire.core.api.magnet.MagnetLink;
/**
* This class acts as a means of getting user input on issues happening in the
* core.
*/
public interface GuiCallback {
/**
* Attempts to handle the supplied DownloadException with the supplied
* download action.
*/
void handleDownloadException(DownloadAction downLoadAction, DownloadException e,
boolean supportsNewSaveDir);
/**
* Restores the application from a minimized state.
*/
void restoreApplication();
/**
* Properly handles the magnet by either spawning a download or a search.
*/
void handleMagnet(MagnetLink magnetLink);
/**
* Returns the locale translated version of the given string.
*/
String translate(String s);
/**
* Prompts the user with a yes/no question and returns true if the user
* responded yes, false otherwise.
*/
boolean promptUserQuestion(String marktr);
/**
* Prompts the user about what priorities to assign the files in this
* torrent. Returns true if ok was selected in the end false if cancel.
*/
boolean promptTorrentFilePriorities(Torrent torrent);
/**
* Asks the user whether to continue with a torrent download that contains
* files with banned extensions.
* @return true if the download should continue.
*/
boolean promptAboutTorrentWithBannedExtensions(Torrent torrent,
Set<String> bannedExtensions);
/**
* Asks the user whether to continue with a torrent download if the torrent file could not be scanned.
* @return true if the download should continue.
*/
boolean promptAboutTorrentDownloadWithFailedScan();
}