1 /* 2 SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com> 3 SPDX-FileContributor: Kevin Ottens <kevin@kdab.com> 4 5 SPDX-License-Identifier: LGPL-2.0-or-later 6 */ 7 8 #pragma once 9 10 #include "resourcetask.h" 11 12 class ChangeCollectionTask : public ResourceTask 13 { 14 Q_OBJECT 15 16 public: 17 explicit ChangeCollectionTask(const ResourceStateInterface::Ptr &resource, QObject *parent = nullptr); 18 ~ChangeCollectionTask() override; 19 20 void syncEnabledState(bool); 21 22 private Q_SLOTS: 23 void onRenameDone(KJob *job); 24 void onSubscribeDone(KJob *job); 25 void onSetAclDone(KJob *job); 26 void onSetMetaDataDone(KJob *job); 27 28 protected: 29 void doStart(KIMAP::Session *session) override; 30 31 private: 32 void endTaskIfNeeded(); 33 34 int m_pendingJobs = 0; 35 Akonadi::Collection m_collection; 36 bool m_syncEnabledState = true; 37 }; 38 39