KProtocolManager

KProtocolManager Class Reference

#include <KProtocolManager>

Public Types

enum  ProxyAuthMode { Prompt, Automatic }
 
enum  ProxyType {
  NoProxy, ManualProxy, PACProxy, WPADProxy,
  EnvVarProxy
}
 

Static Public Member Functions

static QString acceptLanguagesHeader ()
 
static bool autoResume ()
 
static void badProxy (const QString &proxy)
 
static KIO::CacheControl cacheControl ()
 
static QString cacheDir ()
 
static bool canCopyFromFile (const QUrl &url)
 
static bool canCopyToFile (const QUrl &url)
 
static bool canDeleteRecursive (const QUrl &url)
 
static bool canRenameFromFile (const QUrl &url)
 
static bool canRenameToFile (const QUrl &url)
 
static QString charsetFor (const QUrl &url)
 
static int connectTimeout ()
 
static QString defaultMimetype (const QUrl &url)
 
static QString defaultUserAgent ()
 
static QString defaultUserAgent (const QString &keys)
 
static KProtocolInfo::FileNameUsedForCopying fileNameUsedForCopying (const QUrl &url)
 
static bool getSystemNameVersionAndMachine (QString &systemName, QString &systemVersion, QString &machine)
 
static KProtocolInfo::Type inputType (const QUrl &url)
 
static bool isSourceProtocol (const QUrl &url)
 
static QStringList listing (const QUrl &url)
 
static bool markPartial ()
 
static int maxCacheAge ()
 
static int maxCacheSize ()
 
static int minimumKeepSize ()
 
static QString noProxyFor ()
 
static KProtocolInfo::Type outputType (const QUrl &url)
 
static bool persistentConnections ()
 
static bool persistentProxyConnection ()
 
static QString protocolForArchiveMimetype (const QString &mimeType)
 
static QStringList proxiesForUrl (const QUrl &url)
 
static ProxyAuthMode proxyAuthMode ()
 
static QString proxyConfigScript ()
 
static int proxyConnectTimeout ()
 
static QString proxyFor (const QString &protocol)
 
static QString proxyForUrl (const QUrl &url)
 
static ProxyType proxyType ()
 
static int readTimeout ()
 
static void reparseConfiguration ()
 
static int responseTimeout ()
 
static QString slaveProtocol (const QUrl &url, QString &proxy)
 
static QString slaveProtocol (const QUrl &url, QStringList &proxy)
 
static bool supportsDeleting (const QUrl &url)
 
static bool supportsLinking (const QUrl &url)
 
static bool supportsListing (const QUrl &url)
 
static bool supportsMakeDir (const QUrl &url)
 
static bool supportsMoving (const QUrl &url)
 
static bool supportsOpening (const QUrl &url)
 
static bool supportsReading (const QUrl &url)
 
static bool supportsTruncating (const QUrl &url)
 
static bool supportsWriting (const QUrl &url)
 
static bool useCache ()
 
static bool useProxy ()
 
static QString userAgentForApplication (const QString &appName, const QString &appVersion, const QStringList &extraInfo=QStringList())
 
static QString userAgentForHost (const QString &hostname)
 
static bool useReverseProxy ()
 

Detailed Description

Provides information about I/O (Internet, etc.) settings chosen/set by the end user.

KProtocolManager has a heap of static functions that allows only read access to KDE's IO related settings. These include proxy, cache, file transfer resumption, timeout and user-agent related settings.

The information provided by this class is generic enough to be applicable to any application that makes use of KDE's IO sub-system. Note that this mean the proxy, timeout etc. settings are saved in a separate user-specific config file and not in the config file of the application.

Original author:

Author
Torben Weis [email protected][email protected]kde.[email protected]org

Revised by:

Author
Waldo Bastain basta[email protected][email protected][email protected]de.or[email protected]g
Dawit Alemayehu adawi[email protected][email protected][email protected]e.org
See also
KPAC

Definition at line 62 of file kprotocolmanager.h.

Member Enumeration Documentation

Proxy authorization modes.

  • Prompt - Ask for authorization as needed
  • Automatic - Use auto login as defined in kionetrc files.

Definition at line 212 of file kprotocolmanager.h.

Types of proxy configuration.

  • NoProxy - No proxy is used
  • ManualProxy - Proxies are manually configured
  • PACProxy - A Proxy configuration URL has been given
  • WPADProxy - A proxy should be automatically discovered
  • EnvVarProxy - Use the proxy values set through environment variables.

