#include "iindexrequester.h"\r
\r
#include <map>\r
+#include <set>\r
+\r
+#include <Poco/DateTime.h>\r
\r
class MessageListRequester:public IIndexRequester<long>\r
{\r
public:\r
- MessageListRequester();\r
- MessageListRequester(FCPv2 *fcp);\r
+ MessageListRequester(SQLite3DB::DB *db);\r
+ MessageListRequester(SQLite3DB::DB *db, FCPv2::Connection *fcp);\r
\r
private:\r
- void Initialize();\r
- void PopulateIDList();\r
+ virtual void Initialize();\r
+ virtual void PopulateIDList();\r
void StartRequest(const long &id);\r
- void StartRedirectRequest(FCPMessage &message);\r
- const bool HandleAllData(FCPMessage &message);\r
- const bool HandleGetFailed(FCPMessage &message);\r
- void GetBoardList(std::map<std::string,bool> &boards);\r
+ void StartRedirectRequest(FCPv2::Message &message);\r
+ const bool HandleAllData(FCPv2::Message &message);\r
+ const bool HandleGetFailed(FCPv2::Message &message);\r
+ void GetBoardList(std::map<std::string,bool> &boards, const bool forceload=false);\r
+ const bool CheckDateNotFuture(const std::string &datestr) const;\r
+ const bool CheckDateWithinMaxDays(const std::string &datestr) const;\r
\r
bool m_localtrustoverrides;\r
bool m_savetonewboards;\r
+ long m_messagedownloadmaxdaysbackward;\r
+\r
+ std::map<std::string,bool> m_boardscache;\r
+ Poco::DateTime m_boardscacheupdate; // last time we updated the boards cache\r
+\r
+ std::map<std::string,std::map<long,std::set<long> > > m_requestindexcache; // date - identity id - index\r
\r
};\r
\r