delete task thread

This commit is contained in:
Hendrik Schutter 2020-09-21 16:50:33 +02:00
parent 13304c4705
commit 2a2bfc6fe6
2 changed files with 14 additions and 4 deletions

View File

@ -89,6 +89,7 @@ private:
static void ThreadScannDevices();
static void ThreadUserInput();
static void ThreadShred();
static void ThreadDelete();
static void ThreadCheckFrozenDrives();
static void handleArrowKey(TUI::UserInput userInput);
static void handleEnter();

View File

@ -207,6 +207,18 @@ void reHDD::ThreadShred()
}
}
void reHDD::ThreadDelete()
{
if (getSelectedDrive() != nullptr)
{
Delete::deleteDrive(getSelectedDrive()); //blocking, no thread
getSelectedDrive()->state = Drive::TaskState::NONE; //delete finished
getSelectedDrive()->bWasDeleteted = true;
Logger::logThis()->info("Finished delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial());
ui->updateTUI(&vecDrives, u8SelectedEntry);
}
}
void reHDD::filterNewDrives(vector <Drive>* pvecOldDrives, vector <Drive>* pvecNewDrives)
{
vector <Drive>::iterator itOld; //Iterator for current (old) drive list
@ -486,10 +498,7 @@ void reHDD::handleEnter()
Logger::logThis()->info("Started delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial());
getSelectedDrive()->state = Drive::TaskState::DELETE_ACTIVE;
//task for drive is running --> don´t show more task options
Delete::deleteDrive(getSelectedDrive()); //blocking, no thread
getSelectedDrive()->state = Drive::TaskState::NONE; //delete finished
getSelectedDrive()->bWasDeleteted = true;
Logger::logThis()->info("Finished delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial());
thread(ThreadDelete).detach();
}
}
}