KProtocolManager
#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 | supportsPermissions (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 () |
static QString | workerProtocol (const QUrl &url, QString &proxy) |
static QString | workerProtocol (const QUrl &url, QStringList &proxy) |
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:
Revised by:
- See also
- KPAC
Definition at line 53 of file kprotocolmanager.h.
Member Enumeration Documentation
◆ ProxyAuthMode
Proxy authorization modes.
- Prompt - Ask for authorization as needed
- Automatic - Use auto login as defined in kionetrc files.
Definition at line 200 of file kprotocolmanager.h.
◆ ProxyType
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 180 of file kprotocolmanager.h.
Member Function Documentation
◆ acceptLanguagesHeader()
|
static |
Return Accept-Languages header built up according to user's desktop language settings.
- Returns
- Accept-Languages header string
Definition at line 865 of file kprotocolmanager.cpp.
◆ autoResume()
|
static |
Returns true if partial downloads should be automatically resumed.
- Returns
- true to resume partial downloads
Definition at line 946 of file kprotocolmanager.cpp.
◆ badProxy()
|
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
-
proxy the proxy to mark as bad (as URL)
Definition at line 603 of file kprotocolmanager.cpp.
◆ cacheControl()
|
static |
Returns the Cache control directive to be used.
- Returns
- the cache control value
Definition at line 401 of file kprotocolmanager.cpp.
◆ cacheDir()
|
static |
The directory which contains the cache files.
- Returns
- the directory that contains the cache files
Definition at line 412 of file kprotocolmanager.cpp.
◆ canCopyFromFile()
|
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
-
url the url to check
- Returns
- true if the protocol can copy files from the local file system
Definition at line 1120 of file kprotocolmanager.cpp.
◆ canCopyToFile()
|
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
-
url the url to check
- Returns
- true if the protocol can copy files to the local file system
Definition at line 1130 of file kprotocolmanager.cpp.
◆ canDeleteRecursive()
|
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
-
url the url to check
- Returns
- true if the protocol can delete non-empty directories by itself.
Definition at line 1160 of file kprotocolmanager.cpp.
◆ canRenameFromFile()
|
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
-
url the url to check
- Returns
- true if the protocol can rename/move files from the local file system
Definition at line 1140 of file kprotocolmanager.cpp.
◆ canRenameToFile()
|
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
-
url the url to check
- Returns
- true if the protocol can rename files to the local file system
Definition at line 1150 of file kprotocolmanager.cpp.
◆ charsetFor()
Returns the charset to use for the specified url.
- Since
- 4.10
Definition at line 1206 of file kprotocolmanager.cpp.
◆ connectTimeout()
|
static |
Returns the preferred timeout value for remote connections in seconds.
- Returns
- timeout value for remote connection in secs.
Definition at line 336 of file kprotocolmanager.cpp.
◆ defaultMimetype()
Returns default MIME type for this URL based on the protocol.
This corresponds to the "defaultMimetype=" field in the protocol description file.
- Parameters
-
url the url to check
- Returns
- the default MIME type of the protocol, or an empty string if unknown
Definition at line 1180 of file kprotocolmanager.cpp.
◆ defaultUserAgent() [1/2]
|
static |
Returns the default user-agent string used for web browsing.
- Returns
- the default user-agent string
Definition at line 734 of file kprotocolmanager.cpp.
◆ defaultUserAgent() [2/2]
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
-
keys can 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 754 of file kprotocolmanager.cpp.
◆ fileNameUsedForCopying()
|
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 KIO worker 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
-
url the url to check
- Returns
- how to generate the filename in the destination directory when copying/moving
Definition at line 1170 of file kprotocolmanager.cpp.
◆ getSystemNameVersionAndMachine()
|
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
-
systemName system name systemVersion system version machine machine type
- Returns
- true if system name, version and machine type has been provided
- Since
- 4.1
Definition at line 833 of file kprotocolmanager.cpp.
◆ inputType()
|
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
-
url the url to check
- Returns
- the input type of the given
url
Definition at line 990 of file kprotocolmanager.cpp.
◆ isSourceProtocol()
|
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
-
url the 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 1010 of file kprotocolmanager.cpp.
◆ listing()
|
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
-
url the url to check
- Returns
- a list of field names
Definition at line 1030 of file kprotocolmanager.cpp.
◆ 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 931 of file kprotocolmanager.cpp.
◆ 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 419 of file kprotocolmanager.cpp.
◆ 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_worker_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 426 of file kprotocolmanager.cpp.
◆ 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 938 of file kprotocolmanager.cpp.
◆ 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 433 of file kprotocolmanager.cpp.
◆ outputType()
|
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
-
url the url to check
- Returns
- the output type of the given
url
Definition at line 1000 of file kprotocolmanager.cpp.
◆ persistentConnections()
|
static |
Returns true if connections should be persistent.
- Returns
- true if the connections should be persistent
Definition at line 953 of file kprotocolmanager.cpp.
◆ persistentProxyConnection()
|
static |
Returns true if proxy connections should be persistent.
- Returns
- true if proxy connections should be persistent
Definition at line 960 of file kprotocolmanager.cpp.
◆ protocolForArchiveMimetype()
Returns which protocol handles this MIME type, if it's an archive MIME type.
For instance zip:/ handles application/x-zip.
This is defined in the protocol description file using an entry like "archiveMimetype=application/x-zip"
- Parameters
-
mimeType the MIME type to check
- Returns
- the protocol that can handle this archive MIME type, for instance "zip".
- Since
- 4.1
Definition at line 1190 of file kprotocolmanager.cpp.
◆ proxiesForUrl()
|
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
-
url the URL whose proxy info is needed
- Returns
- the proxy server address if one is available, otherwise an empty list .
Definition at line 548 of file kprotocolmanager.cpp.
◆ proxyAuthMode()
|
static |
Returns the way proxy authorization should be handled.
- Returns
- the proxy authorization mode
- See also
- ProxyAuthMode
Definition at line 384 of file kprotocolmanager.cpp.
◆ proxyConfigScript()
|
static |
Returns the URL of the script for automatic proxy configuration.
- Returns
- the proxy configuration script
Definition at line 967 of file kprotocolmanager.cpp.
◆ proxyConnectTimeout()
|
static |
Returns the preferred timeout value for proxy connections in seconds.
- Returns
- timeout value for proxy connection in secs.
Definition at line 345 of file kprotocolmanager.cpp.
◆ proxyFor()
Returns the proxy server address for a given protocol.
- Parameters
-
protocol the protocol whose proxy info is needed
- Returns
- the proxy server address if one is available, or QString() if not available
Definition at line 453 of file kprotocolmanager.cpp.
◆ proxyForUrl()
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
-
url the URL whose proxy info is needed
- Returns
- the proxy server address if one is available, otherwise a QString().
Definition at line 482 of file kprotocolmanager.cpp.
◆ proxyType()
|
static |
Returns the type of proxy configuration that is used.
- Returns
- the proxy type
Definition at line 377 of file kprotocolmanager.cpp.
◆ 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 327 of file kprotocolmanager.cpp.
◆ reparseConfiguration()
|
static |
Force a reload of the general config file of KIO workers ( kioslaverc).
Definition at line 257 of file kprotocolmanager.cpp.
◆ responseTimeout()
|
static |
Returns the preferred response timeout value for remote connecting in seconds.
- Returns
- timeout value for remote connection in seconds.
Definition at line 354 of file kprotocolmanager.cpp.
◆ slaveProtocol() [1/2]
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
-
url the url to check proxy the URL of the proxy to use
- Returns
- the slave protocol (e.g. 'http'), can be null if unknown
- Deprecated:
- Since 5.101, use workerProtocol(const QUrl &, QString &)
Definition at line 617 of file kprotocolmanager.cpp.
◆ slaveProtocol() [2/2]
|
static |
Overloaded function that returns a list of all available proxy servers.
- Since
- 4.7
- Deprecated:
- Since 5.101, use workerProtocol(const QUrl &, QStringList &)
Definition at line 646 of file kprotocolmanager.cpp.
◆ supportsDeleting()
|
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
-
url the url to check
- Returns
- true if the protocol supports deleting
Definition at line 1070 of file kprotocolmanager.cpp.
◆ supportsLinking()
|
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
-
url the url to check
- Returns
- true if the protocol supports linking
Definition at line 1080 of file kprotocolmanager.cpp.
◆ supportsListing()
|
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
-
url the url to check
- Returns
- true if the protocol support listing
- See also
- listing()
Definition at line 1020 of file kprotocolmanager.cpp.
◆ supportsMakeDir()
|
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
-
url the url to check
- Returns
- true if the protocol can create directories
Definition at line 1060 of file kprotocolmanager.cpp.
◆ supportsMoving()
|
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
-
url the url to check
- Returns
- true if the protocol supports moving
Definition at line 1090 of file kprotocolmanager.cpp.
◆ supportsOpening()
|
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
-
url the url to check
- Returns
- true if the protocol supports opening
Definition at line 1100 of file kprotocolmanager.cpp.
◆ supportsPermissions()
|
static |
Returns whether the protocol suppports KIO/POSIX permissions handling.
When this is false the Permissions properties tab may be hidden, for example. The protocol may still support permission control through other means, specific to the individual KIO worker.
- Parameters
-
url the url to check
- Returns
- whether the protocol supports permissions
- Since
- 5.98
Definition at line 1211 of file kprotocolmanager.cpp.
◆ supportsReading()
|
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
-
url the url to check
- Returns
- true if it is possible to read from the URL
Definition at line 1040 of file kprotocolmanager.cpp.
◆ supportsTruncating()
|
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
-
url the url to check
- Returns
- true if the protocol supports truncating
- Since
- 5.66
Definition at line 1110 of file kprotocolmanager.cpp.
◆ supportsWriting()
|
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
-
url the url to check
- Returns
- true if the protocol supports writing
Definition at line 1050 of file kprotocolmanager.cpp.
◆ useCache()
|
static |
Returns true/false to indicate whether a cache should be used.
- Returns
- true to use the cache, false otherwisea
Definition at line 394 of file kprotocolmanager.cpp.
◆ 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 365 of file kprotocolmanager.cpp.
◆ userAgentForApplication()
|
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
-
appName name of the application appVersion name of the application extraInfo a 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 811 of file kprotocolmanager.cpp.
◆ userAgentForHost()
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
-
hostname name of the host
- Returns
- specified user-agent string
Definition at line 716 of file kprotocolmanager.cpp.
◆ 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 370 of file kprotocolmanager.cpp.
◆ workerProtocol() [1/2]
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 KIO worker.
When a proxy is to be used, proxy contains the URL for the proxy.
- Parameters
-
url the url to check proxy the URL of the proxy to use
- Returns
- the worker protocol (e.g. 'http'), can be null if unknown
- Since
- 5.101
Definition at line 623 of file kprotocolmanager.cpp.
◆ workerProtocol() [2/2]
|
static |
Overloaded function that returns a list of all available proxy servers.
- Since
- 5.101
Definition at line 652 of file kprotocolmanager.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sat Dec 2 2023 03:52:47 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.