File indexing completed on 2024-05-05 05:48:51
0001 /* 0002 SPDX-FileCopyrightText: 2008-2010 Volker Lanz <vl@fidra.de> 0003 SPDX-FileCopyrightText: 2014-2016 Andrius Štikonas <andrius@stikonas.eu> 0004 SPDX-FileCopyrightText: 2015 Chris Campbell <c.j.campbell@ed.ac.uk> 0005 0006 SPDX-License-Identifier: GPL-3.0-or-later 0007 */ 0008 0009 #ifndef KPMCORE_CHECKOPERATION_H 0010 #define KPMCORE_CHECKOPERATION_H 0011 0012 #include "util/libpartitionmanagerexport.h" 0013 0014 #include "ops/operation.h" 0015 0016 #include <QString> 0017 0018 class Partition; 0019 class Device; 0020 class CheckFileSystemJob; 0021 class ResizeFileSystemJob; 0022 0023 /** Check a Partition. 0024 @author Volker Lanz <vl@fidra.de> 0025 */ 0026 class LIBKPMCORE_EXPORT CheckOperation : public Operation 0027 { 0028 friend class OperationStack; 0029 0030 Q_DISABLE_COPY(CheckOperation) 0031 0032 public: 0033 CheckOperation(Device& targetDevice, Partition& checkedPartition); 0034 0035 public: 0036 QString iconName() const override { 0037 return QStringLiteral("flag"); 0038 } 0039 QString description() const override; 0040 void preview() override {} 0041 void undo() override {} 0042 0043 bool targets(const Device& d) const override; 0044 bool targets(const Partition& p) const override; 0045 0046 static bool canCheck(const Partition* p); 0047 0048 protected: 0049 Device& targetDevice() { 0050 return m_TargetDevice; 0051 } 0052 const Device& targetDevice() const { 0053 return m_TargetDevice; 0054 } 0055 0056 Partition& checkedPartition() { 0057 return m_CheckedPartition; 0058 } 0059 const Partition& checkedPartition() const { 0060 return m_CheckedPartition; 0061 } 0062 0063 CheckFileSystemJob* checkJob() { 0064 return m_CheckJob; 0065 } 0066 ResizeFileSystemJob* maximizeJob() { 0067 return m_MaximizeJob; 0068 } 0069 0070 private: 0071 Device& m_TargetDevice; 0072 Partition& m_CheckedPartition; 0073 CheckFileSystemJob* m_CheckJob; 0074 ResizeFileSystemJob* m_MaximizeJob; 0075 }; 0076 0077 #endif