backend: provide more information about backend device.

Pass Device object, not just deviceNode string when opening Core Backend Device
This commit is contained in:
Andrius Štikonas 2017-12-06 21:33:31 +00:00
parent 0bfb7094df
commit 41473119b1
18 changed files with 37 additions and 37 deletions

View File

@ -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.

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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();

View File

@ -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();

View File

@ -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());

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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;

View File

@ -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();

View File

@ -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();

View File

@ -57,9 +57,9 @@ QList<Device*> 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"

View File

@ -45,10 +45,10 @@ public:
void initFSSupport() override;
QList<Device*> 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;
};

View File

@ -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;

View File

@ -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<Device*> scanDevices(bool excludeReadOnly = false) override;

View File

@ -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;

View File

@ -47,8 +47,8 @@ public:
void initFSSupport() override;
QList<Device*> 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;