# class Job | The base class for all jobs. More...
Full name | `KIO::Job`
Definition | `#include <jobclasses.h>`
Inherits | QObject (qt) [public ]
Inherited by | ChmodJob, CopyJob, DeleteJob, FileCopyJob, ListJob, MimetypeJob, SimpleJob, StatJob, TransferJob
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- virtual ~Job ()
- virtual void kill ( bool quietly = true )
- int error ()
- int progressId ()
- const QString & errorText ()
- QString errorString ()
- void showErrorDialog ( QWidget * parent = 0L )
- void setWindow (QWidget *window)
- QWidget * window () const

#### Signals

- void result ( KIO::Job *job )
- void canceled ( KIO::Job *job )
- void infoMessage ( KIO::Job *, const QString & msg )
- void connected ( KIO::Job * )
- void percent ( KIO::Job *job, unsigned long percent )
- void totalSize ( KIO::Job *, unsigned long size )
- void processedSize ( KIO::Job *, unsigned long size )
- void speed ( KIO::Job *, unsigned long bytes_per_second )

#### Protected Methods

- Job ( bool showProgressInfo )
- virtual void addSubjob ( Job *job )
- virtual void removeSubjob ( Job *job )
- void emitPercent ( unsigned long processedSize, unsigned long totalSize )
- void emitSpeed ( unsigned long bytes_per_second )
- void emitResult ()

#### Protected Slots

- virtual void slotResult ( KIO::Job *job )
- void slotSpeed ( KIO::Job*, unsigned long bytes_per_second )
- void slotInfoMessage ( KIO::Job*, const QString & )
- void slotSpeedTimeout ()

#### Protected Members

- QList<Job> subjobs
- int m_error
- QString m_errorText
- unsigned long m_percent
- int m_progressId
- QTimer *m_speedTimer
- QGuardedPtr<QWidget> m_window

## 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  );

Job ( bool showProgressInfo ) | ### Job

[protected]

~Job () | ### ~Job

[virtual]

void kill ( bool quietly = true ) | ### kill

[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.

int error () | ### error

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.

int progressId () | ### progressId

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

const QString & errorText () | ### errorText

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.

QString errorString () | ### 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\n%1" ).arg( errortext ); Use this to display the error yourself, but for a dialog box use KIO::ErrorDialog.

void showErrorDialog ( QWidget * parent = 0L ) | ### showErrorDialog

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

void setWindow (QWidget *window) | ### setWindow

Associate this job with a window given by `window`

QWidget * window () | ### window

[const]

Returns the window this job is associated with.

void result ( KIO::Job *job ) | ### result

[signal]

Emitted when the job is finished, in any case (completed, canceled, failed...). Use error to know the result.

void canceled ( KIO::Job *job ) | ### canceled

[signal]

Emitted when the job is canceled. Signal `result` is emitted as well, and error() is, in this case, ERR_USER_CANCELED.

void infoMessage ( KIO::Job *, const QString & msg ) | ### infoMessage

[signal]

Emitted to display information about this job, as sent by the slave. Examples of message are "Resolving host", "Connecting to host...", etc.

void connected ( KIO::Job * ) | ### connected

[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).

void percent ( KIO::Job *job, unsigned long percent ) | ### 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)

void totalSize ( KIO::Job *, unsigned long size ) | ### totalSize

[signal]

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

void processedSize ( KIO::Job *, unsigned long size ) | ### processedSize

[signal]

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 ) | ### speed

[signal]

Emitted to display information about the speed of this job.

void slotResult ( KIO::Job *job ) | ### slotResult

[protected slots 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.

void slotSpeed ( KIO::Job*, unsigned long bytes_per_second ) | ### slotSpeed

[protected slots slot]

Forward signal from subjob

void slotInfoMessage ( KIO::Job*, const QString & ) | ### slotInfoMessage

[protected slots slot]

Forward signal from subjob

void slotSpeedTimeout () | ### slotSpeedTimeout

[protected slots slot]

Remove speed information

void addSubjob ( Job *job ) | ### addSubjob

[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.

void removeSubjob ( Job *job ) | ### removeSubjob

[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.

void emitPercent ( unsigned long processedSize, unsigned long totalSize ) | ### emitPercent

[protected]

Utility function for inherited jobs. Emits the percent signal if bigger than m_percent, after calculating it from the parameters.

void emitSpeed ( unsigned long bytes_per_second ) | ### emitSpeed

[protected]

Utility function for inherited jobs. Emits the speed signal and starts the timer for removing that info

void emitResult () | ### 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.

QList<Job> subjobs | ### subjobs

[protected]

int m_error | ### m_error

[protected]

QString m_errorText | ### m_errorText

[protected]

unsigned long m_percent | ### m_percent

[protected]

int m_progressId | ### m_progressId

[protected]

QTimer * m_speedTimer | ### m_speedTimer

[protected]

QGuardedPtr<QWidget> m_window | ### m_window

[protected]

Generated by: root@i386.ports.openbsd.org on Wed Apr 25 13:58:36 2001, using kdoc 2.0a53.