예제 #1
0
bool CRapidDownloader::download(IDownload* download, int /*max_parallel*/)
{
	LOG_DEBUG("%s", download->name.c_str());
	if (download->dltype != IDownload::TYP_RAPID) { // skip non-rapid downloads
		LOG_DEBUG("skipping non rapid-dl");
		return true;
	}
	reloadRepos(download->origin_name);
	return download_name(download, 0);
}
예제 #2
0
bool CRapidDownloader::search(std::list<IDownload*>& result, const std::string& name, IDownload::category /*cat*/)
{
	LOG_DEBUG("%s",name.c_str());
	reloadRepos();
	sdps.sort(list_compare);
	std::list<CSdp>::iterator it;
	for (it=sdps.begin(); it!=sdps.end(); ++it) {
		if (match_download_name((*it).getShortName(),name)
		    || (match_download_name((*it).getName(),name))) {
			IDownload* dl=new IDownload((*it).getName().c_str());
			dl->addMirror((*it).getShortName().c_str());
			result.push_back(dl);
		}
	}
	return true;
}
/**
	search for a mod, searches for the short + long name
*/
std::list<IDownload>* CRapidDownloader::search(const std::string& name, IDownload::category cat){
	DEBUG_LINE("%s",name.c_str());
	reloadRepos();
	std::list<IDownload>*tmp;
	tmp=new std::list<IDownload>;

	sdps.sort(list_compare);
	std::list<CSdp*>::iterator it;
	for (it=this->sdps.begin();it!=this->sdps.end();++it){
		if (match_download_name((*it)->getShortName().c_str(),name)
				|| (match_download_name((*it)->getName().c_str(),name))){
			IDownload* dl=new IDownload((*it)->getShortName().c_str(),(*it)->getName().c_str());
			tmp->push_back(*dl);
		}
	}
	return tmp;
}
예제 #4
0
bool CRapidDownloader::search(std::list<IDownload*>& result,
			      const std::string& name,
			      DownloadEnum::Category cat)
{
	LOG_DEBUG("%s", name.c_str());
	reloadRepos(name);
	sdps.sort(list_compare);
	for (CSdp& sdp : sdps) {
		if (match_download_name(sdp.getShortName(), name) ||
		    (match_download_name(sdp.getName(), name))) {
			IDownload* dl =
			    new IDownload(sdp.getName().c_str(), name, cat, IDownload::TYP_RAPID);
			dl->addMirror(sdp.getShortName().c_str());
			result.push_back(dl);
		}
	}
	return true;
}
예제 #5
0
bool CRapidDownloader::download(IDownload* download)
{
	LOG_DEBUG("%s",download->name.c_str());
	reloadRepos();
	return download_name(download->name,0);
}
/**
	start a download
*/
bool CRapidDownloader::download(IDownload& download){
	DEBUG_LINE("%s",download.name.c_str());
	reloadRepos();
	return download_name(download.name,0);
}