kio Library API Documentation

KIO::Job Class Reference

The base class for all jobs. More...

#include <jobclasses.h>

Inheritance diagram for KIO::Job:

QObject KDirSize KIO::ChmodJob KIO::DeleteJob KIO::FileCopyJob KIO::MetaInfoJob KIO::PreviewJob KIO::SimpleJob KIO::TransferJob KIO::DavJob List of all members.

Signals

void result (KIO::Job *job)
 Emitted when the job is finished, in any case (completed, canceled, failed...).

void canceled (KIO::Job *job)
 Emitted when the job is canceled.

void infoMessage (KIO::Job *, const QString &msg)
 Emitted to display information about this job, as sent by the slave.

void connected (KIO::Job *)
 Emitted when the slave successfully connected to the host.

void percent (KIO::Job *job, unsigned long percent)
 Progress signal showing the overall progress of the job This is valid for any kind of job, and allows using a a progress bar very easily.

void totalSize (KIO::Job *, KIO::filesize_t size)
 Emitted when we know the size of this job (data size for transfers, number of entries for listings).

void processedSize (KIO::Job *, KIO::filesize_t size)
 Regularly emitted to show the progress of this job (current data size for transfers, entries listed).

void speed (KIO::Job *, unsigned long bytes_per_second)
 Emitted to display information about the speed of this job.


Public Methods

virtual void kill (bool quietly=true)
 Abort this job.

int error () const
int progressId () const
const QStringerrorText () const
QString errorString () const
 Converts an error code and a non-i18n error message into an error message in the current language.

QStringList detailedErrorStrings (const KURL *reqUrl=0L, int method=-1) const
 Converts an error code and a non-i18n error message into i18n strings suitable for presentation in a detailed error message box.

void showErrorDialog (QWidget *parent=0L)
 Display a dialog box to inform the user of the error given by this job.

void setAutoErrorHandlingEnabled (bool enable, QWidget *parentWidget=0)
 Enable or disable the automatic error handling.

bool isAutoErrorHandlingEnabled () const
 Returns whether automatic error handling is enabled or disabled.

void setWindow (QWidget *window)
 Associate this job with a window given by window.

QWidgetwindow () const
 Returns the window this job is associated with.

void setParentJob (Job *parentJob)
 Set the parent Job.

Job * parentJob () const
void setMetaData (const KIO::MetaData &)
 Set meta data to be sent to the slave.

void addMetaData (const QString &key, const QString &value)
 Add key/value pair to the meta data that is sent to the slave.

void addMetaData (const QMap< QString, QString > &values)
 Add key/value pairs to the meta data that is sent to the slave.

void mergeMetaData (const QMap< QString, QString > &values)
 Add key/value pairs to the meta data that is sent to the slave.

MetaData metaData () const
 Get meta data received from the slave.

QString queryMetaData (const QString &key)
 Query meta data received from the slave.


Protected Slots

virtual void slotResult (KIO::Job *job)
 Called whenever a subjob finishes.

void slotSpeed (KIO::Job *, unsigned long bytes_per_second)
 Forward signal from subjob.

void slotInfoMessage (KIO::Job *, const QString &)
 Forward signal from subjob.

void slotSpeedTimeout ()
 Remove speed information.


Protected Methods

virtual void addSubjob (Job *job, bool inheritMetaData=true)
 Add a job that has to be finished before a result is emitted.

virtual void removeSubjob (Job *job)
 Mark a sub job as being done.

void emitPercent (KIO::filesize_t processedSize, KIO::filesize_t totalSize)
 Utility function for inherited jobs.

void emitSpeed (unsigned long bytes_per_second)
 Utility function for inherited jobs.

void emitResult ()
 Utility function to emit the result signal, and suicide this job.


Detailed Description

The base class for all jobs.

For all jobs created in an application, the code looks like

   KIO::Job * job = KIO::someoperation( some parameters );
   connect( job, SIGNAL( result( KIO::Job * ) ),
            this, SLOT( slotResult( KIO::Job * ) ) );
 
(other connects, specific to the job)

And slotResult is usually at least:

  if ( job->error() )
      job->showErrorDialog( this or 0L  );
 

Definition at line 66 of file jobclasses.h.


Member Function Documentation

void Job::kill bool    quietly = true [virtual]
 

