File indexing completed on 2024-04-28 03:55:32

0001 /*
0002     SPDX-FileCopyrightText: 2000-2001, 2003, 2010 Dawit Alemayehu <adawit at kde.org>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 
0006 #include "kurifilterplugin_p.h"
0007 
0008 #include "kurifilterdata_p.h"
0009 #include <QHostInfo>
0010 #include <hostinfo.h>
0011 
0012 KUriFilterPlugin::KUriFilterPlugin(QObject *parent, const KPluginMetaData &data)
0013     : QObject(parent)
0014     , d(nullptr)
0015 {
0016     setObjectName(data.pluginId());
0017 }
0018 
0019 KUriFilterPlugin::~KUriFilterPlugin() = default;
0020 
0021 void KUriFilterPlugin::setFilteredUri(KUriFilterData &data, const QUrl &uri) const
0022 {
0023     data.d->url = uri.adjusted(QUrl::NormalizePathSegments);
0024     data.d->wasModified = true;
0025     // qDebug() << "Got filtered to:" << uri;
0026 }
0027 
0028 void KUriFilterPlugin::setErrorMsg(KUriFilterData &data, const QString &errmsg) const
0029 {
0030     data.d->errMsg = errmsg;
0031 }
0032 
0033 void KUriFilterPlugin::setUriType(KUriFilterData &data, KUriFilterData::UriTypes type) const
0034 {
0035     data.d->uriType = type;
0036     data.d->wasModified = true;
0037 }
0038 
0039 void KUriFilterPlugin::setArguments(KUriFilterData &data, const QString &args) const
0040 {
0041     data.d->args = args;
0042 }
0043 
0044 void KUriFilterPlugin::setSearchProvider(KUriFilterData &data, const QString &provider, const QString &term, const QChar &separator) const
0045 {
0046     data.d->searchProvider = provider;
0047     data.d->searchTerm = term;
0048     data.d->searchTermSeparator = separator;
0049 }
0050 
0051 void KUriFilterPlugin::setSearchProviders(KUriFilterData &data, const QList<KUriFilterSearchProvider *> &providers) const
0052 {
0053     data.d->searchProviderList.reserve(data.d->searchProviderList.size() + providers.size());
0054     for (KUriFilterSearchProvider *searchProvider : providers) {
0055         data.d->searchProviderList << searchProvider->name();
0056         data.d->searchProviderMap.insert(searchProvider->name(), searchProvider);
0057     }
0058 }
0059 
0060 QString KUriFilterPlugin::iconNameFor(const QUrl &url, KUriFilterData::UriTypes type) const
0061 {
0062     return KUriFilterDataPrivate::lookupIconNameFor(url, type);
0063 }
0064 
0065 QHostInfo KUriFilterPlugin::resolveName(const QString &hostname, unsigned long timeout) const
0066 {
0067     return KIO::HostInfo::lookupHost(hostname, timeout);
0068 }
0069 
0070 #include "moc_kurifilterplugin_p.cpp"