From 41473119b1f86cd45366c7b2f9db422e8fb9d328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Wed, 6 Dec 2017 21:33:31 +0000 Subject: [PATCH] backend: provide more information about backend device. Pass Device object, not just deviceNode string when opening Core Backend Device --- src/backend/corebackend.h | 4 ++-- src/core/copysourcedevice.cpp | 2 +- src/core/copytargetdevice.cpp | 2 +- src/jobs/createfilesystemjob.cpp | 2 +- src/jobs/createpartitionjob.cpp | 2 +- src/jobs/createpartitiontablejob.cpp | 2 +- src/jobs/deletefilesystemjob.cpp | 2 +- src/jobs/deletepartitionjob.cpp | 2 +- src/jobs/resizefilesystemjob.cpp | 2 +- src/jobs/restorefilesystemjob.cpp | 2 +- src/jobs/setpartflagsjob.cpp | 2 +- src/jobs/setpartgeometryjob.cpp | 2 +- src/plugins/dummy/dummybackend.cpp | 16 ++++++++-------- src/plugins/dummy/dummybackend.h | 8 ++++---- src/plugins/libparted/libpartedbackend.cpp | 8 ++++---- src/plugins/libparted/libpartedbackend.h | 4 ++-- src/plugins/sfdisk/sfdiskbackend.cpp | 8 ++++---- src/plugins/sfdisk/sfdiskbackend.h | 4 ++-- 18 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/backend/corebackend.h b/src/backend/corebackend.h index 738cf1c..59725a2 100644 --- a/src/backend/corebackend.h +++ b/src/backend/corebackend.h @@ -120,7 +120,7 @@ public: * an instance is returned, it's the caller's responsibility to delete the * object. */ - virtual CoreBackendDevice* openDevice(const QString& deviceNode) = 0; + virtual CoreBackendDevice* openDevice(const Device& d) = 0; /** * Open a device in exclusive mode for writing. @@ -129,7 +129,7 @@ public: * an instance is returned, it's the caller's responsibility to delete the * object. */ - virtual CoreBackendDevice* openDeviceExclusive(const QString& deviceNode) = 0; + virtual CoreBackendDevice* openDeviceExclusive(const Device& d) = 0; /** * Close a CoreBackendDevice that has previously been opened. diff --git a/src/core/copysourcedevice.cpp b/src/core/copysourcedevice.cpp index fff46ba..a0b9d1b 100644 --- a/src/core/copysourcedevice.cpp +++ b/src/core/copysourcedevice.cpp @@ -51,7 +51,7 @@ CopySourceDevice::~CopySourceDevice() */ bool CopySourceDevice::open() { - m_BackendDevice = CoreBackendManager::self()->backend()->openDeviceExclusive(device().deviceNode()); + m_BackendDevice = CoreBackendManager::self()->backend()->openDeviceExclusive(device()); return m_BackendDevice != nullptr; } diff --git a/src/core/copytargetdevice.cpp b/src/core/copytargetdevice.cpp index c6c5c18..e80876c 100644 --- a/src/core/copytargetdevice.cpp +++ b/src/core/copytargetdevice.cpp @@ -49,7 +49,7 @@ CopyTargetDevice::~CopyTargetDevice() */ bool CopyTargetDevice::open() { - m_BackendDevice = CoreBackendManager::self()->backend()->openDeviceExclusive(device().deviceNode()); + m_BackendDevice = CoreBackendManager::self()->backend()->openDeviceExclusive(device()); return m_BackendDevice != nullptr; } diff --git a/src/jobs/createfilesystemjob.cpp b/src/jobs/createfilesystemjob.cpp index 68f568e..8db2b47 100644 --- a/src/jobs/createfilesystemjob.cpp +++ b/src/jobs/createfilesystemjob.cpp @@ -60,7 +60,7 @@ bool CreateFileSystemJob::run(Report& parent) createResult = partition().fileSystem().create(*report, partition().deviceNode()); if (createResult) { if (device().type() == Device::Disk_Device) { - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice) { CoreBackendPartitionTable* backendPartitionTable = backendDevice->openPartitionTable(); diff --git a/src/jobs/createpartitionjob.cpp b/src/jobs/createpartitionjob.cpp index 51a21f7..bb2b1b2 100644 --- a/src/jobs/createpartitionjob.cpp +++ b/src/jobs/createpartitionjob.cpp @@ -51,7 +51,7 @@ bool CreatePartitionJob::run(Report& parent) Report* report = jobStarted(parent); if (device().type() == Device::Disk_Device) { - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice) { CoreBackendPartitionTable* backendPartitionTable = backendDevice->openPartitionTable(); diff --git a/src/jobs/createpartitiontablejob.cpp b/src/jobs/createpartitiontablejob.cpp index 1bcc735..3d2fe0b 100644 --- a/src/jobs/createpartitiontablejob.cpp +++ b/src/jobs/createpartitiontablejob.cpp @@ -45,7 +45,7 @@ bool CreatePartitionTableJob::run(Report& parent) Report* report = jobStarted(parent); if (device().type() == Device::Disk_Device) { - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice != nullptr) { Q_ASSERT(device().partitionTable()); diff --git a/src/jobs/deletefilesystemjob.cpp b/src/jobs/deletefilesystemjob.cpp index 01edab6..da95287 100644 --- a/src/jobs/deletefilesystemjob.cpp +++ b/src/jobs/deletefilesystemjob.cpp @@ -74,7 +74,7 @@ bool DeleteFileSystemJob::run(Report& parent) return false; } - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice) { CoreBackendPartitionTable* backendPartitionTable = backendDevice->openPartitionTable(); diff --git a/src/jobs/deletepartitionjob.cpp b/src/jobs/deletepartitionjob.cpp index b626815..5ba7401 100644 --- a/src/jobs/deletepartitionjob.cpp +++ b/src/jobs/deletepartitionjob.cpp @@ -58,7 +58,7 @@ bool DeletePartitionJob::run(Report& parent) Report* report = jobStarted(parent); if (device().type() == Device::Disk_Device) { - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice) { CoreBackendPartitionTable* backendPartitionTable = backendDevice->openPartitionTable(); diff --git a/src/jobs/resizefilesystemjob.cpp b/src/jobs/resizefilesystemjob.cpp index 60a81ba..a3af897 100644 --- a/src/jobs/resizefilesystemjob.cpp +++ b/src/jobs/resizefilesystemjob.cpp @@ -112,7 +112,7 @@ bool ResizeFileSystemJob::resizeFileSystemBackend(Report& report) { bool rval = false; - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice) { CoreBackendPartitionTable* backendPartitionTable = backendDevice->openPartitionTable(); diff --git a/src/jobs/restorefilesystemjob.cpp b/src/jobs/restorefilesystemjob.cpp index 6b77e6d..aff8d70 100644 --- a/src/jobs/restorefilesystemjob.cpp +++ b/src/jobs/restorefilesystemjob.cpp @@ -80,7 +80,7 @@ bool RestoreFileSystemJob::run(Report& parent) // create a new file system for what was restored with the length of the image file const qint64 newLastSector = targetPartition().firstSector() + copySource.length() - 1; - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(targetDevice().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(targetDevice()); FileSystem::Type t = FileSystem::Unknown; diff --git a/src/jobs/setpartflagsjob.cpp b/src/jobs/setpartflagsjob.cpp index d5dff85..2aad649 100644 --- a/src/jobs/setpartflagsjob.cpp +++ b/src/jobs/setpartflagsjob.cpp @@ -56,7 +56,7 @@ bool SetPartFlagsJob::run(Report& parent) Report* report = jobStarted(parent); - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice) { CoreBackendPartitionTable* backendPartitionTable = backendDevice->openPartitionTable(); diff --git a/src/jobs/setpartgeometryjob.cpp b/src/jobs/setpartgeometryjob.cpp index efcf3f5..596e14a 100644 --- a/src/jobs/setpartgeometryjob.cpp +++ b/src/jobs/setpartgeometryjob.cpp @@ -56,7 +56,7 @@ bool SetPartGeometryJob::run(Report& parent) Report* report = jobStarted(parent); if(device().type() == Device::Disk_Device) { - CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device().deviceNode()); + CoreBackendDevice* backendDevice = CoreBackendManager::self()->backend()->openDevice(device()); if (backendDevice) { CoreBackendPartitionTable* backendPartitionTable = backendDevice->openPartitionTable(); diff --git a/src/plugins/dummy/dummybackend.cpp b/src/plugins/dummy/dummybackend.cpp index e62e6e5..7e54880 100644 --- a/src/plugins/dummy/dummybackend.cpp +++ b/src/plugins/dummy/dummybackend.cpp @@ -57,9 +57,9 @@ QList DummyBackend::scanDevices(bool excludeLoop) return result; } -Device* DummyBackend::scanDevice(const QString& device_node) +Device* DummyBackend::scanDevice(const QString& deviceNode) { - DiskDevice* d = new DiskDevice(QStringLiteral("Dummy Device"), QStringLiteral("/tmp") + device_node, 255, 30, 63, 512); + DiskDevice* d = new DiskDevice(QStringLiteral("Dummy Device"), QStringLiteral("/tmp") + deviceNode, 255, 30, 63, 512); CoreBackend::setPartitionTableForDevice(*d, new PartitionTable(PartitionTable::msdos_sectorbased, 2048, d->totalSectors() - 2048)); CoreBackend::setPartitionTableMaxPrimaries(*d->partitionTable(), 128); d->partitionTable()->updateUnallocated(*d); @@ -77,9 +77,9 @@ FileSystem::Type DummyBackend::detectFileSystem(const QString& deviceNode) return FileSystem::Unknown; } -CoreBackendDevice* DummyBackend::openDevice(const QString& device_node) +CoreBackendDevice* DummyBackend::openDevice(const Device& d) { - DummyDevice* device = new DummyDevice(device_node); + DummyDevice* device = new DummyDevice(d.deviceNode()); if (device == nullptr || !device->open()) { delete device; @@ -89,9 +89,9 @@ CoreBackendDevice* DummyBackend::openDevice(const QString& device_node) return device; } -CoreBackendDevice* DummyBackend::openDeviceExclusive(const QString& device_node) +CoreBackendDevice* DummyBackend::openDeviceExclusive(const Device& d) { - DummyDevice* device = new DummyDevice(device_node); + DummyDevice* device = new DummyDevice(d.deviceNode()); if (device == nullptr || !device->openExclusive()) { delete device; @@ -101,9 +101,9 @@ CoreBackendDevice* DummyBackend::openDeviceExclusive(const QString& device_node) return device; } -bool DummyBackend::closeDevice(CoreBackendDevice* core_device) +bool DummyBackend::closeDevice(CoreBackendDevice* coreDevice) { - return core_device->close(); + return coreDevice->close(); } #include "dummybackend.moc" diff --git a/src/plugins/dummy/dummybackend.h b/src/plugins/dummy/dummybackend.h index 7024979..d027171 100644 --- a/src/plugins/dummy/dummybackend.h +++ b/src/plugins/dummy/dummybackend.h @@ -45,10 +45,10 @@ public: void initFSSupport() override; QList scanDevices(bool excludeReadOnly = false) override; - CoreBackendDevice* openDevice(const QString& device_node) override; - CoreBackendDevice* openDeviceExclusive(const QString& device_node) override; - bool closeDevice(CoreBackendDevice* core_device) override; - Device* scanDevice(const QString& device_node) override; + CoreBackendDevice* openDevice(const Device& d) override; + CoreBackendDevice* openDeviceExclusive(const Device& d) override; + bool closeDevice(CoreBackendDevice* coreDevice) override; + Device* scanDevice(const QString& deviceNode) override; FileSystem::Type detectFileSystem(const QString& deviceNode) override; }; diff --git a/src/plugins/libparted/libpartedbackend.cpp b/src/plugins/libparted/libpartedbackend.cpp index 71aa1b8..582fa0f 100644 --- a/src/plugins/libparted/libpartedbackend.cpp +++ b/src/plugins/libparted/libpartedbackend.cpp @@ -524,9 +524,9 @@ FileSystem::Type LibPartedBackend::detectFileSystem(const QString& partitionPath return rval; } -CoreBackendDevice* LibPartedBackend::openDevice(const QString& deviceNode) +CoreBackendDevice* LibPartedBackend::openDevice(const Device& d) { - LibPartedDevice* device = new LibPartedDevice(deviceNode); + LibPartedDevice* device = new LibPartedDevice(d.deviceNode()); if (device == nullptr || !device->open()) { delete device; @@ -536,9 +536,9 @@ CoreBackendDevice* LibPartedBackend::openDevice(const QString& deviceNode) return device; } -CoreBackendDevice* LibPartedBackend::openDeviceExclusive(const QString& deviceNode) +CoreBackendDevice* LibPartedBackend::openDeviceExclusive(const Device& d) { - LibPartedDevice* device = new LibPartedDevice(deviceNode); + LibPartedDevice* device = new LibPartedDevice(d.deviceNode()); if (device == nullptr || !device->openExclusive()) { delete device; diff --git a/src/plugins/libparted/libpartedbackend.h b/src/plugins/libparted/libpartedbackend.h index 69664a5..a5d5450 100644 --- a/src/plugins/libparted/libpartedbackend.h +++ b/src/plugins/libparted/libpartedbackend.h @@ -61,8 +61,8 @@ private: public: void initFSSupport() override; - CoreBackendDevice* openDevice(const QString& deviceNode) override; - CoreBackendDevice* openDeviceExclusive(const QString& deviceNode) override; + CoreBackendDevice* openDevice(const Device& d) override; + CoreBackendDevice* openDeviceExclusive(const Device& d) override; bool closeDevice(CoreBackendDevice* core_device) override; DiskDevice* scanDevice(const QString& deviceNode) override; QList scanDevices(bool excludeReadOnly = false) override; diff --git a/src/plugins/sfdisk/sfdiskbackend.cpp b/src/plugins/sfdisk/sfdiskbackend.cpp index 68f0c15..4b96f07 100644 --- a/src/plugins/sfdisk/sfdiskbackend.cpp +++ b/src/plugins/sfdisk/sfdiskbackend.cpp @@ -363,9 +363,9 @@ PartitionTable::Flags SfdiskBackend::availableFlags(PartitionTable::TableType ty return flags; } -CoreBackendDevice* SfdiskBackend::openDevice(const QString& deviceNode) +CoreBackendDevice* SfdiskBackend::openDevice(const Device& d) { - SfdiskDevice* device = new SfdiskDevice(deviceNode); + SfdiskDevice* device = new SfdiskDevice(d.deviceNode()); if (device == nullptr || !device->open()) { delete device; @@ -375,9 +375,9 @@ CoreBackendDevice* SfdiskBackend::openDevice(const QString& deviceNode) return device; } -CoreBackendDevice* SfdiskBackend::openDeviceExclusive(const QString& deviceNode) +CoreBackendDevice* SfdiskBackend::openDeviceExclusive(const Device& d) { - SfdiskDevice* device = new SfdiskDevice(deviceNode); + SfdiskDevice* device = new SfdiskDevice(d.deviceNode()); if (device == nullptr || !device->openExclusive()) { delete device; diff --git a/src/plugins/sfdisk/sfdiskbackend.h b/src/plugins/sfdisk/sfdiskbackend.h index acb0f63..ad421f7 100644 --- a/src/plugins/sfdisk/sfdiskbackend.h +++ b/src/plugins/sfdisk/sfdiskbackend.h @@ -47,8 +47,8 @@ public: void initFSSupport() override; QList scanDevices(bool excludeReadOnly = false) override; - CoreBackendDevice* openDevice(const QString& deviceNode) override; - CoreBackendDevice* openDeviceExclusive(const QString& deviceNode) override; + CoreBackendDevice* openDevice(const Device& d) override; + CoreBackendDevice* openDeviceExclusive(const Device& d) override; bool closeDevice(CoreBackendDevice* coreDevice) override; Device* scanDevice(const QString& deviceNode) override; FileSystem::Type detectFileSystem(const QString& partitionPath) override;