KDE 4.5 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

TransactionSequence Class Reference

from PyKDE4.akonadi import *

Inherits: Akonadi.Job → KCompositeJob → KJob → QObject
Subclasses: Akonadi.SpecialCollectionsRequestJob
Namespace: Akonadi

Detailed Description

Base class for jobs that need to run a sequence of sub-jobs in a transaction.

As soon as the first subjob is added, the transaction is started. As soon as the last subjob has successfully finished, the transaction is committed. If any subjob fails, the transaction is rolled back.

Alternatively, a TransactionSequence object can be used as a parent object for a set of jobs to achieve the same behaviour without subclassing.

Example:


 // Delete a couple of items inside a transaction
 Akonadi.TransactionSequence *transaction = new TransactionSequence;
 connect( transaction, SIGNAL( result( KJob* ) ), SLOT( transactionFinished( KJob* ) ) );

 const Akonadi.Item.List items = ...

 foreach ( const Akonadi.Item &item, items ) {
   new Akonadi.ItemDeleteJob( item, transaction );
 }

 ...

 MyClass.transactionFinished( KJob *job )
 {
   if ( job->error() )
     qDebug() << "Error occurred";
   else
     qDebug() << "Items deleted successfully";
 }

Author:
Volker Krause <vkrause@kde.org>


Methods

 __init__ (self, QObject parent=0)
bool addSubjob (self, KJob job)
 commit (self)
 doStart (self)
 rollback (self)
 setAutomaticCommittingEnabled (self, bool enable)
 setIgnoreJobFailure (self, KJob job)
 slotResult (self, KJob job)

Method Documentation

__init__ (  self,
QObject  parent=0
)

Creates a new transaction sequence.

Parameters:
parent  The parent object.

bool addSubjob (  self,
KJob  job
)
commit (   self )

Commits the transaction as soon as all pending sub-jobs finished successfully.

doStart (   self )
rollback (   self )

Rolls back the current transaction as soon as possible. You only need to call this method when you want to roll back due to external reasons (e.g. user cancellation), the transaction is automatically rolled back if one of its subjobs fails.

Since:
4.5

setAutomaticCommittingEnabled (  self,
bool  enable
)

Disable automatic committing. Use this when you want to add jobs to this sequence after execution has been started, usually that is outside of the contstructor or the method that creates this transaction sequence.

Note:
Calling this method after execution of this job has been started has no effect.

Parameters:
enable  true to enable autocommitting (default), false to disable it

Since:
4.5

setIgnoreJobFailure (  self,
KJob  job
)

Sets which job of the sequence might fail without rolling back the complete transaction.

Since:
4.5

slotResult (  self,
KJob  job
)
  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal