#pragma once #include "Page.hpp" namespace QuickMedia { enum class PostResult { OK, TRY_AGAIN, BANNED, ERR }; class ImageBoardThreadPage : public Page { public: ImageBoardThreadPage(Program *program, std::string board_id, std::string thread_id, std::vector cached_media_urls) : Page(program), board_id(std::move(board_id)), thread_id(std::move(thread_id)), cached_media_urls(std::move(cached_media_urls)) {} const char* get_title() const override { return ""; } PluginResult submit(const std::string &title, const std::string &url, std::vector &result_tabs) override { (void)title; (void)url; (void)result_tabs; return PluginResult::ERR; } PageTypez get_type() const override { return PageTypez::IMAGE_BOARD_THREAD; } virtual BodyItems get_related_media(const std::string &url) override; virtual PluginResult login(const std::string &token, const std::string &pin, std::string &response_msg); virtual PostResult post_comment(const std::string &captcha_id, const std::string &comment) = 0; virtual const std::string& get_pass_id(); const std::string board_id; const std::string thread_id; const std::vector cached_media_urls; }; }