aboutsummaryrefslogtreecommitdiff
path: root/plugins/Youtube.hpp
blob: 2eea8c269d42a3a0f843aaca614ee2b38d056b57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include "Plugin.hpp"

namespace QuickMedia {
    class Youtube : public Plugin {
    public:
        Youtube() : Plugin("youtube") {}
        SuggestionResult update_search_suggestions(const std::string &text, BodyItems &result_items) override;
        BodyItems get_related_media(const std::string &url) override;
        bool search_suggestions_has_thumbnails() const override { return true; }
        bool search_results_has_thumbnails() const override { return false; }
        int get_search_delay() const override { return 350; }
        bool search_suggestion_is_search() const override { return true; }
        Page get_page_after_search() const override { return Page::VIDEO_CONTENT; }
    private:
        void search_suggestions_get_continuation(const std::string &url, const std::string &continuation_token, BodyItems &result_items);
    private:
        std::string last_related_media_playlist_id;
        BodyItems last_playlist_data;
    };
}