Definition at line 192 of file kprotocolmanager.h.

Member Function Documentation

QString KProtocolManager::acceptLanguagesHeader ( )
static

Return Accept-Languages header built up according to user's desktop language settings.

Returns
Accept-Languages header string

Definition at line 981 of file kprotocolmanager.cpp.

bool KProtocolManager::autoResume ( )
static

Returns true if partial downloads should be automatically resumed.

Returns
true to resume partial downloads

Definition at line 1062 of file kprotocolmanager.cpp.

void KProtocolManager::badProxy ( const QString proxy)
static

Marks this proxy as bad (down).

It will not be used for the next 30 minutes. (The script may supply an alternate proxy)

Parameters
proxythe proxy to mark as bad (as URL)

Definition at line 610 of file kprotocolmanager.cpp.

KIO::CacheControl KProtocolManager::cacheControl ( )
static

Returns the Cache control directive to be used.

Returns
the cache control value

Definition at line 411 of file kprotocolmanager.cpp.

QString KProtocolManager::cacheDir ( )
static

The directory which contains the cache files.

Returns
the directory that contains the cache files

Definition at line 422 of file kprotocolmanager.cpp.

bool KProtocolManager::canCopyFromFile ( const QUrl url)
static

Returns whether the protocol can copy files/objects directly from the filesystem itself.

If not, the application will read files from the filesystem using the file-protocol and pass the data on to the destination protocol.

This corresponds to the "copyFromFile=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol can copy files from the local file system

Definition at line 1236 of file kprotocolmanager.cpp.

bool KProtocolManager::canCopyToFile ( const QUrl url)
static

Returns whether the protocol can copy files/objects directly to the filesystem itself.

If not, the application will receive the data from the source protocol and store it in the filesystem using the file-protocol.

This corresponds to the "copyToFile=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol can copy files to the local file system

Definition at line 1246 of file kprotocolmanager.cpp.

bool KProtocolManager::canDeleteRecursive ( const QUrl url)
static

Returns whether the protocol can recursively delete directories by itself.

If not (the usual case) then KIO will list the directory and delete files and empty directories one by one.

This corresponds to the "deleteRecursive=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol can delete non-empty directories by itself.

Definition at line 1276 of file kprotocolmanager.cpp.

bool KProtocolManager::canRenameFromFile ( const QUrl url)
static

Returns whether the protocol can rename (i.e.

move fast) files/objects directly from the filesystem itself. If not, the application will read files from the filesystem using the file-protocol and pass the data on to the destination protocol.

This corresponds to the "renameFromFile=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol can rename/move files from the local file system

Definition at line 1256 of file kprotocolmanager.cpp.

bool KProtocolManager::canRenameToFile ( const QUrl url)
static

Returns whether the protocol can rename (i.e.

move fast) files/objects directly to the filesystem itself. If not, the application will receive the data from the source protocol and store it in the filesystem using the file-protocol.

This corresponds to the "renameToFile=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol can rename files to the local file system

Definition at line 1266 of file kprotocolmanager.cpp.

QString KProtocolManager::charsetFor ( const QUrl url)
static

Returns the charset to use for the specified url.

Since
4.10

Definition at line 1322 of file kprotocolmanager.cpp.

int KProtocolManager::connectTimeout ( )
static

Returns the preferred timeout value for remote connections in seconds.

Returns
timeout value for remote connection in secs.

Definition at line 346 of file kprotocolmanager.cpp.

QString KProtocolManager::defaultMimetype ( const QUrl url)
static

Returns default mimetype for this URL based on the protocol.

This corresponds to the "defaultMimetype=" field in the protocol description file.

Parameters
urlthe url to check
Returns
the default mime type of the protocol, or null if unknown

Definition at line 1296 of file kprotocolmanager.cpp.

QString KProtocolManager::defaultUserAgent ( )
static

Returns the default user-agent string used for web browsing.

Returns
the default user-agent string

Definition at line 731 of file kprotocolmanager.cpp.

QString KProtocolManager::defaultUserAgent ( const QString keys)
static

Returns the default user-agent value used for web browsing, for example "Mozilla/5.0 (compatible; Konqueror/4.0; Linux; X11; i686; en_US) KHTML/4.0.1 (like Gecko)".

