Akonadi

transactionsequence.h
1 /*
2  SPDX-FileCopyrightText: 2006-2008 Volker Krause <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #ifndef AKONADI_TRANSACTIONSEQUENCE_H
8 #define AKONADI_TRANSACTIONSEQUENCE_H
9 
10 #include "akonadicore_export.h"
11 #include "job.h"
12 
13 namespace Akonadi
14 {
15 
16 class TransactionSequencePrivate;
17 
56 class AKONADICORE_EXPORT TransactionSequence : public Job
57 {
58  Q_OBJECT
59 public:
65  explicit TransactionSequence(QObject *parent = nullptr);
66 
70  ~TransactionSequence() override;
71 
75  void commit();
76 
84  void rollback();
85 
92  void setIgnoreJobFailure(KJob *job);
93 
104  void setAutomaticCommittingEnabled(bool enable);
105 
106 protected:
107  bool addSubjob(KJob *job) override;
108  void doStart() override;
109 
110 protected Q_SLOTS:
111  void slotResult(KJob *job) override;
112 
113 private:
114  Q_DECLARE_PRIVATE(TransactionSequence)
115 
116  //@cond PRIVATE
117  Q_PRIVATE_SLOT(d_func(), void commitResult(KJob *))
118  Q_PRIVATE_SLOT(d_func(), void rollbackResult(KJob *))
119  //@endcond
120 };
121 
122 }
123 
124 #endif
Base class for all actions in the Akonadi storage.
Definition: job.h:80
Base class for jobs that need to run a sequence of sub-jobs in a transaction.
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Nov 27 2020 23:19:03 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.