# kio Library API Documentation

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

# KIO::TransferJob Class Reference

The transfer job pumps data into and/or out of a Slave. More...

`#include <jobclasses.h>`

Inheritance diagram for KIO::TransferJob:

[legend]
Collaboration diagram for KIO::TransferJob:

[legend]
List of all members.

## Signals

void | data (KIO::Job *job, const QByteArray &data)
void | dataReq (KIO::Job *job, QByteArray &data)
void | redirection (KIO::Job *job, const KURL &url)
void | permanentRedirection (KIO::Job *job, const KURL &fromUrl, const KURL &toUrl)
void | mimetype (KIO::Job *job, const QString &type)
void | canResume (KIO::Job *job, KIO::filesize_t offset)

## Public Member Functions

| TransferJob (const KURL &url, int command, const QByteArray &packedArgs, const QByteArray &_staticData, bool showProgressInfo)
virtual void | start (Slave *slave)
virtual void | slotResult (KIO::Job *job)
void | suspend ()
void | resume ()
bool | isSuspended () const
bool | isErrorPage () const
void | setAsyncDataEnabled (bool enabled)
void | sendAsyncData (const QByteArray &data)
void | setReportDataSent (bool enabled)
bool | reportDataSent ()

## Protected Slots

virtual void | slotRedirection (const KURL &url)
virtual void | slotFinished ()
virtual void | slotData (const QByteArray &data)
virtual void | slotDataReq ()
virtual void | slotMimetype (const QString &mimetype)
virtual void | slotNeedSubURLData ()
virtual void | slotSubURLData (KIO::Job *, const QByteArray &)
virtual void | slotMetaData (const KIO::MetaData &_metaData)
void | slotErrorPage ()
void | slotCanResume (KIO::filesize_t offset)
void | slotPostRedirection ()

## Protected Member Functions

virtual void | virtual_hook (int id, void *data)

## Protected Attributes

bool | m_suspended
bool | m_errorPage
QByteArray | staticData
KURL | m_redirectionURL
KURL::List | m_redirectionList
QString | m_mimetype
TransferJob * | m_subJob

## Detailed Description

The transfer job pumps data into and/or out of a Slave.

Data is sent to the slave on request of the slave ( dataReq). If data coming from the slave can not be handled, the reading of data from the slave should be suspended.

Definition at line 834 of file jobclasses.h.

## Constructor & Destructor Documentation

TransferJob::TransferJob | ( | const KURL & | url,
|  | int | command,
|  | const QByteArray & | packedArgs,
|  | const QByteArray & | _staticData,
|  | bool | showProgressInfo
| ) |

Do not create a TransferJob.

Use KIO::get() or KIO::put() instead.

Parameters:

  | url | the url to get or put
  | command | the command to issue
  | packedArgs | the arguments
  | _staticData | additional data to transmit (e.g. in a HTTP Post)
  | showProgressInfo | true to show progress information to the user

Definition at line 857 of file job.cpp.

References Observer::self(), and Observer::slotTransferring().

## Member Function Documentation

void TransferJob::slotResult | ( | KIO::Job * | job | ) | `[virtual]`

Called when m_subJob finishes.

Parameters:

  | job | the job that finished

Reimplemented from KIO::Job.

Definition at line 1139 of file job.cpp.

References KIO::Job::emitResult(), KIO::Job::error(), KIO::Job::removeSubjob(), and resume().

void TransferJob::suspend | ( |  | ) |

| Flow control. Suspend data processing from the slave. Definition at line 1056 of file job.cpp.

void TransferJob::resume | ( |  | ) |

| Flow control. Resume data processing from the slave. Definition at line 1063 of file job.cpp. Referenced by slotResult().

bool KIO::TransferJob::isSuspended | ( |  | ) | const`[inline]`

Flow control.

Returns:
  true if the job is suspended

Definition at line 880 of file jobclasses.h.

bool KIO::TransferJob::isErrorPage | ( |  | ) | const`[inline]`

Checks whether we got an error page.

This currently only happens with HTTP urls. Call this from your slot connected to result().

Returns:
  true if we got an (HTML) error page from the server instead of what we asked for.

Definition at line 890 of file jobclasses.h.

void TransferJob::setAsyncDataEnabled | ( | bool | enabled | ) |

