# kio Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KIO::NetAccess< T, K > Class Template Reference

Net Transparency. Provides an easy, synchronous interface to KIO file operations. More...

`#include <netaccess.h>`

Inheritance diagram for KIO::NetAccess< T, K >:

[legend]
Collaboration diagram for KIO::NetAccess< T, K >:

[legend]
List of all members.

## Static Public Member Functions

static bool | download (const KURL &src, QString &target, QWidget *window)
static bool | download (const KURL &src, QString &target) KDE_DEPRECATED
static void | removeTempFile (const QString &name)
static bool | upload (const QString &src, const KURL &target, QWidget *window)
static bool | upload (const QString &src, const KURL &target) KDE_DEPRECATED
static bool | copy (const KURL &src, const KURL &target, QWidget *window)
static bool | copy (const KURL &src, const KURL &target) KDE_DEPRECATED
static bool | file_copy (const KURL &src, const KURL &dest, int permissions=-1, bool overwrite=false, bool resume=false, QWidget *window=0L)
static bool | file_move (const KURL &src, const KURL &target, int permissions=-1, bool overwrite=false, bool resume=false, QWidget *window=0L)
static bool | dircopy (const KURL &src, const KURL &target, QWidget *window)
static bool | dircopy (const KURL &src, const KURL &target) KDE_DEPRECATED
static bool | dircopy (const KURL::List &src, const KURL &target, QWidget *window=0L)
static bool | move (const KURL &src, const KURL &target, QWidget *window=0L)
static bool | move (const KURL::List &src, const KURL &target, QWidget *window=0L)
static bool | exists (const KURL &url, bool source, QWidget *window)
static bool | exists (const KURL &url, QWidget *window) KDE_DEPRECATED
static bool | exists (const KURL &url) KDE_DEPRECATED
static bool | exists (const KURL &url, bool source) KDE_DEPRECATED
static bool | stat (const KURL &url, KIO::UDSEntry &entry, QWidget *window)
static bool | stat (const KURL &url, KIO::UDSEntry &entry) KDE_DEPRECATED
static bool | del (const KURL &url, QWidget *window)
static bool | del (const KURL &url) KDE_DEPRECATED
static bool | mkdir (const KURL &url, QWidget *window, int permissions=-1)
static bool | mkdir (const KURL &url, int permissions=-1) KDE_DEPRECATED
static QString | fish_execute (const KURL &url, const QString command, QWidget *window)
static bool | synchronousRun (Job *job, QWidget *window, QByteArray *data=0, KURL *finalURL=0, QMap< QString, QString > *metaData=0)
static QString | mimetype (const KURL &url, QWidget *window)
static QString | mimetype (const KURL &url) KDE_DEPRECATED
static QString | lastErrorString ()
static int | lastError ()

## Friends

class | I_like_this_class

## Detailed Description

### template<typename T, typename K>
class KIO::NetAccess< T, K >

Net Transparency. Provides an easy, synchronous interface to KIO file operations.

NetAccess allows you to do simple file operation (load, save, copy, delete...) without working with KIO::Job directly. Whereas a KIO::Job is asynchronous, meaning that the developer has to connect slots for it, KIO::NetAccess provides synchronous downloads and uploads, as well as temporary file creation and removal. The functions appear to be blocking, but the Qt event loop continues running while the operations are handled. This means that the GUI will not freeze.

This class isn't meant to be used as a class but only as a simple namespace for static functions, though an instance of the class is built for internal purposes.

Port to kio done by David Faure, faure@kde.org

Definition at line 59 of file netaccess.h.

## Member Function Documentation

template<typename T, typename K>
bool NetAccess::download | ( | const KURL & | src,
|  | QString & | target,
|  | QWidget * | window
| ) | `[static]`

Downloads a file from an arbitrary URL (`src`) to a temporary file on the local filesystem (`target`).

If the argument for `target` is an empty string, download will generate a unique temporary filename in /tmp. Since `target` is a reference to QString you can access this filename easily. Download will return true if the download was successful, otherwise false.

Special case: If the URL is of kind file:, then no downloading is processed but the full filename is returned in `target`. That means you have to take care about the `target` argument. (This is very easy to do, please see the example below.)

Download is synchronous. That means you can use it like this, (assuming `u` is a string which represents a URL and your application has a loadFile() function):

     QString tmpFile;
     if( KIO::NetAccess::download( u, tmpFile, window ) )
     {
       loadFile( tmpFile );
       KIO::NetAccess::removeTempFile( tmpFile );
     } else {
       KMessageBox::error(this, KIO::NetAccess::lastErrorString() );
     }

