X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=include%2Ffreenet%2Fmessagelistrequester.h;h=fdeaf4dd6ed817a4670bf9d37524acaeddcddb96;hb=109c20e6f822c6efa465af31249e5608469253b6;hp=106c2fe83910d93d17db771383fcaeabfbc2f9e0;hpb=026dc6b2bc548c945359c4e166eff514f2c47c6a;p=fms.git diff --git a/include/freenet/messagelistrequester.h b/include/freenet/messagelistrequester.h index 106c2fe..fdeaf4d 100644 --- a/include/freenet/messagelistrequester.h +++ b/include/freenet/messagelistrequester.h @@ -4,24 +4,35 @@ #include "iindexrequester.h" #include +#include + +#include class MessageListRequester:public IIndexRequester { public: - MessageListRequester(); - MessageListRequester(FCPv2 *fcp); + MessageListRequester(SQLite3DB::DB *db); + MessageListRequester(SQLite3DB::DB *db, FCPv2::Connection *fcp); private: - void Initialize(); - void PopulateIDList(); + virtual void Initialize(); + virtual void PopulateIDList(); void StartRequest(const long &id); - void StartRedirectRequest(FCPMessage &message); - const bool HandleAllData(FCPMessage &message); - const bool HandleGetFailed(FCPMessage &message); - void GetBoardList(std::map &boards); + void StartRedirectRequest(FCPv2::Message &message); + const bool HandleAllData(FCPv2::Message &message); + const bool HandleGetFailed(FCPv2::Message &message); + void GetBoardList(std::map &boards, const bool forceload=false); + const bool CheckDateNotFuture(const std::string &datestr) const; + const bool CheckDateWithinMaxDays(const std::string &datestr) const; bool m_localtrustoverrides; bool m_savetonewboards; + long m_messagedownloadmaxdaysbackward; + + std::map m_boardscache; + Poco::DateTime m_boardscacheupdate; // last time we updated the boards cache + + std::map > > m_requestindexcache; // date - identity id - index };