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

0001 /*
0002     SPDX-FileCopyrightText: 2020 Gaël PORTAY <gael.portay@collabora.com>
0003 
0004     SPDX-License-Identifier: GPL-3.0-or-later
0005 */
0006 
0007 
0008 #ifndef KPMCORE_SETPARTITIONUUIDJOB_H
0009 #define KPMCORE_SETPARTITIONUUIDJOB_H
0010 
0011 #include "jobs/job.h"
0012 
0013 class Partition;
0014 class Device;
0015 class Report;
0016 
0017 class QString;
0018 
0019 /** Set a Partition UUID (GPT only).
0020     @author Gaël PORTAY <gael.portay@collabora.com>
0021 */
0022 class SetPartitionUUIDJob : public Job
0023 {
0024 public:
0025     SetPartitionUUIDJob(Device& d, Partition& p, const QString& newUUID);
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     const QString& uuid() const {
0047         return m_UUID;
0048     }
0049     void setUUID(const QString& u) {
0050         m_UUID = u;
0051     }
0052 
0053 private:
0054     Device& m_Device;
0055     Partition& m_Partition;
0056     QString m_UUID;
0057 };
0058 
0059 #endif