23 #ifndef __WADSEEKER_H_ 24 #define __WADSEEKER_H_ 29 #include <QStringList> 33 #include "entities/waddownloadinfo.h" 34 #include "wadseekerexportinfo.h" 35 #include "wadseekermessagetype.h" 37 #define WADSEEKER_CONNECT_TIMEOUT_SECONDS_DEFAULT 30 38 #define WADSEEKER_DOWNLOAD_TIMEOUT_SECONDS_DEFAULT 120 41 class WadArchiveClient;
95 static const QString defaultSites[];
104 static const QString forbiddenWads[];
109 static const QString defaultIdgamesUrl();
116 static QStringList defaultSitesListEncoded();
121 static QStringList filterAllowedOnlyWads(
const QStringList &wads);
125 static QStringList filterForbiddenOnlyWads(
const QStringList &wads);
136 static bool isForbiddenWad(
const QString& wad);
154 bool isDownloadingFile(
const QString& file)
const;
165 bool isWorking()
const;
177 void setCustomSite(
const QString& url);
185 void setIdgamesEnabled(
bool bEnabled);
190 void setIdgamesUrl(QString archiveURL);
200 void setMaximumConcurrentDownloads(
unsigned max);
210 void setMaximumConcurrentSeeks(
unsigned max);
222 void setPrimarySites(
const QStringList& urlList);
230 void setPrimarySitesToDefault();
241 void setTargetDirectory(
const QString& dir);
247 void setWadArchiveEnabled(
bool enabled);
261 void skipFileCurrentUrl(
const QString& fileName);
269 void skipService(
const QString &service);
282 void skipSiteSeek(
const QUrl& url);
293 bool startSeek(
const QStringList& wads);
301 QString targetDirectory()
const;
319 void allDone(
bool bSuccess);
333 void fileDownloadFinished(
const QString& filename);
350 void fileDownloadProgress(
const QString& filename, qint64 done, qint64 total);
360 void fileDownloadStarted(
const QString& filename,
const QUrl& url);
370 void fileInstalled(
const QString& filename);
379 void message(
const QString& msg, WadseekerLib::MessageType type);
389 void seekStarted(
const QStringList& filenames);
404 void serviceStarted(
const QString &name);
415 void serviceFinished(
const QString &name);
420 void siteFinished(
const QUrl& site);
425 void siteProgress(
const QUrl& site, qint64 bytes, qint64 total);
430 void siteRedirect(
const QUrl& oldUrl,
const QUrl& newUrl);
435 void siteStarted(
const QUrl& site);
441 void abortWwwSeeker();
442 void cleanUpAfterFinish();
443 bool isAllFinished()
const;
448 void prepareSeekObjects();
450 void setupIdgamesClients(
const QList<WadDownloadInfo>& wadDownloadInfoList);
451 void setupSitesUrls();
452 void setupWadArchiveClient(
const QList<WadDownloadInfo> &wadDownloadInfos);
454 void startNextIdgamesClient();
457 void startWadArchiveClient();
458 void stopWadArchiveClient();
461 void cleanUpIfAllFinished();
462 void fileLinkFound(
const QString& filename,
const QUrl& url);
463 void fileMirrorLinksFound(
const QString& filename,
const QList<QUrl>& urls);
464 void idgamesClientFinished(Idgames* pEmitter);
465 void reportBadUrl(
const QUrl &url);
466 void wadArchiveFinished();
467 void wadRetrieverDownloadFinished(WadDownloadInfo wadDownloadInfo);
468 void wadRetrieverDownloadProgress(WadDownloadInfo wadDownloadInfo, qint64 current, qint64 total);
469 void wadRetrieverDownloadStarted(WadDownloadInfo wadDownloadInfo,
const QUrl& url);
470 void wadRetrieverFinished();
471 void wadRetrieverMessage(
const QString& message, WadseekerLib::MessageType type);
472 void wadRetrieverWadInstalled(WadDownloadInfo wadDownloadInfo);
473 void wwwSeekerFinished();