KUriFilterData

KUriFilterData Class Reference

#include <KUriFilter>

Public Types

enum  SearchFilterOption { SearchFilterOptionNone = 0x0, RetrieveSearchProvidersOnly = 0x01, RetrievePreferredSearchProvidersOnly = 0x02, RetrieveAvailableSearchProvidersOnly = (RetrievePreferredSearchProvidersOnly | RetrieveSearchProvidersOnly) }
 
typedef QFlags< SearchFilterOptionSearchFilterOptions
 
enum  UriTypes {
  NetProtocol = 0, LocalFile, LocalDir, Executable,
  Help, Shell, Blocked, Error,
  Unknown
}
 

Public Member Functions

 KUriFilterData ()
 
 KUriFilterData (const QUrl &url)
 
 KUriFilterData (const QString &url)
 
 KUriFilterData (const KUriFilterData &other)
 
 ~KUriFilterData ()
 
QString absolutePath () const
 
QStringList allQueriesForSearchProvider (const QString &provider) const
 
QString alternateDefaultSearchProvider () const
 
QStringList alternateSearchProviders () const
 
QString argsAndOptions () const
 
bool checkForExecutables () const
 
QString defaultUrlScheme () const
 
QString errorMsg () const
 
bool hasAbsolutePath () const
 
bool hasArgsAndOptions () const
 
QString iconName ()
 
QString iconNameForPreferredSearchProvider (const QString &provider) const
 
KUriFilterDataoperator= (const QUrl &url)
 
KUriFilterDataoperator= (const QString &url)
 
QStringList preferredSearchProviders () const
 
QString queryForPreferredSearchProvider (const QString &provider) const
 
KUriFilterSearchProvider queryForSearchProvider (const QString &provider) const
 
SearchFilterOptions searchFilteringOptions () const
 
QString searchProvider () const
 
QString searchTerm () const
 
QChar searchTermSeparator () const
 
bool setAbsolutePath (const QString &abs_path)
 
void setAlternateDefaultSearchProvider (const QString &provider)
 
void setAlternateSearchProviders (const QStringList &providers)
 
void setCheckForExecutables (bool check)
 
void setData (const QUrl &url)
 
void setData (const QString &url)
 
void setDefaultUrlScheme (const QString &)
 
void setSearchFilteringOptions (SearchFilterOptions options)
 
QString typedString () const
 
QUrl uri () const
 
UriTypes uriType () const
 

Detailed Description

This class is a basic messaging class used to exchange filtering information between the filter plugins and the application requesting the filtering service.

Use this object if you require a more detailed information about the URI you want to filter. Any application can create an instance of this class and send it to KUriFilter to have the plugins fill out all possible information about the URI.

On successful filtering you can use uriType() to determine what type of resource the request was filtered into. See KUriFilter::UriTypes for details. If an error is encountered, then KUriFilter::Error is returned. You can use errorMsg to obtain the error information.

The functions in this class are not reentrant.

Example

Here is a basic example of how this class is used with KUriFilter:

KUriFilterData filterData (QLatin1String("kde.org"));
bool filtered = KUriFilter::self()->filterUri(filterData);

If you are only interested in getting the list of preferred search providers, then you can do the following:

data.setData("<text-to-search-for>");
data.setSearchFilteringOption(KUriFilterData::RetrievePreferredSearchProvidersOnly);
bool filtered = KUriFilter::self()->filterSearchUri(data, KUriFilter::NormalTextFilter);

A class for exchanging filtering information.

Author
Dawit Alemayehu <adawit at kde.org>

Definition at line 166 of file kurifilter.h.

Member Typedef Documentation

Stores a combination of SearchFilterOption values.

Definition at line 220 of file kurifilter.h.

Member Enumeration Documentation

This enum describes the search filtering options to be used.

  • SearchFilterOptionNone No search filter options are set and normal filtering is performed on the input data.
  • RetrieveSearchProvidersOnly If set, the list of all available search providers are returned without any input filtering. This flag only applies when used in conjunction with the KUriFilter::NormalTextFilter flag.
  • RetrievePreferredSearchProvidersOnly If set, the list of preferred search providers are returned without any input filtering. This flag only applies when used in conjunction with the KUriFilter::NormalTextFilter flag.
  • RetrieveAvailableSearchProvidersOnly Same as doing RetrievePreferredSearchProvidersOnly | RetrieveSearchProvidersOnly, where all available search providers are returned if no preferred ones ones are available. No input filtering will be performed.
