aboutsummaryrefslogtreecommitdiff
path: root/plugins/Page.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Page.hpp')
-rw-r--r--plugins/Page.hpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/plugins/Page.hpp b/plugins/Page.hpp
index 6599fe4..175b44b 100644
--- a/plugins/Page.hpp
+++ b/plugins/Page.hpp
@@ -72,11 +72,10 @@ namespace QuickMedia {
ERR
};
- class TrackablePage : public Page {
+ class TrackablePage {
public:
- TrackablePage(Program *program, std::string content_title, std::string content_url) : Page(program), content_title(std::move(content_title)), content_url(std::move(content_url)) {}
- const char* get_title() const override { return content_title.c_str(); }
- bool is_trackable() const override { return true; }
+ TrackablePage(std::string content_title, std::string content_url) : content_title(std::move(content_title)), content_url(std::move(content_url)) {}
+ virtual ~TrackablePage() = default;
virtual TrackResult track(const std::string &str) = 0;
const std::string content_title;
@@ -110,7 +109,7 @@ namespace QuickMedia {
// Return nullptr if the service doesn't support related videos page
virtual std::unique_ptr<RelatedVideosPage> create_related_videos_page(Program *program, const std::string &video_url, const std::string &video_title) = 0;
// Return nullptr if the service doesn't support channels page
- virtual std::unique_ptr<LazyFetchPage> create_channels_page(Program *program, const std::string &channel_url) = 0;
+ virtual std::unique_ptr<Page> create_channels_page(Program *program, const std::string &channel_url) = 0;
virtual std::string get_url() = 0;
virtual std::string url_get_playable_url(const std::string &url) { return url; }
virtual bool video_should_be_skipped(const std::string &url) { (void)url; return false; }