Parameters
keyscan be any of the following:
  • 'o' Show OS
  • 'v' Show OS Version
  • 'p' Show platform (only for X11)
  • 'm' Show machine architecture
  • 'l' Show language
Returns
the default user-agent value with the given keys

Definition at line 764 of file kprotocolmanager.cpp.

KProtocolInfo::FileNameUsedForCopying KProtocolManager::fileNameUsedForCopying ( const QUrl url)
static

This setting defines the strategy to use for generating a filename, when copying a file or directory to another directory.

By default the destination filename is made out of the filename in the source URL. However if the ioslave displays names that are different from the filename of the URL (e.g. kio_fonts shows Arial for arial.ttf, or kio_trash shows foo.txt and uses some internal URL), using Name means that the display name (UDS_NAME) will be used to as the filename in the destination directory.

This corresponds to the "fileNameUsedForCopying=" field in the protocol description file. Valid values for this field are "Name" or "FromURL" (default).

Parameters
urlthe url to check
Returns
how to generate the filename in the destination directory when copying/moving

Definition at line 1286 of file kprotocolmanager.cpp.

bool KProtocolManager::getSystemNameVersionAndMachine ( QString systemName,
QString systemVersion,
QString machine 
)
static

Returns system name, version and machine type, for example "Windows", "5.1", "i686".

This information can be used for constructing custom user-agent strings.

Parameters
systemNamesystem name
systemVersionsystem version
machinemachine type
Returns
true if system name, version and machine type has been provided
Since
4.1

Definition at line 948 of file kprotocolmanager.cpp.

KProtocolInfo::Type KProtocolManager::inputType ( const QUrl url)
static

Returns whether the protocol should be treated as a filesystem or as a stream when reading from it.

This corresponds to the "input=" field in the protocol description file. Valid values for this field are "filesystem", "stream" or "none" (default).

Parameters
urlthe url to check
Returns
the input type of the given url

Definition at line 1106 of file kprotocolmanager.cpp.

bool KProtocolManager::isSourceProtocol ( const QUrl url)
static

Returns whether the protocol can act as a source protocol.

A source protocol retrieves data from or stores data to the location specified by a URL. A source protocol is the opposite of a filter protocol.

The "source=" field in the protocol description file determines whether a protocol is a source protocol or a filter protocol.

Parameters
urlthe url to check
Returns
true if the protocol is a source of data (e.g. http), false if the protocol is a filter (e.g. gzip)

Definition at line 1126 of file kprotocolmanager.cpp.

QStringList KProtocolManager::listing ( const QUrl url)
static

Returns the list of fields this protocol returns when listing The current possibilities are Name, Type, Size, Date, AccessDate, Access, Owner, Group, Link, URL, MimeType as well as Extra1, Extra2 etc.

for extra fields (see extraFields).

This corresponds to the "listing=" field in the protocol description file. The supported fields should be separated with ',' in the protocol description file.

Parameters
urlthe url to check
Returns
a list of field names

Definition at line 1146 of file kprotocolmanager.cpp.

bool KProtocolManager::markPartial ( )
static

Returns true if partial downloads should be marked with a ".part" extension.

Returns
true if partial downloads should get an ".part" extension

Definition at line 1047 of file kprotocolmanager.cpp.

int KProtocolManager::maxCacheAge ( )
static

Returns the maximum age in seconds cached files should be kept before they are deleted as necessary.

Returns
the maximum cache age in seconds

Definition at line 429 of file kprotocolmanager.cpp.

int KProtocolManager::maxCacheSize ( )
static

Returns the maximum size that can be used for caching.

By default this function returns the DEFAULT_MAX_CACHE_SIZE value as defined in http_slave_defaults.h. Not that the value returned is in bytes, hence a value of 5120 would mean 5 Kb.

Returns
the maximum cache size in bytes

Definition at line 436 of file kprotocolmanager.cpp.

int KProtocolManager::minimumKeepSize ( )
static

Returns the minimum file size for keeping aborted downloads.

Any data downloaded that does not meet this minimum requirement will simply be discarded. The default size is 5 KB.

Returns
the minimum keep size for aborted downloads in bytes

Definition at line 1054 of file kprotocolmanager.cpp.

QString KProtocolManager::noProxyFor ( )
static

Returns the strings for hosts that should contacted DIRECTLY, bypassing any proxy settings.

Returns
a list of (comma-separated) hostnames or partial host names

Definition at line 443 of file kprotocolmanager.cpp.

