task.hpp 836 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __TASK_HPP__
  2. #define __TASK_HPP__
  3. #include <QString>
  4. #include <QVector>
  5. namespace Task {
  6. namespace Type {
  7. static constexpr const char* TEXT = "Text";
  8. static constexpr const char* FILE = "File";
  9. static constexpr const char* STRINGVECTOR = "StringVector";
  10. static constexpr const char* FILEVECTOR = "FileVector";
  11. static constexpr const char* DATETIME = "DateTime";
  12. static constexpr const char* BOOLEAN = "Boolean";
  13. } // namespace Type
  14. using ArgumentType = const char*;
  15. class TaskArgument {
  16. QString name;
  17. ArgumentType type;
  18. public:
  19. TaskArgument(QString n, QString t) : name(n), type(t) {}
  20. };
  21. using TaskArguments = QVector<TaskArgument>;
  22. class Task {
  23. public:
  24. virtual bool isReady() = 0;
  25. virtual const TaskArguments getTaskArguments() = 0;
  26. virtual ~Task(){};
  27. };
  28. } // namespace Task
  29. #endif // __TASK_HPP__