/* * Mirai. Copyright (C) 2024 Vyn * This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only) * The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt */ #ifndef MIRAI_MIRAI_H #define MIRAI_MIRAI_H #include "TaskItem.h" #include "TasksFile.h" #include "TodoMd.h" #include #include #include #include #include namespace mirai { class Mirai { public: void loadFile(const std::string &path); void save(); void addTask(TaskItemData taskItem); void addTask(std::string text, std::string date); void removeTask(const TaskItem *taskItem); void addFile(TasksFileConfig config); std::optional> getFileByPath(const std::string &path); std::vector> &getFiles(); const std::vector &getTags(); void reloadTags(); private: std::vector> files = std::vector>(); std::vector tags; }; } // namespace mirai #endif