KProtocolInfo::Type KProtocolManager::outputType ( const QUrl url)
static

Returns whether the protocol should be treated as a filesystem or as a stream when writing to it.

This corresponds to the "output=" field in the protocol description file. Valid values for this field are "filesystem", "stream" or "none" (default).

Parameters
urlthe url to check
Returns
the output type of the given url

Definition at line 1116 of file kprotocolmanager.cpp.

bool KProtocolManager::persistentConnections ( )
static

Returns true if connections should be persistent.

Returns
true if the connections should be persistent

Definition at line 1069 of file kprotocolmanager.cpp.

bool KProtocolManager::persistentProxyConnection ( )
static

Returns true if proxy connections should be persistent.

Returns
true if proxy connections should be persistent

Definition at line 1076 of file kprotocolmanager.cpp.

QString KProtocolManager::protocolForArchiveMimetype ( const QString mimeType)
static

Returns which protocol handles this mimetype, if it's an archive mimetype.

For instance zip:/ handles application/x-zip.

This is defined in the protocol description file using an entry like "archiveMimetype=application/x-zip"

Parameters
mimeTypethe mimetype to check
Returns
the protocol that can handle this archive mimetype, for instance "zip".
Since
4.1

Definition at line 1306 of file kprotocolmanager.cpp.

QStringList KProtocolManager::proxiesForUrl ( const QUrl url)
static

Returns all the possible proxy server addresses for url.

If the selected proxy type is PACProxy or WPADProxy, then a helper kded module, proxyscout, is used to determine the proxy information. Otherwise, proxyFor is used to find the proxy to use for the given url.

If this function returns empty list, then the request is to a proxy server must be denied. For a direct connection, this function will return a single entry of "DIRECT".

Since
4.7
Parameters
urlthe URL whose proxy info is needed
Returns
the proxy server address if one is available, otherwise an empty list .

Definition at line 556 of file kprotocolmanager.cpp.

KProtocolManager::ProxyAuthMode KProtocolManager::proxyAuthMode ( )
static

Returns the way proxy authorization should be handled.

Returns
the proxy authorization mode
See also
ProxyAuthMode

Definition at line 394 of file kprotocolmanager.cpp.

QString KProtocolManager::proxyConfigScript ( )
static

Returns the URL of the script for automatic proxy configuration.

Returns
the proxy configuration script

Definition at line 1083 of file kprotocolmanager.cpp.

int KProtocolManager::proxyConnectTimeout ( )
static

Returns the preferred timeout value for proxy connections in seconds.

Returns
timeout value for proxy connection in secs.

Definition at line 355 of file kprotocolmanager.cpp.

QString KProtocolManager::proxyFor ( const QString protocol)
static

Returns the proxy server address for a given protocol.

Parameters
protocolthe protocol whose proxy info is needed
Returns
the proxy server address if one is available, or QString() if not available

Definition at line 463 of file kprotocolmanager.cpp.

QString KProtocolManager::proxyForUrl ( const QUrl url)
static

Returns the Proxy server address for a given URL.

If the selected proxy type is PACProxy or WPADProxy, then a helper kded module, proxyscout, is used to determine the proxy information. Otherwise, proxyFor is used to find the proxy to use for the given url.

If this function returns an empty string, then the request to a proxy server must be denied. For a direct connection, without the use of a proxy, this function will return "DIRECT".

Parameters
urlthe URL whose proxy info is needed
Returns
the proxy server address if one is available, otherwise a QString().

Definition at line 490 of file kprotocolmanager.cpp.

KProtocolManager::ProxyType KProtocolManager::proxyType ( )
static

Returns the type of proxy configuration that is used.

Returns
the proxy type

Definition at line 387 of file kprotocolmanager.cpp.

int KProtocolManager::readTimeout ( )
static

Returns the preferred timeout value for reading from remote connections in seconds.

Returns
timeout value for remote connection in secs.

Definition at line 337 of file kprotocolmanager.cpp.

void KProtocolManager::reparseConfiguration ( )
static

Force a reload of the general config file of io-slaves ( kioslaverc).

Definition at line 267 of file kprotocolmanager.cpp.

int KProtocolManager::responseTimeout ( )
static

Returns the preferred response timeout value for remote connecting in seconds.

Returns
timeout value for remote connection in seconds.

Definition at line 364 of file kprotocolmanager.cpp.

QString KProtocolManager::slaveProtocol ( const QUrl url,
QString proxy 
)
static

