File indexing completed on 2024-05-05 17:43:11

0001 /*
0002  *   SPDX-FileCopyrightText: 2017 Ivan Cukic <ivan.cukic (at) kde.org>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #include "backend_p.h"
0008 
0009 #include "backends/cryfs/cryfsbackend.h"
0010 #include "backends/encfs/encfsbackend.h"
0011 #include "backends/gocryptfs/gocryptfsbackend.h"
0012 
0013 #include <KLocalizedString>
0014 
0015 namespace PlasmaVault
0016 {
0017 Backend::Backend()
0018 {
0019 }
0020 
0021 Backend::~Backend()
0022 {
0023 }
0024 
0025 QStringList Backend::availableBackends()
0026 {
0027     return {QStringLiteral("encfs"), QStringLiteral("cryfs"), QStringLiteral("gocryptfs")};
0028 }
0029 
0030 Backend::Ptr Backend::instance(const QString &backend)
0031 {
0032     return backend == QLatin1String("encfs")    ? PlasmaVault::EncFsBackend::instance()
0033         : backend == QLatin1String("cryfs")     ? PlasmaVault::CryFsBackend::instance()
0034         : backend == QLatin1String("gocryptfs") ? PlasmaVault::GocryptfsBackend::instance()
0035                                                 :
0036                                                 /* unknown backend */ nullptr;
0037 }
0038 
0039 QString Backend::formatMessageLine(const QString &command, const QPair<bool, QString> &result) const
0040 {
0041     const auto valid = result.first;
0042     const auto message = result.second;
0043 
0044     QString htmlMessage = (valid ? QString() : QStringLiteral("<b>")) + message + (valid ? QString() : QStringLiteral("</b>")) + "<br />\n";
0045 
0046     return i18nc("formatting the message for a command, as in encfs: not found", "%1: %2", command, htmlMessage);
0047 }
0048 
0049 } // namespace PlasmaVault