#ifndef TASK_PARSE_WRAPPER_H #define TASK_PARSE_WRAPPER_H #include #include "utility/scheduling/Task.h" #include "utility/scheduling/TaskRunner.h" #include "utility/scheduling/TaskDecorator.h" #include "utility/TimePoint.h" class DialogView; class FileRegister; class PersistentStorage; class TaskParseWrapper : public TaskDecorator { public: TaskParseWrapper(PersistentStorage* storage); virtual ~TaskParseWrapper(); virtual void setTask(std::shared_ptr task); private: virtual void doEnter(std::shared_ptr blackboard); virtual TaskState doUpdate(std::shared_ptr blackboard); virtual void doExit(std::shared_ptr blackboard); virtual void doReset(std::shared_ptr blackboard); virtual void doTerminate(); PersistentStorage* m_storage; TimePoint m_start; std::shared_ptr m_taskRunner; }; #endif // TASK_PARSE_WRAPPER_H