Learn Environment
Loading...
Searching...
No Matches
task_parser.hpp
Go to the documentation of this file.
1#ifndef TASK_PARSER_HPP
2#define TASK_PARSER_HPP
3
4#include "task.hpp"
5
6#include <QVector>
7#include <QString>
8#include <QSharedPointer>
9#include <nlohmann/json.hpp>
10
19public:
33 QVector<QSharedPointer<Task>> loadTasks(const QString& taskPath, const QString& difficultyPath, const QString& topicPath);
34
35
36private:
37 using json = nlohmann::json;
38
47 QVector<QSharedPointer<Task>> parseTasks(const json& taskJsonData, const json& difficultyJsonData, const json& topicJsonData);
48
56 QVector<Subtask> parseSubtasks(const json& subtasksJson, QSharedPointer<Task> parentTask);
57};
58
59#endif // TASK_PARSER_HPP
Parses tasks and subtasks from a JSON file.
Definition task_parser.hpp:18
QVector< QSharedPointer< Task > > loadTasks(const QString &taskPath, const QString &difficultyPath, const QString &topicPath)
Loads tasks with all configuration JSON files.
Definition task_parser.cpp:33