• Skip to content
  • Skip to link menu
KDE 4.7 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

KIO

kurifilter.h
Go to the documentation of this file.
00001 /*
00002  *  This file is part of the KDE libraries
00003  *  Copyright (C) 2000-2001,2003,2010 Dawit Alemayehu <adawit at kde.org>
00004  *
00005  *  Original author
00006  *  Copyright (C) 2000 Yves Arrouye <yves@realnames.com>
00007  *
00008  *
00009  *  This library is free software; you can redistribute it and/or
00010  *  modify it under the terms of the GNU Library General Public
00011  *  License as published by the Free Software Foundation; either
00012  *  version 2 of the License, or (at your option) any later version.
00013  *
00014  *  This library is distributed in the hope that it will be useful,
00015  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  *  Library General Public License for more details.
00018  *
00019  *  You should have received a copy of the GNU Library General Public License
00020  *  along with this library; see the file COPYING.LIB.  If not, write to
00021  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00022  *  Boston, MA 02110-1301, USA.
00023  **/
00024 
00025 #ifndef KURIFILTER_H
00026 #define KURIFILTER_H
00027 
00028 #include <kio/kio_export.h>
00029 #include <kurl.h>
00030 
00031 #include <QtCore/QObject>
00032 #include <QtCore/QHash>
00033 #include <QtCore/QPair>
00034 #include <QtCore/QStringList>
00035 
00036 #ifdef Q_OS_WIN
00037 #undef ERROR
00038 #endif
00039 
00040 class KUriFilterPrivate;
00041 class KUriFilterDataPrivate;
00042 class KCModule;
00043 class QHostInfo;
00044 
00050 class KIO_EXPORT KUriFilterSearchProvider
00051 {
00052 public:
00056     KUriFilterSearchProvider();
00057 
00061     KUriFilterSearchProvider(const KUriFilterSearchProvider&);
00062 
00066     virtual ~KUriFilterSearchProvider();
00067 
00074     QString desktopEntryName() const;
00075 
00082     QString name() const;
00083 
00087     QString iconName() const;
00088 
00094     QStringList keys() const;
00095 
00104     QString defaultKey() const;
00105 
00109     KUriFilterSearchProvider& operator=(const KUriFilterSearchProvider&);
00110 
00111 protected:
00112     void setDesktopEntryName(const QString&);
00113     void setIconName(const QString&);
00114     void setKeys(const QStringList&);
00115     void setName(const QString&);
00116 
00117 private:
00118     friend class KUriFilterPlugin;
00119     class KUriFilterSearchProviderPrivate;
00120     KUriFilterSearchProviderPrivate * const d;
00121 };
00122 
00169 class KIO_EXPORT KUriFilterData
00170 {
00171 public:
00188     enum UriTypes { NetProtocol=0, LocalFile, LocalDir, Executable, Help, Shell, Blocked, Error, Unknown };
00189 
00213     enum SearchFilterOption
00214     {
00215         SearchFilterOptionNone = 0x0,
00216         RetrieveSearchProvidersOnly = 0x01,
00217         RetrievePreferredSearchProvidersOnly = 0x02,
00218         RetrieveAvailableSearchProvidersOnly = (RetrievePreferredSearchProvidersOnly | RetrieveSearchProvidersOnly)
00219     };
00220     Q_DECLARE_FLAGS(SearchFilterOptions, SearchFilterOption)
00221 
00222     
00227     KUriFilterData();
00228 
00234     explicit KUriFilterData( const KUrl& url );
00235 
00241     explicit KUriFilterData( const QString& url );
00242 
00250     KUriFilterData( const KUriFilterData& other );
00251 
00255     ~KUriFilterData();
00256 
00265     KUrl uri() const;
00266 
00276     QString errorMsg() const;
00277 
00286     UriTypes uriType() const;
00287 
00295     QString absolutePath() const;
00296 
00304     bool hasAbsolutePath() const;
00305 
00312     QString argsAndOptions() const;
00313 
00320     bool hasArgsAndOptions() const;
00321 
00326     bool checkForExecutables() const;
00327 
00331     QString typedString() const;
00332 
00342     QString searchTerm() const;
00343 
00354     QChar searchTermSeparator() const;
00355 
00365     QString searchProvider() const;
00366 
00391     QStringList preferredSearchProviders() const;
00392 
00403      KUriFilterSearchProvider queryForSearchProvider(const QString& provider) const;
00404 
00418     QString queryForPreferredSearchProvider(const QString &provider) const;
00419 
00432     QStringList allQueriesForSearchProvider(const QString& provider) const;
00433 
00443     QString iconNameForPreferredSearchProvider(const QString &provider) const;
00444 
00457     QStringList alternateSearchProviders() const;
00458 
00469     QString alternateDefaultSearchProvider() const;
00470 
00479     QString defaultUrlScheme() const;
00480 
00489     SearchFilterOptions searchFilteringOptions() const;
00490 
00497     QString iconName();
00498 
00506     void setCheckForExecutables (bool check);
00507 
00516     void setData( const KUrl& url );
00517 
00527     void setData( const QString& url );
00528 
00543     bool setAbsolutePath( const QString& abs_path );
00544 
00558     void setAlternateSearchProviders(const QStringList &providers);
00559 
00572     void setAlternateDefaultSearchProvider(const QString &provider);
00573 
00588     void setDefaultUrlScheme(const QString&);
00589 
00605     void setSearchFilteringOptions(SearchFilterOptions options);
00606 
00615     KUriFilterData& operator=( const KUrl& url );
00616 
00625     KUriFilterData& operator=( const QString& url );
00626 
00627 private:
00628     friend class KUriFilterPlugin;
00629     KUriFilterDataPrivate * const d;
00630 };
00631 
00632 
00645 class KIO_EXPORT KUriFilterPlugin : public QObject
00646 {
00647     Q_OBJECT
00648 
00649 public:
00657 #ifndef KDE_NO_DEPRECATED
00658     KDE_DEPRECATED typedef QHash<QString, QPair<QString, QString> > ProviderInfoList;
00659 #endif
00660 
00667     explicit KUriFilterPlugin( const QString &name, QObject *parent = 0 );
00668 
00675     virtual bool filterUri( KUriFilterData& data ) const = 0;
00676 
00685     virtual KCModule *configModule( QWidget*, const char* ) const;
00686 
00692     virtual QString configName() const;
00693 
00694 protected:
00698     void setFilteredUri ( KUriFilterData& data, const KUrl& uri ) const;
00699 
00703     void setErrorMsg ( KUriFilterData& data, const QString& errmsg ) const;
00704 
00708     void setUriType ( KUriFilterData& data, KUriFilterData::UriTypes type) const;
00709 
00714     void setArguments( KUriFilterData& data, const QString& args ) const;
00715 
00722     void setSearchProvider( KUriFilterData& data, const QString& provider,
00723                             const QString& term, const QChar& separator) const;
00724 
00731 #ifndef KDE_NO_DEPRECATED
00732     KDE_DEPRECATED void setPreferredSearchProviders(KUriFilterData& data, const ProviderInfoList& providers) const;
00733 #endif
00734 
00740     void setSearchProviders(KUriFilterData& data, const QList<KUriFilterSearchProvider*>& providers) const;
00741 
00747     QString iconNameFor(const KUrl& url, KUriFilterData::UriTypes type) const;
00748 
00765     QHostInfo resolveName (const QString& hostname, unsigned long timeout) const;
00766 
00767 private:
00768     class KUriFilterPluginPrivate * const d;
00769 };
00770 
00871 class KIO_EXPORT KUriFilter
00872 {
00873 public:
00880     enum SearchFilterType {
00881         NormalTextFilter = 0x01,
00882         WebShortcutFilter = 0x02
00883     };
00884     Q_DECLARE_FLAGS(SearchFilterTypes, SearchFilterType)
00885 
00886     
00889     ~KUriFilter ();
00890 
00894     static KUriFilter* self();
00895 
00907     bool filterUri( KUriFilterData& data, const QStringList& filters = QStringList() );
00908 
00920     bool filterUri( KUrl &uri, const QStringList& filters = QStringList() );
00921 
00933     bool filterUri( QString &uri, const QStringList& filters = QStringList() );
00934 
00946     KUrl filteredUri( const KUrl &uri, const QStringList& filters = QStringList() );
00947 
00959     QString filteredUri( const QString &uri, const QStringList& filters = QStringList() );
00960 
00967 #ifndef KDE_NO_DEPRECATED
00968     KDE_DEPRECATED bool filterSearchUri(KUriFilterData &data);
00969 #endif
00970 
00987     bool filterSearchUri(KUriFilterData &data, SearchFilterTypes types);
00988 
00994     QStringList pluginNames() const;
00995 
00996 protected:
00997 
01004     KUriFilter();
01005 
01011     void loadPlugins();
01012 
01013 private:
01014     KUriFilterPrivate * const d;
01015 };
01016 
01017 Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilterData::SearchFilterOptions)
01018 Q_DECLARE_OPERATORS_FOR_FLAGS(KUriFilter::SearchFilterTypes)
01019 
01020 #endif

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.5
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal