File indexing completed on 2024-05-19 05:11:17
0001 /** 0002 This file is part of the akonadi-calendar library. 0003 0004 SPDX-FileCopyrightText: 2013 Sérgio Martins <iamsergio@gmail.com> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #pragma once 0010 0011 #include "icalimporter.h" 0012 #include "incidencechanger.h" 0013 0014 #include <Akonadi/Collection> 0015 #include <Akonadi/Item> 0016 0017 #include <QList> 0018 #include <QObject> 0019 #include <QString> 0020 0021 class KJob; 0022 class QTemporaryFile; 0023 class QByteArray; 0024 namespace KIO 0025 { 0026 class Job; 0027 } 0028 0029 namespace Akonadi 0030 { 0031 class ICalImporterPrivate : public QObject 0032 { 0033 Q_OBJECT 0034 public: 0035 ICalImporterPrivate(Akonadi::IncidenceChanger *changer, ICalImporter *qq); 0036 ~ICalImporterPrivate() override; 0037 void setErrorMessage(const QString &message); 0038 0039 ICalImporter *const q; 0040 Akonadi::IncidenceChanger *m_changer = nullptr; 0041 int m_numIncidences = 0; 0042 QList<int> m_pendingRequests; 0043 0044 QString m_lastErrorMessage; 0045 bool m_working = false; 0046 QTemporaryFile *m_temporaryFile = nullptr; 0047 Akonadi::Collection m_collection; 0048 public Q_SLOTS: 0049 void resourceCreated(KJob *job); 0050 void remoteDownloadFinished(KIO::Job *job, const QByteArray &data); 0051 void onIncidenceCreated(int changeId, const Akonadi::Item &item, Akonadi::IncidenceChanger::ResultCode resultCode, const QString &errorString); 0052 }; 0053 }