Of course, your user interface will still process exposure/repaint events during the download.

If the download fails, lastError() and lastErrorString() will be set.

Parameters:

  | src | URL Reference to the file to download.
  | target | String containing the final local location of the file. If you insert an empty string, it will return a location in a temporary spot. Note: you are responsible for the removal of this file when you are finished reading it using removeTempFile.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true if successful, false for failure. Use lastErrorString() to get the reason it failed.

See also:
  lastErrorString()

Definition at line 57 of file netaccess.cpp.

References QString::arg(), KIO::NetAccess< T, K >::filecopyInternal(), KTempFile::name(), and KURL::setPath().

Referenced by KIO::NetAccess< T, K >::download().

template<typename T, typename K>
bool NetAccess::download | ( | const KURL & | src,
|  | QString & | target
| ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 52 of file netaccess.cpp.

References KIO::NetAccess< T, K >::download().

template<typename T, typename K>
void NetAccess::removeTempFile | ( | const QString & | name | ) | `[static]`

Removes the specified file if and only if it was created by KIO::NetAccess as a temporary file for a former download.

Note: This means that if you created your temporary with KTempFile, use KTempFile::unlink() or KTempFile::setAutoDelete() to have it removed.

Parameters:

  | name | Path to temporary file to remove. May not be empty.

Definition at line 254 of file netaccess.cpp.

template<typename T, typename K>
bool NetAccess::upload | ( | const QString & | src,
|  | const KURL & | target,
|  | QWidget * | window
| ) | `[static]`

Uploads file `src` to URL `target`.

Both must be specified, unlike download. Note that this is assumed to be used for saving a file over the network, so overwriting is set to true. This is not the case with copy.

Parameters:

  | src | URL Referencing the file to upload.
  | target | URL containing the final location of the file.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true if successful, false for failure

Definition at line 94 of file netaccess.cpp.

References KIO::NetAccess< T, K >::filecopyInternal(), and KURL::setPath().

Referenced by KIO::pasteData(), and KIO::NetAccess< T, K >::upload().

template<typename T, typename K>
bool NetAccess::upload | ( | const QString & | src,
|  | const KURL & | target
| ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 89 of file netaccess.cpp.

References KIO::NetAccess< T, K >::upload().

template<typename T, typename K>
bool NetAccess::copy | ( | const KURL & | src,
|  | const KURL & | target,
|  | QWidget * | window
| ) | `[static]`

Alternative to upload for copying over the network.

Overwrite is false, so this will fail if `target` exists.

This one takes two URLs and is a direct equivalent of KIO::file_copy (not KIO::copy!). It will be renamed file_copy in KDE4, so better use file_copy.

Parameters:

  | src | URL Referencing the file to upload.
  | target | URL containing the final location of the file.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true if successful, false for failure

Definition at line 117 of file netaccess.cpp.

References KIO::NetAccess< T, K >::file_copy().

template<typename T, typename K>
bool NetAccess::copy | ( | const KURL & | src,
|  | const KURL & | target
| ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 112 of file netaccess.cpp.

References KIO::NetAccess< T, K >::file_copy().

template<typename T, typename K>
bool NetAccess::file_copy | ( | const KURL & | src,
|  | const KURL & | dest,
|  | int | permissions = `-1`,
|  | bool | overwrite = `false`,
|  | bool | resume = `false`,
|  | QWidget * | window = `0L`
| ) | `[static]`

| Full-fledged equivalent of KIO::file_copy. Definition at line 122 of file netaccess.cpp. References KIO::NetAccess< T, K >::filecopyInternal(). Referenced by KIO::NetAccess< T, K >::copy().

template<typename T, typename K>
bool NetAccess::file_move | ( | const KURL & | src,
|  | const KURL & | target,
|  | int | permissions = `-1`,
|  | bool | overwrite = `false`,
|  | bool | resume = `false`,
|  | QWidget * | window = `0L`
| ) | `[static]`

Full-fledged equivalent of KIO::file_move.

Moves or renames *one file*.

Since:
  3.2

Definition at line 131 of file netaccess.cpp.

References KIO::NetAccess< T, K >::filecopyInternal().

template<typename T, typename K>
bool NetAccess::dircopy | ( | const KURL & | src,
|  | const KURL & | target,
|  | QWidget * | window
| ) | `[static]`

Alternative method for copying over the network.

Overwrite is false, so this will fail if `target` exists.

This one takes two URLs and is a direct equivalent of KIO::copy!. This means that it can copy files and directories alike (it should have been named copy()).

Parameters:

  | src | URL Referencing the file to upload.
  | target | URL containing the final location of the file.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true if successful, false for failure

Definition at line 144 of file netaccess.cpp.

References QValueList::append().

Referenced by KIO::NetAccess< T, K >::dircopy().

template<typename T, typename K>
bool NetAccess::dircopy | ( | const KURL & | src,
|  | const KURL & | target
| ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 139 of file netaccess.cpp.

References KIO::NetAccess< T, K >::dircopy().

template<typename T, typename K>
bool NetAccess::dircopy | ( | const KURL::List & | src,
|  | const KURL & | target,
|  | QWidget * | window = `0L`
| ) | `[static]`

| Overloaded method, which takes a list of source URLs. Definition at line 151 of file netaccess.cpp. References KIO::NetAccess< T, K >::dircopyInternal().

template<typename T, typename K>
bool NetAccess::move | ( | const KURL & | src,
|  | const KURL & | target,
|  | QWidget * | window = `0L`
| ) | `[static]`

Full-fledged equivalent of KIO::move.

Moves or renames one file or directory.

Since:
  3.2

Definition at line 157 of file netaccess.cpp.

References QValueList::append().

template<typename T, typename K>
bool NetAccess::move | ( | const KURL::List & | src,
|  | const KURL & | target,
|  | QWidget * | window = `0L`
| ) | `[static]`

Full-fledged equivalent of KIO::move.

Moves or renames a list of files or directories.

Since:
  3.2

Definition at line 164 of file netaccess.cpp.

References KIO::NetAccess< T, K >::dircopyInternal().

template<typename T, typename K>
bool NetAccess::exists | ( | const KURL & | url,
|  | bool | source,
|  | QWidget * | window
| ) | `[static]`

Tests whether a URL exists.

Parameters:

  | url | the URL we are testing
  | source | if true, we want to read from that URL. If false, we want to write to it. IMPORTANT: see documentation for KIO::stat for more details about this.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true if the URL exists and we can do the operation specified by `source`, false otherwise

Definition at line 185 of file netaccess.cpp.

References QFile::exists(), and KIO::NetAccess< T, K >::statInternal().

Referenced by KIO::NetAccess< T, K >::exists(), and KDirOperator::mkdir().

template<typename T, typename K>
bool NetAccess::exists | ( | const KURL & | url,
|  | QWidget * | window
| ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 175 of file netaccess.cpp.

References KIO::NetAccess< T, K >::exists().

template<typename T, typename K>
bool NetAccess::exists | ( | const KURL & | url | ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 170 of file netaccess.cpp.

References KIO::NetAccess< T, K >::exists().

template<typename T, typename K>
bool NetAccess::exists | ( | const KURL & | url,
|  | bool | source
| ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 180 of file netaccess.cpp.

References KIO::NetAccess< T, K >::exists().

template<typename T, typename K>
bool NetAccess::stat | ( | const KURL & | url,
|  | KIO::UDSEntry & | entry,
|  | QWidget * | window
| ) | `[static]`

Tests whether a URL exists and return information on it.

This is a convenience function for KIO::stat (it saves creating a slot and testing for the job result).

Parameters:

  | url | The URL we are testing.
  | entry | The result of the stat. Iterate over the list of atoms to get hold of name, type, size, etc., or use KFileItem.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true if successful, false for failure

Definition at line 198 of file netaccess.cpp.

References KIO::NetAccess< T, K >::m_entry, and KIO::NetAccess< T, K >::statInternal().

Referenced by KPropertiesDialog::KPropertiesDialog(), and KIO::NetAccess< T, K >::stat().

template<typename T, typename K>
bool NetAccess::stat | ( | const KURL & | url,
|  | KIO::UDSEntry & | entry
| ) | `[static]`

Deprecated:
  . Use the function above instead.

Definition at line 193 of file netaccess.cpp.

References KIO::NetAccess< T, K >::stat().

template<typename T, typename K>
bool NetAccess::del | ( | const KURL & | url,
|  | QWidget * | window
| ) | `[static]`

Deletes a file or a directory in a synchronous way.

This is a convenience function for KIO::del (it saves creating a slot and testing for the job result).

Parameters:

  | url | The file or directory to delete.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true on success, false on failure.

Definition at line 212 of file netaccess.cpp.

References KIO::NetAccess< T, K >::delInternal().

Referenced by KIO::NetAccess< T, K >::del().

template<typename T, typename K>
bool NetAccess::del | ( | const KURL & | url | ) | `[static]`

Deprecated:
  . Use the function above instead. Passing NULL as the additional argument will give the same behaviour, but you should try to identify a suitable parent widget if at all possible.

Definition at line 207 of file netaccess.cpp.

References KIO::NetAccess< T, K >::del().

template<typename T, typename K>
bool NetAccess::mkdir | ( | const KURL & | url,
|  | QWidget * | window,
|  | int | permissions = `-1`
| ) | `[static]`

Creates a directory in a synchronous way.

This is a convenience function for `KIO::mkdir` (it saves creating a slot and testing for the job result).

Parameters:

  | url | The directory to create.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  true on success, false on failure.

Definition at line 223 of file netaccess.cpp.

References KIO::NetAccess< T, K >::mkdirInternal().

Referenced by KIO::NetAccess< T, K >::mkdir(), and KDirOperator::mkdir().

template<typename T, typename K>
bool NetAccess::mkdir | ( | const KURL & | url,
|  | int | permissions = `-1`
| ) | `[static]`

Deprecated:
  . Use the function above instead. Passing NULL as the additional argument will give the same behaviour, but you should try to identify a suitable parent widget if at all possible.

Definition at line 218 of file netaccess.cpp.

References KIO::NetAccess< T, K >::mkdir().

template<typename T, typename K>
QString NetAccess::fish_execute | ( | const KURL & | url,
|  | const QString | command,
|  | QWidget * | window
| ) | `[static]`

Executes a remote process via the fish ioslave in a synchronous way.

Parameters:

  | url | The remote machine where the command should be executed. e.g. fish://someuser@somehost:sshport/ some special cases exist. fish://someuser@localhost/ will use su instead of ssh to connect and execute the command. fish://someuser@localhost:port/ will use ssh to connect and execute the command.
  | command | The command to be executed.
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.

Returns:
  The resulting output of the `command` that is executed.

Definition at line 229 of file netaccess.cpp.

References KIO::NetAccess< T, K >::fish_executeInternal().

template<typename T, typename K>
bool NetAccess::synchronousRun | ( | Job * | job,
|  | QWidget * | window,
|  | QByteArray * | data = `0`,
|  | KURL * | finalURL = `0`,
|  | QMap< QString, QString > * | metaData = `0`
| ) | `[static]`

This function executes a job in a synchronous way.

If a job fetches some data, pass a QByteArray pointer as data parameter to this function and after the function returns it will contain all the data fetched by this job.

`KIO::Job *job = KIO::get( url, false, false ); QMap<QString, QString> metaData; metaData.insert( "PropagateHttpHeader", "true" ); if ( NetAccess::synchronousRun( job, 0, &data, &url, &metaData ) ) { QString responseHeaders = metaData[ "HTTP-Headers" ]; kdDebug()<<"Response header = "<< responseHeaders << endl; }`

Parameters:

  | job | job which the function will run. Note that after this function finishes running, job is deleted and you can't access it anymore!
  | window | main window associated with this job. This is used to automatically cache and discard authentication information as needed. If NULL, authentication information will be cached only for a short duration after which the user will again be prompted for passwords as needed.
  | data | if passed and relevant to this job then it will contain the data that was fetched by the job
  | finalURL | if passed will contain the final url of this job (it might differ from the one it was created with if there was a redirection)
  | metaData | you can pass a pointer to the map with meta data you wish to set on the job. After the job finishes this map will hold all the meta data from the job.

Returns:
  true on success, false on failure.

Since:
  3.4

Definition at line 235 of file netaccess.cpp.

References KIO::NetAccess< T, K >::synchronousRunInternal().

template<typename T, typename K>
QString NetAccess::mimetype | ( | const KURL & | url | ) | `[static]`

Deprecated:
  . Use the function above instead. Passing NULL as the additional argument will give the same behaviour, but you should try to identify a suitable parent widget if at all possible.

Definition at line 242 of file netaccess.cpp.

References KIO::NetAccess< T, K >::mimetypeInternal().

template<typename T, typename K>
static QString KIO::NetAccess< T, K >::lastErrorString | ( |  | ) | `[inline, static]`

Returns the error string for the last job, in case it failed.

Note that this is already translated.

Returns:
  the last error string, or QString::null

Definition at line 445 of file netaccess.h.

template<typename T, typename K>
static int KIO::NetAccess< T, K >::lastError | ( |  | ) | `[inline, static]`

Returns the error code for the last job, in case it failed.

Returns:
  the last error code

Since:
  3.3

Definition at line 452 of file netaccess.h.

The documentation for this class was generated from the following files:

- netaccess.h
- netaccess.cpp

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:26:24 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003