Enable the async data mode.

When async data is enabled, data should be provided to the job by calling sendAsyncData() instead of returning data in the dataReq() signal.

Since:
  3.2

Definition at line 969 of file job.cpp.

void TransferJob::sendAsyncData | ( | const QByteArray & | data | ) |

Provide data to the job when async data is enabled.

Should be called exactly once after receiving a dataReq signal Sending an empty block indicates end of data.

Since:
  3.2

Definition at line 977 of file job.cpp.

References KIO::Job::emitPercent(), KIO::Job::getProcessedSize(), KIO::Job::processedSize(), KIO::Job::setProcessedSize(), and KIO::SimpleJob::slotTotalSize().

void TransferJob::setReportDataSent | ( | bool | enabled | ) |

When enabled, the job reports the amount of data that has been sent, instead of the amount of data that that has been received.

See also:
  slotProcessedSize

  slotSpeed

Since:
  3.2

Definition at line 997 of file job.cpp.

bool TransferJob::reportDataSent | ( |  | ) |

Returns whether the job reports the amount of data that has been sent (true), or whether the job reports the amount of data that has been received (false)

Since:
  3.2.

Definition at line 1005 of file job.cpp.

void KIO::TransferJob::data | ( | KIO::Job * | job,
|  | const QByteArray & | data
| ) | `[signal]`

Data from the slave has arrived.

Parameters:

  | job | the job that emitted this signal
  | data | data received from the slave.

End of data (EOD) has been reached if data.size() == 0, however, you should not be certain of data.size() == 0 ever happening (e.g. in case of an error), so you should rely on result() instead.

void KIO::TransferJob::dataReq | ( | KIO::Job * | job,
|  | QByteArray & | data
| ) | `[signal]`

Request for data.

Please note, that you shouldn't put too large chunks of data in it as this requires copies within the frame work, so you should rather split the data you want to pass here in reasonable chunks (about 1MB maximum)

Parameters:

  | job | the job that emitted this signal
  | data | buffer to fill with data to send to the slave. An empty buffer indicates end of data. (EOD)

Referenced by KIO::StoredTransferJob::StoredTransferJob().

void KIO::TransferJob::redirection | ( | KIO::Job * | job,
|  | const KURL & | url
| ) | `[signal]`

Signals a redirection.

Use to update the URL shown to the user. The redirection itself is handled internally.

Parameters:

  | job | the job that emitted this signal
  | url | the new URL

void KIO::TransferJob::permanentRedirection | ( | KIO::Job * | job,
|  | const KURL & | fromUrl,
|  | const KURL & | toUrl
| ) | `[signal]`

Signals a permanent redirection.

The redirection itself is handled internally.

Parameters:

  | job | the job that emitted this signal
  | fromUrl | the original URL
  | toUrl | the new URL

Since:
  3.1

Referenced by KIO::MimetypeJob::slotFinished(), and slotFinished().

void KIO::TransferJob::mimetype | ( | KIO::Job * | job,
|  | const QString & | type
| ) | `[signal]`

Mimetype determined.

Parameters:

  | job | the job that emitted this signal
  | type | the mime type

Referenced by KIO::MimetypeJob::slotFinished().

void TransferJob::slotFinished | ( |  | ) | `[protected, virtual, slot]`

Called when the slave marks the job as finished.

Reimplemented from KIO::SimpleJob.

Reimplemented in KIO::DavJob, KIO::MultiGetJob, and KIO::MimetypeJob.

Definition at line 908 of file job.cpp.

References KIO::Job::addMetaData(), QMap::clear(), KIO::Scheduler::doJob(), KURL::isEmpty(), KURL::isValid(), permanentRedirection(), KIO::Job::queryMetaData(), and KIO::SimpleJob::slotFinished().

Referenced by KIO::MultiGetJob::slotFinished(), and KIO::MimetypeJob::slotFinished().

void TransferJob::slotMetaData | ( | const KIO::MetaData & | _metaData | ) | `[protected, virtual, slot]`

MetaData from the slave is received.

Parameters:

  | _metaData | the meta data

See also:
  metaData()

Reimplemented from KIO::SimpleJob.

Definition at line 1124 of file job.cpp.

References KIO::SimpleJob::slotMetaData().

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

- jobclasses.h
- job.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:06 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003