kpmcore/src/jobs/setpartgeometryjob.h

68 lines
1.5 KiB
C
Raw Permalink Normal View History

/*
SPDX-FileCopyrightText: 2008-2010 Volker Lanz <vl@fidra.de>
SPDX-FileCopyrightText: 2016 Andrius Štikonas <andrius@stikonas.eu>
SPDX-License-Identifier: GPL-3.0-or-later
*/
#ifndef KPMCORE_SETPARTGEOMETRYJOB_H
#define KPMCORE_SETPARTGEOMETRYJOB_H
#include "jobs/job.h"
2016-04-18 17:14:31 +01:00
#include <QtGlobal>
class Partition;
class Device;
class Report;
class QString;
/** Set a Partition's geometry.
2015-07-13 15:16:36 +01:00
Sets the geometry for a given Partition on a given Device to a new start sector and/or a new
length. This does not move the FileSystem, it only updates the partition table entry for the
Partition and is usually run together with MoveFileSystemJob or ResizeFileSystemJob for that reason.
2015-07-13 15:16:36 +01:00
@author Volker Lanz <vl@fidra.de>
*/
class SetPartGeometryJob : public Job
{
2015-07-13 15:16:36 +01:00
public:
SetPartGeometryJob(Device& d, Partition& p, qint64 newstart, qint64 newlength);
2015-07-13 15:16:36 +01:00
public:
2016-05-17 18:01:31 +01:00
bool run(Report& parent) override;
QString description() const override;
2015-07-13 15:16:36 +01:00
protected:
Partition& partition() {
return m_Partition;
}
const Partition& partition() const {
return m_Partition;
}
2015-07-13 15:16:36 +01:00
Device& device() {
return m_Device;
}
const Device& device() const {
return m_Device;
}
2015-07-13 15:16:36 +01:00
qint64 newStart() const {
return m_NewStart;
}
qint64 newLength() const {
return m_NewLength;
}
2015-07-13 15:16:36 +01:00
private:
Device& m_Device;
Partition& m_Partition;
qint64 m_NewStart;
qint64 m_NewLength;
};
#endif