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_SETPARTFLAGSJOB_H 0009 #define KPMCORE_SETPARTFLAGSJOB_H 0010 0011 #include "jobs/job.h" 0012 0013 #include "core/partitiontable.h" 0014 0015 class Device; 0016 class Partition; 0017 class Report; 0018 0019 class QString; 0020 0021 /** Set a Partition's flags. 0022 0023 Set the Partition flags for a given Partition on a given Device. 0024 0025 @author Volker Lanz <vl@fidra.de> 0026 */ 0027 class SetPartFlagsJob : public Job 0028 { 0029 public: 0030 SetPartFlagsJob(Device& d, Partition& p, PartitionTable::Flags flags); 0031 0032 public: 0033 bool run(Report& parent) override; 0034 qint32 numSteps() const override; 0035 QString description() const override; 0036 0037 protected: 0038 Device& device() { 0039 return m_Device; 0040 } 0041 const Device& device() const { 0042 return m_Device; 0043 } 0044 0045 Partition& partition() { 0046 return m_Partition; 0047 } 0048 const Partition& partition() const { 0049 return m_Partition; 0050 } 0051 0052 PartitionTable::Flags flags() const { 0053 return m_Flags; 0054 } 0055 0056 private: 0057 Device& m_Device; 0058 Partition& m_Partition; 0059 PartitionTable::Flags m_Flags; 0060 }; 0061 0062 #endif