Async.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include <QDebug>
  2. #include "Async.h"
  3. #include "FileIO.h"
  4. Async::Async(QObject *parent):
  5. QThread(parent)
  6. {
  7. }
  8. Async::~Async()
  9. {
  10. }
  11. void Async::stop()
  12. {
  13. QThread::terminate();
  14. }
  15. void Async::md5(const QString &fileName)
  16. {
  17. command = "md5";
  18. params.clear();
  19. params << fileName;
  20. start();
  21. }
  22. void Async::md5List(const QStringList &fileNames)
  23. {
  24. command = "md5List";
  25. params = fileNames;
  26. start();
  27. }
  28. void Async::run()
  29. {
  30. qDebug() << "Async: " << command;// << ": " << params;
  31. if (command == "md5") {
  32. const QString &fileName = params.first();
  33. QString resultValue = FileIO().md5(fileName);
  34. result(QStringList() << fileName << resultValue);
  35. } else if (command == "md5List") {
  36. FileIO fileIO;
  37. foreach (const QString &fileName, params) {
  38. qDebug() << "Checking " << fileName;
  39. QString resultValue = fileIO.md5(fileName);
  40. result(QStringList() << fileName << resultValue);
  41. }
  42. } else {
  43. qDebug() << "Unexpected command: " << command;
  44. }
  45. finished();
  46. }