File indexing completed on 2025-01-05 04:58:22

0001 /*
0002   SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org>
0003 
0004   SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "pimcommonakonadi_export.h"
0010 #include <Akonadi/Collection>
0011 #include <QObject>
0012 #include <QSharedPointer>
0013 class QDBusPendingCallWatcher;
0014 namespace PimCommon
0015 {
0016 class ManageServerSideSubscriptionJobPrivate;
0017 /**
0018  * @brief The ManageServerSideSubscriptionJob class
0019  * @author Laurent Montel <montel@kde.org>
0020  */
0021 class PIMCOMMONAKONADI_EXPORT ManageServerSideSubscriptionJob : public QObject
0022 {
0023     Q_OBJECT
0024 public:
0025     explicit ManageServerSideSubscriptionJob(QObject *parent = nullptr);
0026 
0027     ~ManageServerSideSubscriptionJob() override;
0028 
0029     void start();
0030     void setCurrentCollection(const Akonadi::Collection &col);
0031 
0032     void setParentWidget(QWidget *parentWidget);
0033 
0034 private:
0035     PIMCOMMONAKONADI_NO_EXPORT void slotConfigureSubscriptionFinished(QDBusPendingCallWatcher *watcher);
0036     std::unique_ptr<ManageServerSideSubscriptionJobPrivate> const d;
0037 };
0038 }