Return the protocol to use in order to handle the given url It's usually the same, except that FTP, when handled by a proxy, needs an HTTP ioslave.

When a proxy is to be used, proxy contains the URL for the proxy.

Parameters
urlthe url to check
proxythe URL of the proxy to use
Returns
the slave protocol (e.g. 'http'), can be null if unknown

Definition at line 623 of file kprotocolmanager.cpp.

QString KProtocolManager::slaveProtocol ( const QUrl url,
QStringList proxy 
)
static

Overloaded function that returns a list of all available proxy servers.

Since
4.7

Definition at line 648 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsDeleting ( const QUrl url)
static

Returns whether the protocol can delete files/objects.

This corresponds to the "deleting=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol supports deleting

Definition at line 1186 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsLinking ( const QUrl url)
static

Returns whether the protocol can create links between files/objects.

This corresponds to the "linking=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol supports linking

Definition at line 1196 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsListing ( const QUrl url)
static

Returns whether the protocol can list files/objects.

If a protocol supports listing it can be browsed in e.g. file-dialogs and konqueror.

Whether a protocol supports listing is determined by the "listing=" field in the protocol description file. If the protocol support listing it should list the fields it provides in this field. If the protocol does not support listing this field should remain empty (default.)

Parameters
urlthe url to check
Returns
true if the protocol support listing
See also
listing()

Definition at line 1136 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsMakeDir ( const QUrl url)
static

Returns whether the protocol can create directories/folders.

This corresponds to the "makedir=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol can create directories

Definition at line 1176 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsMoving ( const QUrl url)
static

Returns whether the protocol can move files/objects between different locations.

This corresponds to the "moving=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol supports moving

Definition at line 1206 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsOpening ( const QUrl url)
static

Returns whether the protocol can be opened using KIO::open(const QUrl&).

This corresponds to the "opening=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol supports opening

Definition at line 1216 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsReading ( const QUrl url)
static

Returns whether the protocol can retrieve data from URLs.

This corresponds to the "reading=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if it is possible to read from the URL

Definition at line 1156 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsTruncating ( const QUrl url)
static

Returns whether the protocol can be truncated with FileJob::truncate(KIO::filesize_t length).

This corresponds to the "truncating=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol supports truncating
Since
5.66

Definition at line 1226 of file kprotocolmanager.cpp.

bool KProtocolManager::supportsWriting ( const QUrl url)
static

Returns whether the protocol can store data to URLs.

This corresponds to the "writing=" field in the protocol description file. Valid values for this field are "true" or "false" (default).

Parameters
urlthe url to check
Returns
true if the protocol supports writing

Definition at line 1166 of file kprotocolmanager.cpp.

bool KProtocolManager::useCache ( )
static

Returns true/false to indicate whether a cache should be used.

Returns
true to use the cache, false otherwisea

Definition at line 404 of file kprotocolmanager.cpp.

bool KProtocolManager::useProxy ( )
static

Returns whether or not the user specified the use of proxy server to make connections.

Returns
true to use a proxy

Definition at line 375 of file kprotocolmanager.cpp.

QString KProtocolManager::userAgentForApplication ( const QString appName,
const QString appVersion,
const QStringList extraInfo = QStringList() 
)
static

Returns the application's user-agent string.

Example string is "KMail/1.9.50 (Windows/6.0; KDE/3.97.1; i686; svn-762186; 2008-01-15)", where "KMail" is the appName parameter, "1.9.50" is the appVersion parameter, "Windows/6.0; KDE/3.97.1; i686" part is added automatically and "svn-762186; 2008-01-15" is provided by extraInfo list.

Parameters
appNamename of the application
appVersionname of the application
extraInfoa list of elements that will be appended to the string as extra information
Returns
the application's user-agent string
Since
4.1

Definition at line 922 of file kprotocolmanager.cpp.

QString KProtocolManager::userAgentForHost ( const QString hostname)
static

Returns the user-agent string configured for the specified host.

If hostname is not found or is empty (i.e. "" or QString()) this function will return the default user agent.

Parameters
hostnamename of the host
Returns
specified user-agent string

Definition at line 713 of file kprotocolmanager.cpp.

bool KProtocolManager::useReverseProxy ( )
static

Returns whether or not the proxy server lookup should be reversed or not.

Returns
true to use a reversed proxy

Definition at line 380 of file kprotocolmanager.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.