#define BBS_DETAIL_BASE_HXX
#include <string>
+#include <vector>
+#include "board_subject_item.hxx"
+#include "http_header.hxx"
namespace dialektos {
public:
Base(const std::string& uri, const std::string& host,
const std::string& board, const std::string& thread);
- Base* clone(const Base& rhs) const;
+ Base* clone() const;
virtual ~Base();
virtual std::string get_board_dir_path() const;
virtual std::string get_thread_file_path() const;
+ virtual std::string get_thread_idx_path() const;
+ virtual std::string get_thread_dat_uri() const;
+ virtual std::string get_another_thread_uri(const std::string& thread) const;
+ virtual std::string get_board_subject_path() const;
+ virtual std::string get_board_subject_uri() const;
+ virtual std::string get_board_subject_idx_path() const;
+ virtual std::string get_board_idx_dir_path() const;
+ virtual http::Header get_board_subject_request_header() const;
+ virtual http::Header get_thread_dat_request_header() const;
+ virtual std::string get_title_from_string(const std::string& dat) const;
virtual const std::string& get_encoding() const;
virtual void load_thread(text_view::Layoutable& output) const;
+ virtual void load_thread_from_string(
+ const std::string& dat, text_view::Layoutable& output) const;
+ virtual void load_subject(std::vector<SubjectItem>& output) const;
+ virtual void load_subject_from_string(
+ const std::string&, std::vector<SubjectItem>& output) const;
bool is_board() const;
bool is_thread() const;
protected:
explicit Base(const Base& rhs);
private:
- virtual Base* do_clone(const Base& rhs) const;
+ virtual Base* do_clone() const;
protected:
virtual const std::string& get_bbs_name() const;