See also
setSearchFilteringOptions
KUriFilter::filterSearchUri
SearchFilterOptions
Since
4.6

Definition at line 211 of file kurifilter.h.

Describes the type of the URI that was filtered.

Here is a brief description of the types:

  • NetProtocol - Any network protocol: http, ftp, nttp, pop3, etc...
  • LocalFile - A local file whose executable flag is not set
  • LocalDir - A local directory
  • Executable - A local file whose executable flag is set
  • Help - A man or info page
  • Shell - A shell executable (ex: echo "Test..." >> ~/testfile)
  • Blocked - A URI that should be blocked/filtered (ex: ad filtering)
  • Error - An incorrect URI (ex: "~johndoe" when user johndoe does not exist in that system )
  • Unknown - A URI that is not identified. Default value when a KUriFilterData is first created.

Definition at line 185 of file kurifilter.h.

Constructor & Destructor Documentation

KUriFilterData::KUriFilterData ( )

Default constructor.

Creates a UriFilterData object.

Definition at line 258 of file kurifilter.cpp.

KUriFilterData::KUriFilterData ( const QUrl url)
explicit

Creates a KUriFilterData object from the given URL.

Parameters
urlis the URL to be filtered.

Definition at line 263 of file kurifilter.cpp.

KUriFilterData::KUriFilterData ( const QString url)
explicit

Creates a KUriFilterData object from the given string.

Parameters
urlis the string to be filtered.

Definition at line 268 of file kurifilter.cpp.

KUriFilterData::KUriFilterData ( const KUriFilterData other)

Copy constructor.

Creates a KUriFilterData object from another KURIFilterData object.

Parameters
otherthe uri filter data to be copied.

Definition at line 273 of file kurifilter.cpp.

KUriFilterData::~KUriFilterData ( )

Destructor.

Definition at line 278 of file kurifilter.cpp.

Member Function Documentation

QString KUriFilterData::absolutePath ( ) const

Returns the absolute path if one has already been set.

Returns
the absolute path, or QString()
See also
hasAbsolutePath()

Definition at line 298 of file kurifilter.cpp.

QStringList KUriFilterData::allQueriesForSearchProvider ( const QString provider) const

Returns all the query urls for the given search provider.

Use this function to obtain all the different queries that can be used for the given provider. For example, if a search engine provider named "foobar" has web shortcuts named "foobar", "foo" and "bar", then this function, unlike queryForPreferredSearchProvider, will return a a query for each and every web shortcut.

See also
queryForPreferredSearchProvider
Since
4.6

Definition at line 368 of file kurifilter.cpp.

QString KUriFilterData::alternateDefaultSearchProvider ( ) const

Returns the search provider to use when a default provider is not available.

This function returns an empty string if setAlternateDefaultSearchProvider was not called to set the default search provider to be used when none has been chosen by the user through the search configuration module.

See also
setAlternateDefaultSearchProvider
Since
4.5

Definition at line 391 of file kurifilter.cpp.

QStringList KUriFilterData::alternateSearchProviders ( ) const

Returns the list of alternate search providers.

This function returns an empty list if setAlternateSearchProviders was not called to set the alternate search providers to be when no preferred providers have been chosen by the user through the search configuration module.

See also
setAlternatteSearchProviders
preferredSearchProviders
Since
4.5

Definition at line 386 of file kurifilter.cpp.

QString KUriFilterData::argsAndOptions ( ) const

Returns the command line options and arguments for a local resource when present.

Returns
options and arguments when present, otherwise QString()

Definition at line 308 of file kurifilter.cpp.

bool KUriFilterData::checkForExecutables ( ) const
Returns
true if the filters should attempt to check whether the supplied uri is an executable. False otherwise.

Definition at line 318 of file kurifilter.cpp.

QString KUriFilterData::defaultUrlScheme ( ) const

Returns the default protocol to use when filtering potentially valid url inputs.

By default this function will return an empty string.

See also
setDefaultUrlScheme
Since
4.6

Definition at line 396 of file kurifilter.cpp.

