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

0001 /*
0002     SPDX-FileCopyrightText: 2016 Chantara Tith <tith.chantara@gmail.com>
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_CREATEVOLUMEGROUPJOB_H
0009 #define KPMCORE_CREATEVOLUMEGROUPJOB_H
0010 
0011 #include "core/partition.h"
0012 #include "jobs/job.h"
0013 
0014 #include <QVector>
0015 
0016 class LvmDevice;
0017 class Report;
0018 
0019 class QString;
0020 
0021 class CreateVolumeGroupJob : public Job
0022 {
0023 public:
0024     CreateVolumeGroupJob(const QString& vgName, const QVector<const Partition*>& pvList, const qint32 peSize);
0025 
0026 public:
0027     bool run(Report& parent) override;
0028     QString description() const override;
0029 
0030 protected:
0031     QString vgName() {
0032         return m_vgName;
0033     }
0034     const QString vgName() const {
0035         return m_vgName;
0036     }
0037     QVector<const Partition*>& pvList() {
0038         return m_pvList;
0039     }
0040     const QVector<const Partition*>& pvList() const {
0041         return m_pvList;
0042     }
0043 
0044     qint32 peSize() {
0045         return m_PESize;
0046     }
0047 
0048 private:
0049     QString m_vgName;
0050     QVector<const Partition*> m_pvList;
0051     qint32 m_PESize;
0052 };
0053 
0054 #endif