File indexing completed on 2024-04-28 05:45:53

0001 /*
0002     SPDX-FileCopyrightText: 2008-2010 Volker Lanz <vl@fidra.de>
0003     SPDX-FileCopyrightText: 2016 Andrius Štikonas <andrius@stikonas.eu>
0004 
0005     SPDX-License-Identifier: GPL-3.0-or-later
0006 */
0007 
0008 #ifndef KPMCORE_BACKUPFILESYSTEMJOB_H
0009 #define KPMCORE_BACKUPFILESYSTEMJOB_H
0010 
0011 #include "jobs/job.h"
0012 
0013 #include <QString>
0014 
0015 class Partition;
0016 class Device;
0017 class Report;
0018 
0019 /** Back up a FileSystem.
0020 
0021     Backs up a FileSystem from a given Device and Partition to a file with the given filename.
0022 
0023     @author Volker Lanz <vl@fidra.de>
0024 */
0025 class BackupFileSystemJob : public Job
0026 {
0027 public:
0028     BackupFileSystemJob(Device& sourcedevice, Partition& sourcepartition, const QString& filename);
0029 
0030 public:
0031     bool run(Report& parent) override;
0032     qint32 numSteps() const override;
0033     QString description() const override;
0034 
0035 protected:
0036     Partition& sourcePartition() {
0037         return m_SourcePartition;
0038     }
0039     const Partition& sourcePartition() const {
0040         return m_SourcePartition;
0041     }
0042 
0043     Device& sourceDevice() {
0044         return m_SourceDevice;
0045     }
0046     const Device& sourceDevice() const {
0047         return m_SourceDevice;
0048     }
0049 
0050     const QString& fileName() const {
0051         return m_FileName;
0052     }
0053 
0054 private:
0055     Device& m_SourceDevice;
0056     Partition& m_SourcePartition;
0057     QString m_FileName;
0058 };
0059 
0060 #endif