QString KUriFilterData::errorMsg ( ) const

Returns an error message.

This functions returns the error message set by the plugin whenever the uri type is set to KUriFilterData::ERROR. Otherwise, it returns a nullptr string.

Returns
the error message or a nullptr when there is none.

Definition at line 288 of file kurifilter.cpp.

bool KUriFilterData::hasAbsolutePath ( ) const

Checks whether the supplied data had an absolute path.

Returns
true if the supplied data has an absolute path
See also
absolutePath()

Definition at line 303 of file kurifilter.cpp.

bool KUriFilterData::hasArgsAndOptions ( ) const

Checks whether the current data is a local resource with command line options and arguments.

Returns
true if the current data has command line options and arguments

Definition at line 313 of file kurifilter.cpp.

QString KUriFilterData::iconName ( )

The name of the icon that matches the current filtered URL.

This function returns a null string by default and when no icon is found for the filtered URL.

Definition at line 406 of file kurifilter.cpp.

QString KUriFilterData::iconNameForPreferredSearchProvider ( const QString provider) const

Returns the icon associated with the given preferred search provider.

You can use this function to obtain the icon names associated with the preferred search providers returned by preferredSearchProviders.

See also
preferredSearchProviders
Since
4.5

Definition at line 377 of file kurifilter.cpp.

KUriFilterData & KUriFilterData::operator= ( const QUrl url)

Overloaded assignment operator.

This function allows you to easily assign a QUrl to a KUriFilterData object.

Returns
an instance of a KUriFilterData object.

Definition at line 462 of file kurifilter.cpp.

KUriFilterData & KUriFilterData::operator= ( const QString url)

Overloaded assignment operator.

This function allows you to easily assign a QString to a KUriFilterData object.

Returns
an instance of a KUriFilterData object.

Definition at line 468 of file kurifilter.cpp.

QStringList KUriFilterData::preferredSearchProviders ( ) const

Returns a list of the names of preferred or available search providers.

This function returns the list of providers marked as preferred whenever the input data, i.e. typedString, is successfully filtered.

If no default search provider has been selected prior to a filter request, this function will return an empty list. To avoid this problem you must either set an alternate default search provider using setAlternateDefaultSearchProvider or set one of the SearchFilterOption flags if you are only interested in getting the list of providers and not filtering the input.

Additionally, you can also provide alternate search providers in case there are no preferred ones already selected.

You can use queryForPreferredServiceProvider to obtain the query associated with the list of search providers returned by this function.

See also
setAlternateSearchProviders
setAlternateDefaultSearchProvider
setSearchFilteringOption
queryForPreferredServiceProvider
Since
4.5

Definition at line 343 of file kurifilter.cpp.

QString KUriFilterData::queryForPreferredSearchProvider ( const QString provider) const

Returns the web shortcut url for the given preferred search provider.

You can use this function to obtain the query for the preferred search providers returned by preferredSearchProviders.

The query returned by this function is in web shortcut format, i.e. "gg:foo bar", and must be re-filtered through KUriFilter to obtain a valid url.

See also
preferredSearchProviders
Since
4.5

Definition at line 359 of file kurifilter.cpp.

KUriFilterSearchProvider KUriFilterData::queryForSearchProvider ( const QString provider) const

Returns information about provider.

You can use this function to obtain the more information about the search providers returned by preferredSearchProviders.

See also
preferredSearchProviders
KUriFilterSearchProvider
Since
4.6

Definition at line 348 of file kurifilter.cpp.

KUriFilterData::SearchFilterOptions KUriFilterData::searchFilteringOptions ( ) const

Returns the specified search filter options.

By default this function returns SearchFilterOptionNone.

See also
setSearchFilteringOptions
Since
4.6

Definition at line 401 of file kurifilter.cpp.

QString KUriFilterData::searchProvider ( ) const

Returns the name of the search service provider, e.g.

Google.

If typedString was not filtered by a search filter plugin, this function returns an empty string.

See also
typedString
Since
4.5

Definition at line 338 of file kurifilter.cpp.

QString KUriFilterData::searchTerm ( ) const

Returns the search term portion of the typed string.

If the typedString was not filtered by a search filter plugin, this function returns an empty string.

See also
typedString
Since
4.5

