FileDownloader *FileDownloaderFactory::create(const QString &scheme, const SignatureVerifier *verifier,
        const QUrl &signatureUrl, QObject *parent) const
{
    FileDownloader *downloader = KDGenericFactory<FileDownloader>::create(scheme);
    if (downloader != 0) {
        downloader->setParent(parent);
        downloader->setFollowRedirects(d->m_followRedirects);
        if (d->m_factory)
            downloader->setProxyFactory(d->m_factory->clone());
    }
    if (!verifier)
        return downloader;

    SignatureVerificationDownloader *svdl = new SignatureVerificationDownloader(downloader, parent);
    svdl->setSignatureVerifier(verifier);
    svdl->setSignatureUrl(signatureUrl);
    return svdl;
}