Abort this job.

This kills all subjobs and deletes the job.

Parameters:
quietly  if false, Job will emit signal result and ask kio_uiserver to close the progress window. quietly is set to true for subjobs. Whether applications should call with true or false depends on whether they rely on result being emitted or not.

Reimplemented in KIO::SimpleJob.

Definition at line 187 of file job.cpp.

References canceled(), QPtrList< Job >::clear(), QPtrListIterator::current(), emitResult(), Observer::jobFinished(), and Observer::self().

Referenced by KImageFilePreview::clearPreview(), KRun::killJob(), and KIO::ProgressBase::slotStop().

int KIO::Job::error   const [inline]
 

Returns:
the error code for this job, 0 if no error Error codes are defined in KIO::Error. Only call this method from the slot connected to result().

Definition at line 91 of file jobclasses.h.

Referenced by KIO::PreviewJob::slotResult(), KIO::DeleteJob::slotResult(), KIO::FileCopyJob::slotResult(), KIO::TransferJob::slotResult(), slotResult(), and KIO::ChmodJob::slotResult().

int KIO::Job::progressId   const [inline]
 

Returns:
the progress id for this job, as returned by uiserver

Definition at line 96 of file jobclasses.h.

Referenced by Observer::open_RenameDlg(), Observer::open_SkipDlg(), and Observer::slotTransferring().

const QString& KIO::Job::errorText   const [inline]
 

Returns:
a string to help understand the error, usually the url related to the error. Only call if error is not 0. This is really internal, better use errorString or errorDialog.

Definition at line 104 of file jobclasses.h.

Referenced by KIO::FileCopyJob::slotResult(), KIO::TransferJob::slotResult(), slotResult(), and KIO::ChmodJob::slotResult().

QString KIO::Job::errorString  
 

Converts an error code and a non-i18n error message into an error message in the current language.

The low level (non-i18n) error message (usually a url) is put into the translated error message using %1.

