MailCommon::ScheduledTask

Search for usage in LXR

MailCommon::ScheduledTask Class Referenceabstract

#include <jobscheduler.h>

Inheritance diagram for MailCommon::ScheduledTask:

Public Member Functions

 ScheduledTask (const Akonadi::Collection &folder, bool immediate)
 
Akonadi::Collection folder () const
 
bool isImmediate () const
 
virtual ScheduledJobrun ()=0
 
virtual int taskTypeId () const =0
 

Detailed Description

A scheduled task is some information about a folder job that should be run later.

As long as it's not running, it's called a "task", i.e. something that needs to be done. Tasks are managed by the JobScheduler.

Definition at line 33 of file jobscheduler.h.

Constructor & Destructor Documentation

◆ ScheduledTask()

ScheduledTask::ScheduledTask ( const Akonadi::Collection & folder,
bool immediate )

Creates a scheduled task for a given folder.

If immediate is true, the scheduler will run this task as soon as possible (but won't interrupt a currently running job for it).

Definition at line 10 of file jobscheduler.cpp.

Member Function Documentation

◆ folder()

Akonadi::Collection ScheduledTask::folder ( ) const
nodiscard

The folder which this task is supposed to handle, 0 if it was deleted meanwhile.

Definition at line 16 of file jobscheduler.cpp.

◆ isImmediate()

bool ScheduledTask::isImmediate ( ) const
nodiscard

Definition at line 21 of file jobscheduler.cpp.

◆ run()

virtual ScheduledJob * MailCommon::ScheduledTask::run ( )
pure virtual

Run this task, i.e.

create a job for it. Important: the job's execute() method must either call open() on the folder or storage immediately, or abort (deleting itself). Usually, that job should also be cancellable. Otherwise (if the open() is delayed) an unrelated open() could happen first and mess things up. If for some reason (e.g. a folder is deleted) nothing should be done, return 0.

Implemented in MailCommon::ScheduledExpireTask.

◆ taskTypeId()

virtual int MailCommon::ScheduledTask::taskTypeId ( ) const
pure virtual

An identifier for the type of task (a bit like QListViewItem::rtti).

This allows to automatically prevent two identical tasks from being scheduled for the same folder. To circumvent this feature and make every task unique, return 0 here.

Implemented in MailCommon::ScheduledExpireTask.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Oct 11 2024 12:18:39 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.