/* * 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_TASKITEM_H #define MIRAI_TASKITEM_H #include "using.h" #include "utils.h" #include #include #include #include #include #include #include #include #include #include namespace mirai { enum TaskItemState { TODO, DONE }; struct TaskItem { public: void markAsDone(); void markAsUndone(); void setDate(const std::string& date); void setText(const std::string& text); const std::string& getLine() const; const std::string& getText() const; const TaskItemState& getState() const; const std::string& getDate() const; const std::string& getStartTime() const; const std::string& getEndTime() const; const Tags& getTags() const; bool hasTag(const std::string& tag) const; bool hasDate() const; std::string text; TaskItemState state; std::string date; std::string startTime; std::string endTime; Tags tags; }; } #endif