X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=include%2Ffreenet%2Fmessagelistrequester.h;h=fdeaf4dd6ed817a4670bf9d37524acaeddcddb96;hb=109c20e6f822c6efa465af31249e5608469253b6;hp=f960fb171e3a79b29084eb5ad4e1fc6230a7b994;hpb=d5c9f7e6c1dd263dfc85a3cb5941a378a5ddd923;p=fms.git diff --git a/include/freenet/messagelistrequester.h b/include/freenet/messagelistrequester.h index f960fb1..fdeaf4d 100644 --- a/include/freenet/messagelistrequester.h +++ b/include/freenet/messagelistrequester.h @@ -4,21 +4,24 @@ #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; @@ -26,6 +29,11 @@ private: 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 + }; #endif // _messagelistrequester_