File indexing completed on 2024-05-12 05:48:27

0001 /*
0002     SPDX-FileCopyrightText: 2010 Volker Lanz <vl@fidra.de>
0003     SPDX-FileCopyrightText: 2016-2018 Andrius Štikonas <andrius@stikonas.eu>
0004     SPDX-FileCopyrightText: 2019 Yuri Chornoivan <yurchor@ukr.net>
0005 
0006     SPDX-License-Identifier: GPL-3.0-or-later
0007 */
0008 
0009 #ifndef KPMCORE_DUMMYDEVICE_H
0010 #define KPMCORE_DUMMYDEVICE_H
0011 
0012 #include "backend/corebackenddevice.h"
0013 
0014 #include <QtGlobal>
0015 
0016 class Partition;
0017 class PartitionTable;
0018 class Report;
0019 class CoreBackendPartitionTable;
0020 
0021 class DummyDevice : public CoreBackendDevice
0022 {
0023     Q_DISABLE_COPY(DummyDevice)
0024 
0025 public:
0026     explicit DummyDevice(const QString& deviceNode);
0027     ~DummyDevice();
0028 
0029 public:
0030     bool open() override;
0031     bool openExclusive() override;
0032     bool close() override;
0033 
0034     std::unique_ptr<CoreBackendPartitionTable> openPartitionTable() override;
0035 
0036     bool createPartitionTable(Report& report, const PartitionTable& ptable) override;
0037 };
0038 
0039 #endif