bugfix/ai-static-analysis #82
@ -135,6 +135,10 @@ void reHDD::ThreadUserInput()
|
|||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
|
Drive *tmpSelectedDrive = getSelectedDrive();
|
||||||
|
if (tmpSelectedDrive != nullptr)
|
||||||
|
{
|
||||||
|
|
||||||
// cout << TUI::readUserInput() << endl;
|
// cout << TUI::readUserInput() << endl;
|
||||||
switch (TUI::readUserInput())
|
switch (TUI::readUserInput())
|
||||||
{
|
{
|
||||||
@ -159,11 +163,11 @@ void reHDD::ThreadUserInput()
|
|||||||
case TUI::UserInput::Delete:
|
case TUI::UserInput::Delete:
|
||||||
// cout << "Delete" << endl;
|
// cout << "Delete" << endl;
|
||||||
|
|
||||||
if (getSelectedDrive() != nullptr)
|
if (tmpSelectedDrive != nullptr)
|
||||||
{
|
{
|
||||||
if (getSelectedDrive()->state == Drive::NONE)
|
if (tmpSelectedDrive->state == Drive::NONE)
|
||||||
{
|
{
|
||||||
getSelectedDrive()->state = Drive::DELETE_SELECTED;
|
tmpSelectedDrive->state = Drive::DELETE_SELECTED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,15 +175,10 @@ void reHDD::ThreadUserInput()
|
|||||||
break;
|
break;
|
||||||
case TUI::UserInput::Shred:
|
case TUI::UserInput::Shred:
|
||||||
// cout << "Shred" << endl;
|
// cout << "Shred" << endl;
|
||||||
|
if (tmpSelectedDrive->state == Drive::NONE)
|
||||||
if (getSelectedDrive() != nullptr)
|
|
||||||
{
|
{
|
||||||
if (getSelectedDrive()->state == Drive::NONE)
|
tmpSelectedDrive->state = Drive::SHRED_SELECTED;
|
||||||
{
|
|
||||||
getSelectedDrive()->state = Drive::SHRED_SELECTED;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ui->updateTUI(&listDrives, u8SelectedEntry);
|
ui->updateTUI(&listDrives, u8SelectedEntry);
|
||||||
break;
|
break;
|
||||||
case TUI::UserInput::ShredAll:
|
case TUI::UserInput::ShredAll:
|
||||||
@ -209,6 +208,7 @@ void reHDD::ThreadUserInput()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void reHDD::ThreadShred(Drive *const pDrive)
|
void reHDD::ThreadShred(Drive *const pDrive)
|
||||||
{
|
{
|
||||||
@ -224,13 +224,14 @@ void reHDD::ThreadShred(Drive *const pDrive)
|
|||||||
|
|
||||||
void reHDD::ThreadDelete()
|
void reHDD::ThreadDelete()
|
||||||
{
|
{
|
||||||
if (getSelectedDrive() != nullptr)
|
Drive *tmpSelectedDrive = getSelectedDrive();
|
||||||
|
if (tmpSelectedDrive != nullptr)
|
||||||
{
|
{
|
||||||
getSelectedDrive()->setActionStartTimestamp(); // save timestamp at start of deleting
|
tmpSelectedDrive->setActionStartTimestamp(); // save timestamp at start of deleting
|
||||||
Delete::deleteDrive(getSelectedDrive()); // blocking, no thread
|
Delete::deleteDrive(tmpSelectedDrive); // blocking, no thread
|
||||||
getSelectedDrive()->state = Drive::TaskState::NONE; // delete finished
|
tmpSelectedDrive->state = Drive::TaskState::NONE; // delete finished
|
||||||
getSelectedDrive()->bWasDeleted = true;
|
tmpSelectedDrive->bWasDeleted = true;
|
||||||
Logger::logThis()->info("Finished delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial());
|
Logger::logThis()->info("Finished delete for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
|
||||||
ui->updateTUI(&listDrives, u8SelectedEntry);
|
ui->updateTUI(&listDrives, u8SelectedEntry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -313,7 +314,6 @@ void reHDD::searchDrives(std::list<Drive> *plistDrives)
|
|||||||
if (!fp)
|
if (!fp)
|
||||||
{
|
{
|
||||||
Logger::logThis()->error("Unable to execute lsblk to scan drives");
|
Logger::logThis()->error("Unable to execute lsblk to scan drives");
|
||||||
pclose(fp);
|
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -620,22 +620,21 @@ void reHDD::handleArrowKey(TUI::UserInput userInput)
|
|||||||
|
|
||||||
void reHDD::handleEnter()
|
void reHDD::handleEnter()
|
||||||
{
|
{
|
||||||
|
Drive *tmpSelectedDrive = getSelectedDrive();
|
||||||
if (getSelectedDrive() != nullptr)
|
if (tmpSelectedDrive != nullptr)
|
||||||
{
|
{
|
||||||
if (getSelectedDrive()->state == Drive::TaskState::SHRED_SELECTED)
|
if (tmpSelectedDrive->state == Drive::TaskState::SHRED_SELECTED)
|
||||||
{
|
{
|
||||||
Logger::logThis()->info("Started shred/check for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial());
|
Logger::logThis()->info("Started shred/check for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
|
||||||
getSelectedDrive()->state = Drive::TaskState::SHRED_ACTIVE;
|
tmpSelectedDrive->state = Drive::TaskState::SHRED_ACTIVE;
|
||||||
// task for drive is running --> don't show more task options
|
// task for drive is running --> don't show more task option
|
||||||
Drive *pTmpDrive = getSelectedDrive();
|
thread(ThreadShred, tmpSelectedDrive).detach();
|
||||||
thread(ThreadShred, pTmpDrive).detach();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getSelectedDrive()->state == Drive::TaskState::DELETE_SELECTED)
|
if (tmpSelectedDrive->state == Drive::TaskState::DELETE_SELECTED)
|
||||||
{
|
{
|
||||||
Logger::logThis()->info("Started delete for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial());
|
Logger::logThis()->info("Started delete for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
|
||||||
getSelectedDrive()->state = Drive::TaskState::DELETE_ACTIVE;
|
tmpSelectedDrive->state = Drive::TaskState::DELETE_ACTIVE;
|
||||||
// task for drive is running --> don't show more task options
|
// task for drive is running --> don't show more task options
|
||||||
thread(ThreadDelete).detach();
|
thread(ThreadDelete).detach();
|
||||||
}
|
}
|
||||||
@ -644,17 +643,18 @@ void reHDD::handleEnter()
|
|||||||
|
|
||||||
void reHDD::handleESC()
|
void reHDD::handleESC()
|
||||||
{
|
{
|
||||||
if (getSelectedDrive() != nullptr)
|
Drive *tmpSelectedDrive = getSelectedDrive();
|
||||||
|
if (tmpSelectedDrive != nullptr)
|
||||||
{
|
{
|
||||||
if (getSelectedDrive()->state == Drive::TaskState::SHRED_SELECTED)
|
if (tmpSelectedDrive->state == Drive::TaskState::SHRED_SELECTED)
|
||||||
{
|
{
|
||||||
getSelectedDrive()->state = Drive::TaskState::NONE;
|
tmpSelectedDrive->state = Drive::TaskState::NONE;
|
||||||
// task for drive is selected --> remove selection
|
// task for drive is selected --> remove selection
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getSelectedDrive()->state == Drive::TaskState::DELETE_SELECTED)
|
if (tmpSelectedDrive->state == Drive::TaskState::DELETE_SELECTED)
|
||||||
{
|
{
|
||||||
getSelectedDrive()->state = Drive::TaskState::NONE;
|
tmpSelectedDrive->state = Drive::TaskState::NONE;
|
||||||
// task for drive is selected --> remove selection
|
// task for drive is selected --> remove selection
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -662,12 +662,13 @@ void reHDD::handleESC()
|
|||||||
|
|
||||||
void reHDD::handleAbort()
|
void reHDD::handleAbort()
|
||||||
{
|
{
|
||||||
if (getSelectedDrive() != nullptr)
|
Drive *tmpSelectedDrive = getSelectedDrive();
|
||||||
|
if (tmpSelectedDrive != nullptr)
|
||||||
{
|
{
|
||||||
if (getSelectedDrive()->state == Drive::SHRED_ACTIVE || getSelectedDrive()->state == Drive::DELETE_ACTIVE)
|
if (tmpSelectedDrive->state == Drive::SHRED_ACTIVE || tmpSelectedDrive->state == Drive::DELETE_ACTIVE)
|
||||||
{
|
{
|
||||||
getSelectedDrive()->state = Drive::NONE;
|
tmpSelectedDrive->state = Drive::NONE;
|
||||||
Logger::logThis()->info("Abort-Shred-Signal for: " + getSelectedDrive()->getModelName() + "-" + getSelectedDrive()->getSerial());
|
Logger::logThis()->info("Abort-Shred-Signal for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial());
|
||||||
// task for drive is running --> remove selection
|
// task for drive is running --> remove selection
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user