File indexing completed on 2024-05-12 05:25:34

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "pimdataexporter_export.h"
0010 #include <Akonadi/Collection>
0011 #include <KSharedConfig>
0012 #include <QString>
0013 class KZip;
0014 class PIMDATAEXPORTER_EXPORT ResourceConverterBase
0015 {
0016 public:
0017     ResourceConverterBase();
0018     virtual ~ResourceConverterBase();
0019     [[nodiscard]] QString agentFileName(const QString &filename);
0020     void convertCollectionToRealPath(KConfigGroup &group, const QString &currentKey);
0021     void convertCollectionListToRealPath(KConfigGroup &group, const QString &currentKey);
0022     void convertCollectionIdsToRealPath(KConfigGroup &group, const QString &currentKey, const QString &prefixCollection = QString());
0023     [[nodiscard]] QString resourcePath(const QString &agentIdentifier, const QString &defaultPath = QString());
0024     [[nodiscard]] QString adaptResourcePath(const KSharedConfigPtr &resourceConfig, const QString &storedData);
0025     [[nodiscard]] QString resourcePath(const KSharedConfigPtr &resourceConfig, const QString &defaultPath = QString());
0026     [[nodiscard]] virtual QString changeResourcePath(QString url) const;
0027 
0028     [[nodiscard]] virtual QString convertToFullCollectionPath(const qlonglong collectionValue) = 0;
0029     [[nodiscard]] virtual Akonadi::Collection::Id convertFolderPathToCollectionId(const QString &path) = 0;
0030     [[nodiscard]] QString storeResources(KZip *archive, const QString &identifier, const QString &path);
0031     [[nodiscard]] virtual QString installDefaultDirectory() = 0;
0032     virtual QString adaptNewResourceUrl(bool overwriteResources, const KSharedConfig::Ptr &resourceConfig, const QString &storePath) = 0;
0033 };