Refactor start of delete thread (#90)
Reviewed-on: #90 Co-authored-by: localhorst <localhorst@mosad.xyz> Co-committed-by: localhorst <localhorst@mosad.xyz>
This commit is contained in:
@ -95,7 +95,7 @@ private:
|
||||
static void ThreadScanDevices();
|
||||
static void ThreadUserInput();
|
||||
static void ThreadShred(Drive *const pDrive);
|
||||
static void ThreadDelete();
|
||||
static void ThreadDelete(Drive *const pDrive);
|
||||
static void ThreadCheckFrozenDrives();
|
||||
static void handleArrowKey(TUI::UserInput userInput);
|
||||
static void handleEnter();
|
||||
|
||||
@ -284,16 +284,16 @@ void reHDD::ThreadShred(Drive *const pDrive)
|
||||
}
|
||||
}
|
||||
|
||||
void reHDD::ThreadDelete()
|
||||
void reHDD::ThreadDelete(Drive *const pDrive)
|
||||
{
|
||||
Drive *tmpSelectedDrive = getSelectedDrive();
|
||||
if (tmpSelectedDrive != nullptr)
|
||||
if (pDrive != nullptr)
|
||||
{
|
||||
tmpSelectedDrive->setActionStartTimestamp(); // save timestamp at start of deleting
|
||||
Delete::deleteDrive(tmpSelectedDrive); // blocking, no thread
|
||||
tmpSelectedDrive->state = Drive::TaskState::NONE; // delete finished
|
||||
tmpSelectedDrive->bWasDeleted = true;
|
||||
Logger::logThis()->info("Finished delete for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
|
||||
pDrive->state = Drive::TaskState::DELETE_ACTIVE;
|
||||
pDrive->setActionStartTimestamp(); // save timestamp at start of deleting
|
||||
Delete::deleteDrive(pDrive); // blocking, no thread
|
||||
pDrive->state = Drive::TaskState::NONE; // delete finished
|
||||
pDrive->bWasDeleted = true;
|
||||
Logger::logThis()->info("Finished delete for: " + pDrive->getModelName() + "-" + pDrive->getSerial());
|
||||
ui->updateTUI(&listDrives, u16SelectedEntry);
|
||||
}
|
||||
}
|
||||
@ -693,16 +693,13 @@ void reHDD::handleEnter()
|
||||
if (tmpSelectedDrive->state == Drive::TaskState::SHRED_SELECTED)
|
||||
{
|
||||
Logger::logThis()->info("Started shred/check for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
|
||||
// task for drive is running --> don't show more task option
|
||||
thread(ThreadShred, tmpSelectedDrive).detach();
|
||||
}
|
||||
|
||||
if (tmpSelectedDrive->state == Drive::TaskState::DELETE_SELECTED)
|
||||
{
|
||||
Logger::logThis()->info("Started delete for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
|
||||
tmpSelectedDrive->state = Drive::TaskState::DELETE_ACTIVE;
|
||||
// task for drive is running --> don't show more task options
|
||||
thread(ThreadDelete).detach();
|
||||
thread(ThreadDelete, tmpSelectedDrive).detach();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user