File indexing completed on 2024-06-16 05:00:29

0001 /*
0002    SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "exportalarmjobinterfaceimpl.h"
0008 
0009 #include <MailCommon/MailUtil>
0010 
0011 #include <KConfigGroup>
0012 
0013 #include "exportresourcearchivejob.h"
0014 #include "resourceconverterimpl.h"
0015 #include <QStandardPaths>
0016 
0017 ExportAlarmJobInterfaceImpl::ExportAlarmJobInterfaceImpl(QObject *parent, Utils::StoredTypes typeSelected, ArchiveStorage *archiveStorage, int numberOfStep)
0018     : ExportAlarmJobInterface(parent, typeSelected, archiveStorage, numberOfStep)
0019 {
0020 }
0021 
0022 ExportAlarmJobInterfaceImpl::~ExportAlarmJobInterfaceImpl() = default;
0023 
0024 QList<Utils::AkonadiInstanceInfo> ExportAlarmJobInterfaceImpl::listOfResource()
0025 {
0026     return Utils::listOfResource();
0027 }
0028 
0029 Akonadi::Collection::Id ExportAlarmJobInterfaceImpl::convertFolderPathToCollectionId(const QString &path)
0030 {
0031     ResourceConverterImpl converter;
0032     return converter.convertFolderPathToCollectionId(path);
0033 }
0034 
0035 void ExportAlarmJobInterfaceImpl::exportResourceToArchive(const QString &archivePath, const QString &url, const QString &identifier)
0036 {
0037     auto resourceJob = new ExportResourceArchiveJob(this);
0038     resourceJob->setArchivePath(archivePath);
0039     resourceJob->setUrl(url);
0040     resourceJob->setIdentifier(identifier);
0041     resourceJob->setArchive(archive());
0042     resourceJob->setArchiveName(Utils::resourceAlarmArchiveName());
0043     connect(resourceJob, &ExportResourceArchiveJob::error, this, &ExportAlarmJobInterfaceImpl::emitError);
0044     connect(resourceJob, &ExportResourceArchiveJob::info, this, &ExportAlarmJobInterfaceImpl::emitInfo);
0045     connect(resourceJob, &ExportResourceArchiveJob::terminated, this, &ExportAlarmJobInterfaceImpl::slotAlarmJobTerminated);
0046     resourceJob->start();
0047 }
0048 
0049 QString ExportAlarmJobInterfaceImpl::resourcePath(const QString &identifier) const
0050 {
0051     ResourceConverterImpl converter;
0052     const QString url = converter.resourcePath(identifier);
0053     return url;
0054 }
0055 
0056 void ExportAlarmJobInterfaceImpl::backupAlarmResourceFile(const QString &agentIdentifier, const QString &defaultPath)
0057 {
0058     backupResourceFile(agentIdentifier, defaultPath);
0059 }
0060 
0061 QString ExportAlarmJobInterfaceImpl::adaptNewResourceUrl(bool overwriteResources, const KSharedConfig::Ptr &resourceConfig, const QString &storePath)
0062 {
0063     ResourceConverterImpl converter;
0064     return converter.adaptNewResourceUrl(overwriteResources, resourceConfig, storePath);
0065 }
0066 
0067 QString
0068 ExportAlarmJobInterfaceImpl::createResource(const QString &resources, const QString &name, const QMap<QString, QVariant> &settings, bool synchronizeTree)
0069 {
0070     Q_UNUSED(resources);
0071     Q_UNUSED(name);
0072     Q_UNUSED(settings);
0073     Q_UNUSED(synchronizeTree);
0074     Q_UNREACHABLE();
0075     return {};
0076 }
0077 
0078 void ExportAlarmJobInterfaceImpl::convertCollectionIdsToRealPath(KConfigGroup &selectFolderNoteGroup, const QString &selectFolderNoteGroupStr)
0079 {
0080     ResourceConverterImpl converter;
0081     converter.convertCollectionIdsToRealPath(selectFolderNoteGroup, selectFolderNoteGroupStr);
0082 }
0083 
0084 #include "moc_exportalarmjobinterfaceimpl.cpp"