kio Library API Documentation

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:

KIO::SimpleJob KIO::Job QObject KIO::DavJob KIO::MimetypeJob KIO::MultiGetJob 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
TransferJobm_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 714 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 767 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 1049 of file job.cpp.

References KIO::Job::emitResult(), KIO::Job::error(), KIO::Job::errorText(), QPtrList::remove(), and resume().

void TransferJob::suspend  ) 
 

Flow control.

Suspend data processing from the slave. Definition at line 966 of file job.cpp.

void TransferJob::resume  ) 
 

Flow control.

Resume data processing from the slave. Definition at line 973 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 760 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 770 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 879 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 887 of file job.cpp.

References KIO::Job::emitPercent(), KIO::filesize_t, 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 907 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 915 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)

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 818 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 1034 of file job.cpp.

References KIO::SimpleJob::slotMetaData().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kio Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Aug 30 22:54:50 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003