version 0.3.31
[fms.git] / include / freenet / messagelistrequester.h
1 #ifndef _messagelistrequester_\r
2 #define _messagelistrequester_\r
3 \r
4 #include "iindexrequester.h"\r
5 \r
6 #include <map>\r
7 #include <set>\r
8 \r
9 #include <Poco/DateTime.h>\r
10 \r
11 class MessageListRequester:public IIndexRequester<long>\r
12 {\r
13 public:\r
14         MessageListRequester(SQLite3DB::DB *db);\r
15         MessageListRequester(SQLite3DB::DB *db, FCPv2::Connection *fcp);\r
16 \r
17 private:\r
18         virtual void Initialize();\r
19         virtual void PopulateIDList();\r
20         void StartRequest(const long &id);\r
21         void StartRedirectRequest(FCPv2::Message &message);\r
22         const bool HandleAllData(FCPv2::Message &message);\r
23         const bool HandleGetFailed(FCPv2::Message &message);\r
24         void GetBoardList(std::map<std::string,bool> &boards, const bool forceload=false);\r
25         const bool CheckDateNotFuture(const std::string &datestr) const;\r
26         const bool CheckDateWithinMaxDays(const std::string &datestr) const;\r
27 \r
28         bool m_localtrustoverrides;\r
29         bool m_savetonewboards;\r
30         long m_messagedownloadmaxdaysbackward;\r
31 \r
32         std::map<std::string,bool> m_boardscache;\r
33         Poco::DateTime m_boardscacheupdate;                     // last time we updated the boards cache\r
34 \r
35         std::map<std::string,std::map<long,std::set<long> > > m_requestindexcache;      // date - identity id - index\r
36 \r
37 };\r
38 \r
39 #endif  // _messagelistrequester_\r