From f5479d44a0cf4e3dc0da9027dae0943fd6f04939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 22 Dec 2017 12:42:28 +0000 Subject: [PATCH] Convert CreatePartitionTableJob to KPMcore operation. --- .../jobs/CreatePartitionTableJob.cpp | 46 ++++++------------- .../partition/jobs/FillGlobalStorageJob.cpp | 10 ++-- 2 files changed, 18 insertions(+), 38 deletions(-) diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index 5d2df6bc9..e2f2ec7a9 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -23,15 +23,12 @@ #include "utils/Logger.h" // KPMcore -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include // Qt #include @@ -75,17 +72,7 @@ CreatePartitionTableJob::exec() Report report( nullptr ); QString message = tr( "The installer failed to create a partition table on %1." ).arg( m_device->name() ); - CoreBackend* backend = CoreBackendManager::self()->backend(); - QScopedPointer< CoreBackendDevice > backendDevice( backend->openDevice( m_device->deviceNode() ) ); - if ( !backendDevice.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open device %1." ).arg( m_device->deviceNode() ) - ); - } - - QScopedPointer< PartitionTable > table( createTable() ); + PartitionTable* table( createTable() ); cDebug() << "Creating new partition table of type" << table->typeName() << ", uncommitted yet:\n" << table; @@ -103,20 +90,13 @@ CreatePartitionTableJob::exec() mount.waitForFinished(); cDebug() << "mount:\n" << mount.readAllStandardOutput(); - bool ok = backendDevice->createPartitionTable( report, *table ); - if ( !ok ) - { - return Calamares::JobResult::error( - message, - QString( "Text: %1\nCommand: %2\nOutput: %3\nStatus: %4" ) - .arg( report.toText() ) - .arg( report.command() ) - .arg( report.output() ) - .arg( report.status() ) - ); - } + CreatePartitionTableOperation op(*m_device, table); + op.setStatus(Operation::StatusRunning); - return Calamares::JobResult::ok(); + if (op.execute(report)) + return Calamares::JobResult::ok(); + + return Calamares::JobResult::error(message, report.toText()); } void diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index a3d709b5b..a6c93a2c4 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -28,11 +28,11 @@ #include "Branding.h" #include "utils/Logger.h" -// CalaPM -#include -#include -#include -#include +// KPMcore +#include +#include +#include +#include // Qt #include