summaryrefslogtreecommitdiffstats
path: root/src/libs/kdtools
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/kdtools')
-rw-r--r--src/libs/kdtools/kdupdaterfiledownloader.cpp2
-rw-r--r--src/libs/kdtools/kdupdaterfiledownloaderfactory.cpp21
-rw-r--r--src/libs/kdtools/kdupdaterfiledownloaderfactory.h14
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;
};