kmail

KMail::FolderJob Class Reference

#include <folderjob.h>

Inheritance diagram for KMail::FolderJob:

List of all members.


Public Types

enum  JobType {
  tListMessages, tGetFolder, tCreateFolder, tExpungeFolder,
  tDeleteMessage, tGetMessage, tPutMessage, tAddSubfolders,
  tDeleteFolders, tCheckUidValidity, tRenameFolder, tCopyMessage,
  tMoveMessage, tOther
}

Signals

void finished ()
void messageCopied (KMMessage *)
void messageCopied (QPtrList< KMMessage >)
void messageRetrieved (KMMessage *)
void messageStored (KMMessage *)
void messageUpdated (KMMessage *, QString)
void progress (unsigned long bytesDownloaded, unsigned long bytesTotal)
void result (KMail::FolderJob *job)

Public Member Functions

int error () const
 FolderJob (JobType jt)
 FolderJob (const QPtrList< KMMessage > &msgList, const QString &sets, JobType jt=tGetMessage, KMFolder *folder=0)
 FolderJob (KMMessage *msg, JobType jt=tGetMessage, KMFolder *folder=0, QString partSpecifier=QString::null)
bool isCancellable () const
virtual void kill ()
QPtrList< KMMessagemsgList () const
bool passiveDestructor ()
void setCancellable (bool b)
void setPassiveDestructor (bool passive)
void start ()
virtual ~FolderJob ()

Protected Member Functions

virtual void execute ()=0

Protected Attributes

bool mCancellable
KMFoldermDestFolder
int mErrorCode
QPtrList< KMMessagemMsgList
QString mPartSpecifier
bool mPassiveDestructor
QString mSets
KMFoldermSrcFolder
bool mStarted
JobType mType

Detailed Description

Definition at line 44 of file folderjob.h.


Member Enumeration Documentation

Enumerator:
tListMessages 
tGetFolder 
tCreateFolder 
tExpungeFolder 
tDeleteMessage 
tGetMessage 
tPutMessage 
tAddSubfolders 
tDeleteFolders 
tCheckUidValidity 
tRenameFolder 
tCopyMessage 
tMoveMessage 
tOther 

Definition at line 49 of file folderjob.h.


Constructor & Destructor Documentation

KMail::FolderJob::FolderJob ( KMMessage msg,
JobType  jt = tGetMessage,
KMFolder folder = 0,
QString  partSpecifier = QString::null 
)

Constructs a new job, operating on the message msg, of type jt and with a parent folder folder.

Definition at line 46 of file folderjob.cpp.

KMail::FolderJob::FolderJob ( const QPtrList< KMMessage > &  msgList,
const QString sets,
JobType  jt = tGetMessage,
KMFolder folder = 0 
)

Constructs a new job, operating on a message list msgList, set , JobType jt and with the parent folder folder.

Definition at line 60 of file folderjob.cpp.

KMail::FolderJob::FolderJob ( JobType  jt  ) 

This one should ONLY be used in derived folders, when a job does something internal and needs to construct an empty parent FolderJob.

Definition at line 71 of file folderjob.cpp.

KMail::FolderJob::~FolderJob (  )  [virtual]

Definition at line 95 of file folderjob.cpp.


Member Function Documentation

int KMail::FolderJob::error (  )  const [inline]

Returns:
the error code of the job. This must only be called from the slot connected to the finished() signal.

Definition at line 92 of file folderjob.h.

virtual void KMail::FolderJob::execute (  )  [protected, pure virtual]

Has to be reimplemented.

It's called by the start() method. Should start the processing of the specified job function.

Implemented in KMail::CachedImapJob, KMail::MboxCompactionJob, KMail::MaildirCompactionJob, KMail::CopyFolderJob, KMail::ExpireJob, KMail::ListJob, KMail::MaildirJob, KMail::MboxJob, KMail::RenameJob, and KMail::SearchJob.

void KMail::FolderJob::finished (  )  [signal]

Emitted when the job finishes all processing.

bool KMail::FolderJob::isCancellable (  )  const [inline]

Returns:
true if this job can be cancelled, e.g. to exit the application

Definition at line 97 of file folderjob.h.

void KMail::FolderJob::kill (  )  [virtual]

Interrupt the job.

Note that the finished() and result() signal will be emitted, unless you called setPassiveDestructor(true) before. This kills the job, don't use it afterwards.

Reimplemented in KMail::MboxCompactionJob, KMail::MaildirCompactionJob, and KMail::ExpireJob.

Definition at line 115 of file folderjob.cpp.

void KMail::FolderJob::messageCopied ( KMMessage  )  [signal]

Overloaded signal to the one above.

A lot of copying specifies only one message as the argument and this signal is easier to use when this happens.

void KMail::FolderJob::messageCopied ( QPtrList< KMMessage  )  [signal]

Emitted when a list of messages has been copied to the specified location.

QPtrList contains the list of the copied messages.

void KMail::FolderJob::messageRetrieved ( KMMessage  )  [signal]

Emitted whenever a KMMessage has been completely retrieved from the server/folder.

void KMail::FolderJob::messageStored ( KMMessage  )  [signal]

Emitted whenever a message has been stored in the folder.

void KMail::FolderJob::messageUpdated ( KMMessage ,
QString   
) [signal]

Emitted whenever a KMMessage was updated.

QPtrList< KMMessage > KMail::FolderJob::msgList (  )  const

Definition at line 123 of file folderjob.cpp.

bool KMail::FolderJob::passiveDestructor (  )  [inline]

Definition at line 108 of file folderjob.h.

void KMail::FolderJob::progress ( unsigned long  bytesDownloaded,
unsigned long  bytesTotal 
) [signal]

This progress signal contains the "done" and the "total" numbers so that the caller can either make a % out of it, or combine it into a higher-level progress info.

void KMail::FolderJob::result ( KMail::FolderJob job  )  [signal]

Emitted when the job finishes all processing.

More convenient signal than finished(), since it provides a pointer to the job. This signal is emitted by the FolderJob destructor => do NOT downcast the job to a subclass!

void KMail::FolderJob::setCancellable ( bool  b  )  [inline]

Call this to change the "cancellable" property of this job.

By default, tListMessages, tGetMessage, tGetFolder and tCheckUidValidity are cancellable, the others are not. But when copying, a non-cancellable tGetMessage is needed.

Definition at line 105 of file folderjob.h.

void KMail::FolderJob::setPassiveDestructor ( bool  passive  )  [inline]

Definition at line 107 of file folderjob.h.

void KMail::FolderJob::start (  ) 

Start the job.

Definition at line 105 of file folderjob.cpp.


Member Data Documentation

Definition at line 183 of file folderjob.h.

Definition at line 176 of file folderjob.h.

Definition at line 178 of file folderjob.h.

Definition at line 172 of file folderjob.h.

Definition at line 177 of file folderjob.h.

Definition at line 181 of file folderjob.h.

Definition at line 174 of file folderjob.h.

Definition at line 175 of file folderjob.h.

bool KMail::FolderJob::mStarted [protected]

Definition at line 182 of file folderjob.h.

Reimplemented in KMail::ListJob.

Definition at line 173 of file folderjob.h.


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