Warning, file /plasma/plasma-vault/kded/engine/backends/gocryptfs/gocryptfsbackend.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: 2020 Martino Pilia <martino.pilia (at) gmail.com>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #ifndef PLASMAVAULT_KDED_ENGINE_BACKENDS_GOCRYPTFS_BACKEND_H
0008 #define PLASMAVAULT_KDED_ENGINE_BACKENDS_GOCRYPTFS_BACKEND_H
0009 
0010 #include "../../fusebackend_p.h"
0011 
0012 namespace PlasmaVault
0013 {
0014 class GocryptfsBackend : public FuseBackend
0015 {
0016 public:
0017     GocryptfsBackend();
0018     ~GocryptfsBackend() override;
0019 
0020     static Backend::Ptr instance();
0021 
0022     bool isInitialized(const Device &device) const override;
0023 
0024     FutureResult<> validateBackend() override;
0025 
0026     QString name() const override
0027     {
0028         return QStringLiteral("gocryptfs");
0029     }
0030 
0031 protected:
0032     FutureResult<> mount(const Device &device, const MountPoint &mountPoint, const Vault::Payload &payload) override;
0033 
0034 private:
0035     QProcess *gocryptfs(const QStringList &arguments) const;
0036     QString getConfigFilePath(const Device &device) const;
0037 };
0038 
0039 } // namespace PlasmaVault
0040 
0041 #endif // include guard