#pragma once #include "Page.hpp" namespace QuickMedia { class DramaCoolSearchPage : public Page { public: DramaCoolSearchPage(Program *program) : Page(program) {} const char* get_title() const override { return "Search"; } bool search_is_filter() override { return false; } SearchResult search(const std::string &str, BodyItems &result_items) override; PluginResult submit(const SubmitArgs &args, std::vector &result_tabs) override; }; class DramaCoolEpisodesPage : public Page { public: DramaCoolEpisodesPage(Program *program) : Page(program) {} const char* get_title() const override { return "Search"; } bool search_is_filter() override { return true; } PluginResult submit(const SubmitArgs &args, std::vector &result_tabs) override; }; class DramaCoolVideoPage : public VideoPage { public: DramaCoolVideoPage(Program *program, std::string url, std::string title, std::string referer) : VideoPage(program, std::move(url), false), title(std::move(title)), referer(std::move(referer)) {} const char* get_title() const override { return title.c_str(); } PluginResult load(const SubmitArgs &args, VideoInfo &video_info, std::string &err_str) override; private: std::string title; std::string referer; }; }