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-2017 Andrius Štikonas <andrius@stikonas.eu>
0004 
0005     SPDX-License-Identifier: GPL-3.0-or-later
0006 */
0007 
0008 #ifndef KPMCORE_CREATEFILESYSTEMJOB_H
0009 #define KPMCORE_CREATEFILESYSTEMJOB_H
0010 
0011 #include "jobs/job.h"
0012 
0013 class Device;
0014 class Partition;
0015 class Report;
0016 
0017 class QString;
0018 
0019 /** Create a FileSystem.
0020     @author Volker Lanz <vl@fidra.de>
0021 */
0022 class CreateFileSystemJob : public Job
0023 {
0024 public:
0025     CreateFileSystemJob(Device& d, Partition& p, const QString& label = {});
0026 
0027 public:
0028     bool run(Report& parent) override;
0029     QString description() const override;
0030 
0031 protected:
0032     Partition& partition() {
0033         return m_Partition;
0034     }
0035     const Partition& partition() const {
0036         return m_Partition;
0037     }
0038 
0039     Device& device() {
0040         return m_Device;
0041     }
0042     const Device& device() const {
0043         return m_Device;
0044     }
0045 
0046 private:
0047     Device& m_Device;
0048     Partition& m_Partition;
0049     const QString& m_Label;
0050 };
0051 
0052 #endif