#pragma once #include #include #include "components/todoEntry.hpp" #include "services/todoAdapter.hpp" class TodoService { public: TodoService(sigc::signal refreshSignal); ~TodoService(); std::map getTodos(); void init(); void removeTodo(int id); TodoEntry *addTodo(std::string text, bool emitSignal = true, bool persist = true); void updateTodo(int id, std::string text); private: void load(); int nextId = 1; std::map todos; sigc::signal refreshSignal; std::unique_ptr adapter; };