File indexing completed on 2024-05-19 05:16:11
0001 /* 0002 SPDX-FileCopyrightText: 2010 Stephen Kelly <steveire@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <Akonadi/Collection> 0010 #include <Akonadi/Item> 0011 #include <Akonadi/Job> 0012 #include <Akonadi/TransactionSequence> 0013 0014 class EntityTreeCreateJob : public Akonadi::TransactionSequence 0015 { 0016 Q_OBJECT 0017 public: 0018 explicit EntityTreeCreateJob(const QList<Akonadi::Collection::List> &collections, const Akonadi::Item::List &items, QObject *parent = nullptr); 0019 0020 void doStart() override; 0021 0022 private: 0023 void collectionCreateJobDone(KJob *); 0024 void createNextLevelOfCollections(); 0025 void createReadyItems(); 0026 0027 private: 0028 QList<Akonadi::Collection::List> m_collections; 0029 Akonadi::Item::List m_items; 0030 int m_pendingJobs = 0; 0031 };