#pragma once #include "Plugin.hpp" #include #include namespace QuickMedia { // Return false to stop iteration using PageCallback = std::function; class Manga : public Plugin { public: Manga(const std::string &plugin_name) : Plugin(plugin_name) {} bool is_manga() override { return true; } virtual ImageResult get_number_of_images(const std::string &url, int &num_images) = 0; virtual ImageResult for_each_page_in_chapter(const std::string &chapter_url, PageCallback callback) = 0; virtual bool extract_id_from_url(const std::string &url, std::string &manga_id) = 0; }; }