Example for errid == ERR_CANNOT_OPEN_FOR_READING: i18n( "Could not read
%1" ).arg( errortext ); Use this to display the error yourself, but for a dialog box use Job::showErrorDialog.

Definition at line 173 of file global.cpp.

Referenced by showErrorDialog().

QStringList KIO::Job::detailedErrorStrings const KURL   reqUrl = 0L,
int    method = -1
const
 

Converts an error code and a non-i18n error message into i18n strings suitable for presentation in a detailed error message box.

reqUrl the request URL that generated this error message method the method that generated this error message (unimplemented)

Returns strings: caption, error + description, causes+solutions

Definition at line 383 of file global.cpp.

References QString::arg(), QDateTime::currentDateTime(), KStdAccel::description(), KLocale::formatDateTime(), QString::fromLatin1(), KURL::htmlURL(), QStringList::join(), KGlobal::locale(), and KURL::protocol().

Referenced by showErrorDialog().

void Job::showErrorDialog QWidget   parent = 0L
 

Display a dialog box to inform the user of the error given by this job.

Only call if error is not 0, and only in the slot connected to result.

Parameters:
parent  the parent widget for the dialog box

Definition at line 242 of file job.cpp.

References KLocale::defaultLanguage(), detailedErrorStrings(), errorString(), KGlobal::locale(), KMessageBox::queuedDetailedError(), and KMessageBox::queuedMessageBox().

Referenced by emitResult(), and KDirLister::handleError().

void Job::setAutoErrorHandlingEnabled bool    enable,
QWidget   parentWidget = 0
 

Enable or disable the automatic error handling.

When automatic error handling is enabled and an error occurs, then showErrorDialog is called with the specified parentWidget (if supplied) , right before the emission of the result signal.

The default is false.

See also isAutoErrorHandlingEnabled , showErrorDialog

Parameters:
enable  enable or disable automatic error handling
parentWidget  the parent widget, passed to showErrorDialog

Definition at line 269 of file job.cpp.

Referenced by KDirOperator::del().

bool Job::isAutoErrorHandlingEnabled  
 

Returns whether automatic error handling is enabled or disabled.

See also setAutoErrorHandlingEnabled .

Definition at line 275 of file job.cpp.

void Job::setWindow QWidget   window
 

Associate this job with a window given by window.

Definition at line 280 of file job.cpp.

References KIO::Scheduler::registerWindow().

QWidget * Job::window  
 

Returns the window this job is associated with.

Definition at line 286 of file job.cpp.

void Job::setParentJob Job *    parentJob
 

Set the parent Job.

One example use of this is when FileCopyJob calls open_RenameDlg, it must pass the correct progress ID of the parent CopyJob (to hide the progress dialog).

Since:
3.1

Definition at line 291 of file job.cpp.

Job * Job::parentJob  
 

See also:
setParentJob
Since:
3.1

Definition at line 298 of file job.cpp.

Referenced by KIO::FileCopyJob::slotCanResume().

void Job::setMetaData const KIO::MetaData &   
 

Set meta data to be sent to the slave.

Definition at line 315 of file job.cpp.

void Job::addMetaData const QString   key,
const QString   value
 

Add key/value pair to the meta data that is sent to the slave.

Definition at line 320 of file job.cpp.

References QMap< QString, QString >::insert(), and KStdAccel::key().

Referenced by KIO::get(), KIO::FileCopyJob::slotCanResume(), and KIO::TransferJob::slotFinished().

void Job::addMetaData const QMap< QString, QString > &    values
 

Add key/value pairs to the meta data that is sent to the slave.

If a certain key already existed, it will be overridden.

Definition at line 325 of file job.cpp.

References QMap::begin(), QMapConstIterator::data(), QMap::end(), QMap< QString, QString >::insert(), and QMapConstIterator::key().

void Job::mergeMetaData const QMap< QString, QString > &    values
 

Add key/value pairs to the meta data that is sent to the slave.

If a certain key already existed, it will remain unchanged.

Definition at line 332 of file job.cpp.

References QMap::begin(), QMapConstIterator::data(), QMap::end(), QMap< QString, QString >::insert(), and QMapConstIterator::key().

Referenced by addSubjob().

MetaData Job::metaData  
 

Get meta data received from the slave.

(Valid when first data is received and/or slave is finished)

Definition at line 303 of file job.cpp.

QString Job::queryMetaData const QString   key
 

Query meta data received from the slave.

(Valid when first data is received and/or slave is finished)

Definition at line 308 of file job.cpp.

References QMap< QString, QString >::contains(), and KStdAccel::key().

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

void KIO::Job::result KIO::Job *    job [signal]
 

Emitted when the job is finished, in any case (completed, canceled, failed...).

Use error to know the result.

Referenced by addSubjob(), KIO::PreviewJob::availablePlugins(), KIO::MetaInfoJob::availablePlugins(), emitResult(), KIO::PreviewJob::supportedMimeTypes(), and KIO::MetaInfoJob::supportedMimeTypes().

void KIO::Job::canceled KIO::Job *    job [signal]
 

Emitted when the job is canceled.

Deprecated:
. Don't use ! Signal result is emitted as well, and error() is, in this case, ERR_USER_CANCELED.

Referenced by kill().

void KIO::Job::infoMessage KIO::Job *   ,
const QString   msg
[signal]
 

Emitted to display information about this job, as sent by the slave.

Examples of message are "Resolving host", "Connecting to host...", etc.

Referenced by addSubjob(), KIO::SimpleJob::slotInfoMessage(), and slotInfoMessage().

void KIO::Job::connected KIO::Job *    [signal]
 

Emitted when the slave successfully connected to the host.

There is no guarantee the slave will send this, and this is currently unused (in the applications).

Referenced by KIO::SimpleJob::slotConnected().

void KIO::Job::percent KIO::Job *    job,
unsigned long    percent
[signal]
 

Progress signal showing the overall progress of the job This is valid for any kind of job, and allows using a a progress bar very easily.

(see KProgress). Note that this signal is not emitted for finished jobs (i.e. percent is never 100).

Referenced by emitPercent(), KIO::FileCopyJob::slotPercent(), and KIO::DeleteJob::slotProcessedSize().

void KIO::Job::totalSize KIO::Job *   ,
KIO::filesize_t    size
[signal]
 

Emitted when we know the size of this job (data size for transfers, number of entries for listings).

Referenced by emitPercent(), KIO::FileCopyJob::slotTotalSize(), and KIO::SimpleJob::slotTotalSize().

void KIO::Job::processedSize KIO::Job *   ,
KIO::filesize_t    size
[signal]
 

Regularly emitted to show the progress of this job (current data size for transfers, entries listed).

Referenced by KIO::DeleteJob::slotProcessedSize(), KIO::FileCopyJob::slotProcessedSize(), and KIO::SimpleJob::slotProcessedSize().

void KIO::Job::speed KIO::Job *   ,
unsigned long    bytes_per_second
[signal]
 

Emitted to display information about the speed of this job.

Referenced by addSubjob(), emitSpeed(), and slotSpeedTimeout().

void Job::slotResult KIO::Job *    job [protected, virtual, slot]
 

Called whenever a subjob finishes.

Default implementation checks for errors and propagates to parent job, then calls removeSubjob. Override if you don't want subjobs errors to be propagated.

Reimplemented in KDirSize, KIO::ChmodJob, KIO::TransferJob, KIO::FileCopyJob, KIO::DeleteJob, KIO::MetaInfoJob, and KIO::PreviewJob.

Definition at line 208 of file job.cpp.

References error(), errorText(), and removeSubjob().

Referenced by addSubjob(), and KDirSize::slotResult().

void Job::slotSpeed KIO::Job *   ,
unsigned long    bytes_per_second
[protected, slot]
 

Forward signal from subjob.

Definition at line 220 of file job.cpp.

References emitSpeed().

Referenced by addSubjob().

void Job::slotInfoMessage KIO::Job *   ,
const QString  
[protected, slot]
 

Forward signal from subjob.

Definition at line 226 of file job.cpp.

References infoMessage().

Referenced by addSubjob().

void Job::slotSpeedTimeout   [protected, slot]
 

Remove speed information.

Definition at line 231 of file job.cpp.

References speed(), and QTimer::stop().

Referenced by emitSpeed().

void Job::addSubjob Job *    job,
bool    inheritMetaData = true
[protected, virtual]
 

Add a job that has to be finished before a result is emitted.

This has obviously to be called before the finish signal is emitted by the slave.

If inheritMetaData is true, the subjob will inherit the meta data from this job.

Definition at line 121 of file job.cpp.

References QPtrList< Job >::append(), QObject::connect(), infoMessage(), mergeMetaData(), result(), slotInfoMessage(), slotResult(), slotSpeed(), and speed().

Referenced by KIO::FileCopyJob::slotCanResume(), KIO::DeleteJob::slotResult(), and KIO::FileCopyJob::slotResult().

void Job::removeSubjob Job *    job [protected, virtual]
 

Mark a sub job as being done.

If it's the last to wait on the job will emit a result - jobs with two steps might want to override slotResult in order to avoid calling this method.

Definition at line 140 of file job.cpp.

References emitResult(), QPtrList< Job >::isEmpty(), and QPtrList< Job >::remove().

Referenced by KIO::FileCopyJob::slotResult(), and slotResult().

void Job::emitPercent KIO::filesize_t    processedSize,
KIO::filesize_t    totalSize
[protected]
 

Utility function for inherited jobs.

Emits the percent signal if bigger than m_percent, after calculating it from the parameters.

Definition at line 148 of file job.cpp.

References percent(), and totalSize().

Referenced by KIO::FileCopyJob::slotProcessedSize(), and KIO::SimpleJob::slotProcessedSize().

void Job::emitSpeed unsigned long    bytes_per_second [protected]
 

Utility function for inherited jobs.

Emits the speed signal and starts the timer for removing that info

Definition at line 164 of file job.cpp.

References QObject::connect(), slotSpeedTimeout(), speed(), and QTimer::start().

Referenced by KIO::SimpleJob::slotSpeed(), and slotSpeed().

void Job::emitResult   [protected]
 

Utility function to emit the result signal, and suicide this job.

It first tells the observer to hide the progress dialog for this job.

Definition at line 176 of file job.cpp.

References Observer::jobFinished(), result(), Observer::self(), and showErrorDialog().

Referenced by kill(), KIO::MetaInfoJob::MetaInfoJob(), removeSubjob(), KIO::FileCopyJob::slotCanResume(), KIO::SimpleJob::slotFinished(), KIO::FileCopyJob::slotResult(), KIO::TransferJob::slotResult(), and KIO::ChmodJob::slotResult().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.0.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Oct 8 12:21:38 2003 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2001