blob: 18ed2f991e50573e95a7238896ed157f57696459 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#pragma once
#include "Plugin.hpp"
#include <functional>
#include <mutex>
namespace QuickMedia {
// Return false to stop iteration
using PageCallback = std::function<bool(const std::string &url)>;
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;
};
}
|