Warning, file /pim/pim-data-exporter/core/mail/exportmailjobinterface.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "abstractimportexportjob.h" 0010 #include "pimdataexportercore_private_export.h" 0011 #include <KSharedConfig> 0012 #include <ctime> 0013 namespace MailCommon 0014 { 0015 class MailFilter; 0016 } 0017 class ArchiveStorage; 0018 0019 class PIMDATAEXPORTER_TESTS_EXPORT ExportMailJobInterface : public AbstractImportExportJob 0020 { 0021 Q_OBJECT 0022 public: 0023 explicit ExportMailJobInterface(QObject *parent, Utils::StoredTypes typeSelected, ArchiveStorage *archiveStorage, int numberOfStep); 0024 ~ExportMailJobInterface() override; 0025 0026 void start() override; 0027 void slotWriteNextArchiveResource(); 0028 void slotMailsJobTerminated(); 0029 [[nodiscard]] virtual QString convertToFullCollectionPath(const qlonglong collectionValue) = 0; 0030 0031 Q_SIGNALS: 0032 void taskCanceled(); 0033 0034 protected: 0035 virtual void convertCollectionIdsToRealPath(KConfigGroup &group, const QString ¤tKey, const QString &prefixCollection = QString()) = 0; 0036 virtual void convertCollectionToRealPath(KConfigGroup &group, const QString ¤tKey) = 0; 0037 virtual void convertCollectionListToRealPath(KConfigGroup &group, const QString ¤tKey) = 0; 0038 void backupResources(); 0039 virtual QList<MailCommon::MailFilter *> filters() = 0; 0040 void slotCheckBackupResources(); 0041 virtual void exportResourceToArchive(const QString &archivePath, const QString &url, const QString &identifier) = 0; 0042 [[nodiscard]] virtual QList<Utils::AkonadiInstanceInfo> listOfResource() = 0; 0043 [[nodiscard]] virtual QString storeResources(KZip *archive, const QString &identifier, const QString &path) = 0; 0044 [[nodiscard]] virtual QString resourcePath(const QString &identifier) const = 0; 0045 virtual void backupMailResourceFile(const QString &agentIdentifier, const QString &defaultPath) = 0; 0046 virtual void exportFilters() = 0; 0047 [[nodiscard]] virtual QList<uint> listIdentityUoid() const = 0; 0048 0049 virtual void exportFolderAttributes() = 0; 0050 [[nodiscard]] QString applicationName() const override; 0051 0052 private: 0053 void slotCheckBackupIdentity(); 0054 void slotCheckBackupMailTransport(); 0055 void slotCheckBackupConfig(); 0056 void slotCheckBackupMails(); 0057 0058 [[nodiscard]] bool checkBackupType(Utils::StoredType type) const; 0059 void backupTransports(); 0060 void backupConfig(); 0061 void backupIdentity(); 0062 void backupFolderAttributes(); 0063 0064 private: 0065 int mIndexIdentifier = 0; 0066 };