Definition at line 328 of file kurifilter.cpp.

QChar KUriFilterData::searchTermSeparator ( ) const

Returns the character that is used to separate the search term from the keyword.

If typedString was not filtered by a search filter plugin, this function returns a null character.

See also
typedString
Since
4.5

Definition at line 333 of file kurifilter.cpp.

bool KUriFilterData::setAbsolutePath ( const QString abs_path)

Sets the absolute path to be used whenever the supplied data is a relative local URL.

NOTE: This function should only be used for local resources, i.e. the "file:/" protocol. It is useful for specifying the absolute path in cases where the actual URL might be relative. If deriving the path from a QUrl, make sure you set the argument for this function to the result of calling path () instead of url ().

Parameters
abs_paththe absolute path to the local resource.
Returns
true if absolute path is successfully set. Otherwise, false.

Definition at line 426 of file kurifilter.cpp.

void KUriFilterData::setAlternateDefaultSearchProvider ( const QString provider)

Sets the search provider to use in case no default provider is available.

The default search provider set using this function will only be used if the default and favorite search providers have not yet been selected by the user. Otherwise, the default provider specified by through function will be ignored.

See also
alternateDefaultSearchProvider
preferredSearchProviders
Since
4.5

Definition at line 447 of file kurifilter.cpp.

void KUriFilterData::setAlternateSearchProviders ( const QStringList providers)

Sets a list of search providers to use in case no preferred search providers are available.

The list of preferred search providers set using this function will only be used if the default and favorite search providers have not yet been selected by the user. Otherwise, the providers specified through this function will be ignored.

See also
alternateSearchProviders
preferredSearchProviders
Since
4.5

Definition at line 442 of file kurifilter.cpp.

void KUriFilterData::setCheckForExecutables ( bool  check)

Check whether the provided uri is executable or not.

Setting this to false ensures that typing the name of an executable does not start that application. This is useful in the location bar of a browser. The default value is true.

Definition at line 437 of file kurifilter.cpp.

void KUriFilterData::setData ( const QUrl url)

Same as above except the argument is a URL.

Use this function to set the string to be filtered when you construct an empty filter object.

Parameters
urlthe URL to be filtered.

Definition at line 416 of file kurifilter.cpp.

void KUriFilterData::setData ( const QString url)

Sets the URL to be filtered.

Use this function to set the string to be filtered when you construct an empty filter object.

Parameters
urlthe string to be filtered.

Definition at line 421 of file kurifilter.cpp.

void KUriFilterData::setDefaultUrlScheme ( const QString scheme)

Sets the default scheme used when filtering potentially valid url inputs.

Use this function to change the default protocol used when filtering potentially valid url inputs. The default protocol is http.

If the scheme is specified without a separator, then "://" will be used as the separator by default. For example, if the default url scheme was simply set to "ftp", then a potentially valid url input such as "kde.org" will be filtered to "ftp://kde.org".

See also
defaultUrlScheme
Since
4.6

Definition at line 452 of file kurifilter.cpp.

void KUriFilterData::setSearchFilteringOptions ( SearchFilterOptions  options)

Sets the options used by search filter plugins to filter requests.

The default search filter option is SearchFilterOptionNone. See SearchFilterOption for the description of the other flags.

It is important to note that the options set through this function can prevent any filtering from being performed by search filter plugins. As such, uriTypes can return KUriFilterData::Unknown and uri can return an invalid url even though the filtering request returned a successful response.

See also
searchFilteringOptions
Since
4.6

Definition at line 457 of file kurifilter.cpp.

QString KUriFilterData::typedString ( ) const

The string as typed by the user, before any URL processing is done.

Definition at line 323 of file kurifilter.cpp.

QUrl KUriFilterData::uri ( ) const

Returns the filtered or the original URL.

If one of the plugins successfully filtered the original input, this function returns it. Otherwise, it will return the input itself.

Returns
the filtered or original url.

Definition at line 283 of file kurifilter.cpp.

KUriFilterData::UriTypes KUriFilterData::uriType ( ) const

Returns the URI type.

This method always returns KUriFilterData::UNKNOWN if the given URL was not filtered.

Returns
the type of the URI

Definition at line 293 of file kurifilter.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Aug 7 2020 22:58:58 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.