package com.limegroup.gnutella.downloader;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.limegroup.gnutella.ConnectionServices;
import com.limegroup.gnutella.DownloadManager;
import com.limegroup.gnutella.dht.DHTManager;
import com.limegroup.gnutella.dht.db.AltLocFinder;
@Singleton
public class RequeryManagerFactoryImpl implements RequeryManagerFactory {
private final Provider<DownloadManager> downloadManager;
private final Provider<AltLocFinder> altLocFinder;
private final Provider<DHTManager> dhtManager;
private final ConnectionServices connectionServices;
@Inject
public RequeryManagerFactoryImpl(Provider<DownloadManager> downloadManager,
Provider<AltLocFinder> altLocFinder,
Provider<DHTManager> dhtManager,
ConnectionServices connectionServices) {
this.downloadManager = downloadManager;
this.altLocFinder = altLocFinder;
this.dhtManager = dhtManager;
this.connectionServices = connectionServices;
}
/* (non-Javadoc)
* @see com.limegroup.gnutella.downloader.RequeryManagerFactory#createRequeryManager(com.limegroup.gnutella.downloader.ManagedDownloader)
*/
public RequeryManager createRequeryManager(
RequeryListener requeryListener) {
return new RequeryManager(requeryListener, downloadManager.get(),
altLocFinder.get(), dhtManager.get(), connectionServices);
}
}