backend: provide more information about backend device.
Pass Device object, not just deviceNode string when opening Core Backend Device
This commit is contained in:
parent
0bfb7094df
commit
41473119b1
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue