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

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_MOVEFILESYSTEMJOB_H
0009 #define KPMCORE_MOVEFILESYSTEMJOB_H
0010 
0011 #include "jobs/job.h"
0012 
0013 class Partition;
0014 class Device;
0015 class Report;
0016 
0017 class QString;
0018 
0019 /** Move a FileSystem.
0020 
0021     Moves a FileSystem on a given Device and Partition to a new start sector.
0022 
0023     @author Volker Lanz <vl@fidra.de>
0024 */
0025 class MoveFileSystemJob : public Job
0026 {
0027 public:
0028     MoveFileSystemJob(Device& d, Partition& p, qint64 newstart);
0029 
0030 public:
0031     bool run(Report& parent) override;
0032     qint32 numSteps() const override;
0033     QString description() const override;
0034 
0035 protected:
0036     Partition& partition() {
0037         return m_Partition;
0038     }
0039     const Partition& partition() const {
0040         return m_Partition;
0041     }
0042 
0043     Device& device() {
0044         return m_Device;
0045     }
0046     const Device& device() const {
0047         return m_Device;
0048     }
0049 
0050     qint64 newStart() const {
0051         return m_NewStart;
0052     }
0053 
0054 private:
0055     Device& m_Device;
0056     Partition& m_Partition;
0057     qint64 m_NewStart;
0058 };
0059 
0060 #endif