File indexing completed on 2024-04-28 05:45:55
0001 /* 0002 SPDX-FileCopyrightText: 2008-2010 Volker Lanz <vl@fidra.de> 0003 SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org> 0004 SPDX-FileCopyrightText: 2016 Andrius Štikonas <andrius@stikonas.eu> 0005 0006 SPDX-License-Identifier: GPL-3.0-or-later 0007 */ 0008 0009 #ifndef KPMCORE_SHREDFILESYSTEMJOB_H 0010 #define KPMCORE_SHREDFILESYSTEMJOB_H 0011 0012 #include "jobs/job.h" 0013 0014 #include <QString> 0015 0016 class Partition; 0017 class Device; 0018 class Report; 0019 0020 /** Securely delete and shred a FileSystem. 0021 0022 Shreds (overwrites with random data) a FileSystem on given Partition and Device. 0023 0024 @author Volker Lanz <vl@fidra.de> 0025 */ 0026 class ShredFileSystemJob : public Job 0027 { 0028 public: 0029 ShredFileSystemJob(Device& d, Partition& p, bool randomShred); 0030 0031 public: 0032 bool run(Report& parent) override; 0033 qint32 numSteps() const override; 0034 QString description() const override; 0035 0036 protected: 0037 Partition& partition() { 0038 return m_Partition; 0039 } 0040 const Partition& partition() const { 0041 return m_Partition; 0042 } 0043 0044 Device& device() { 0045 return m_Device; 0046 } 0047 const Device& device() const { 0048 return m_Device; 0049 } 0050 0051 private: 0052 Device& m_Device; 0053 Partition& m_Partition; 0054 bool m_RandomShred; 0055 }; 0056 0057 #endif