handle user input

This commit is contained in:
2025-12-11 20:48:18 +01:00
parent 1caa4ce6f2
commit 6732aacdc8
2 changed files with 50 additions and 1 deletions

View File

@ -216,12 +216,59 @@ void reHDD::ThreadUserInput()
sleep(5); // sleep 5 sec
std::exit(1); // Terminates main, doesn't wait for threads
break;
case TUI::UserInput::Print:
// cout << "Print" << endl;
Logger::logThis()->info("User print single");
if (tmpSelectedDrive != nullptr)
{
// printDrive(tmpSelectedDrive);
}
// ui->updateTUI(&listDrives, u16SelectedEntry);
break;
case TUI::UserInput::PrintAll:
// cout << "PrintAll" << endl;
Logger::logThis()->info("User print all");
// printAllDrives(&listDrives);
// ui->updateTUI(&listDrives, u16SelectedEntry);
break;
default:
break;
}
}
}
/**
* \brief start shred for all drives
* \param pointer of list <Drive>* plistDrives
* \return void
*/
void reHDD::printAllDrives(list<Drive> *plistDrives)
{
list<Drive>::iterator it;
mxDrives.lock();
for (it = plistDrives->begin(); it != plistDrives->end(); ++it)
{
Drive *pTmpDrive = iterator_to_pointer<Drive, std::list<Drive>::iterator>(it);
printDrive(pTmpDrive);
}
mxDrives.unlock();
}
void reHDD::printDrive(Drive *const pDrive)
{
if (pDrive->bWasShredded)
{
#ifdef ZERO_CHECK
if (pDrive->bWasChecked && (pDrive->u32DriveChecksumAfterShredding != 0U))
{
return; // Drive was shredded&checked but checksum failed, don't print label
}
#endif
Logger::logThis()->info("User print for: " + pDrive->getModelName() + "-" + pDrive->getSerial());
// TODO: Trigger printer for this drive
}
}
void reHDD::ThreadShred(Drive *const pDrive)
{
if (pDrive != nullptr)