diff options
Diffstat (limited to 'src/libs/kdtools')
-rw-r--r-- | src/libs/kdtools/kdupdaterfiledownloader.cpp | 2 | ||||
-rw-r--r-- | src/libs/kdtools/kdupdaterfiledownloaderfactory.cpp | 21 | ||||
-rw-r--r-- | src/libs/kdtools/kdupdaterfiledownloaderfactory.h | 14 |
3 files changed, 25 insertions, 12 deletions
diff --git a/src/libs/kdtools/kdupdaterfiledownloader.cpp b/src/libs/kdtools/kdupdaterfiledownloader.cpp index 95b574b2f..cbd4ee184 100644 --- a/src/libs/kdtools/kdupdaterfiledownloader.cpp +++ b/src/libs/kdtools/kdupdaterfiledownloader.cpp @@ -714,7 +714,7 @@ QString KDUpdater::ResourceFileDownloader::downloadedFileName() const void KDUpdater::ResourceFileDownloader::setDownloadedFileName(const QString &/*name*/) { - Q_ASSERT_X(false, "KDUpdater::ResourceFileDownloader::setDownloadedFileName", "Not supported!"); + // Not supported! } KDUpdater::ResourceFileDownloader *KDUpdater::ResourceFileDownloader::clone(QObject *parent) const diff --git a/src/libs/kdtools/kdupdaterfiledownloaderfactory.cpp b/src/libs/kdtools/kdupdaterfiledownloaderfactory.cpp index 7f6e72efb..92dff42ee 100644 --- a/src/libs/kdtools/kdupdaterfiledownloaderfactory.cpp +++ b/src/libs/kdtools/kdupdaterfiledownloaderfactory.cpp @@ -59,16 +59,6 @@ using namespace KDUpdater; -struct FileDownloaderFactory::FileDownloaderFactoryData -{ - FileDownloaderFactoryData() : m_factory(0) {} - ~FileDownloaderFactoryData() { delete m_factory; } - - bool m_followRedirects; - bool m_ignoreSslErrors; - FileDownloaderProxyFactory *m_factory; -}; - FileDownloaderFactory& FileDownloaderFactory::instance() { static KDUpdater::FileDownloaderFactory theFactory; @@ -129,6 +119,17 @@ FileDownloaderFactory::~FileDownloaderFactory() delete d; } +QStringList FileDownloaderFactory::supportedSchemes() +{ + return FileDownloaderFactory::instance().d->m_supportedSchemes; +} + +bool FileDownloaderFactory::isSupportedScheme(const QString &scheme) +{ + return FileDownloaderFactory::instance().d->m_supportedSchemes.contains(scheme + , Qt::CaseInsensitive); +} + /*! Returns a new instance to the \ref KDUpdater::FileDownloader based whose scheme is equal to the string passed as parameter to this function. diff --git a/src/libs/kdtools/kdupdaterfiledownloaderfactory.h b/src/libs/kdtools/kdupdaterfiledownloaderfactory.h index a4338e3ce..5377923fe 100644 --- a/src/libs/kdtools/kdupdaterfiledownloaderfactory.h +++ b/src/libs/kdtools/kdupdaterfiledownloaderfactory.h @@ -68,6 +68,15 @@ class KDTOOLS_EXPORT FileDownloaderProxyFactory : public QNetworkProxyFactory class KDTOOLS_EXPORT FileDownloaderFactory : public KDGenericFactory<FileDownloader> { Q_DISABLE_COPY(FileDownloaderFactory) + struct FileDownloaderFactoryData { + FileDownloaderFactoryData() : m_factory(0) {} + ~FileDownloaderFactoryData() { delete m_factory; } + + bool m_followRedirects; + bool m_ignoreSslErrors; + QStringList m_supportedSchemes; + FileDownloaderProxyFactory *m_factory; + }; public: static FileDownloaderFactory &instance(); @@ -77,6 +86,7 @@ public: void registerFileDownloader(const QString &scheme) { registerProduct<T>(scheme); + d->m_supportedSchemes.append(scheme); } FileDownloader *create(const QString &scheme, QObject *parent = 0) const; @@ -88,11 +98,13 @@ public: static bool ignoreSslErrors(); static void setIgnoreSslErrors(bool ignore); + static QStringList supportedSchemes(); + static bool isSupportedScheme(const QString &scheme); + private: FileDownloaderFactory(); private: - struct FileDownloaderFactoryData; FileDownloaderFactoryData *d; }; |