a65d96de3fdfa650b08bd1850ae22b80f4ccea66
[fms.git] / include / freenet / introductionpuzzleinserter.h
1 #ifndef _introductionpuzzle_inserter_\r
2 #define _introductionpuzzle_inserter_\r
3 \r
4 #include "iindexinserter.h"\r
5 \r
6 #include <map>\r
7 #include <Poco/DateTime.h>\r
8 \r
9 class IntroductionPuzzleInserter:public IIndexInserter<long>\r
10 {\r
11 public:\r
12         IntroductionPuzzleInserter();\r
13         IntroductionPuzzleInserter(FCPv2::Connection *fcp);\r
14 \r
15 private:\r
16         void Initialize();\r
17         void CheckForNeededInsert();\r
18         const bool StartInsert(const long &localidentityid);\r
19         void GenerateCaptcha(std::string &encodeddata, std::string &solution);\r
20         const bool HandlePutSuccessful(FCPv2::Message &message);\r
21         const bool HandlePutFailed(FCPv2::Message &message);\r
22 \r
23         Poco::DateTime m_lastchecked;\r
24         int m_maxpuzzleinserts;\r
25         std::map<int,Poco::DateTime> m_lastinserted;\r
26 \r
27 };\r
28 \r
29 #endif  // _introductionpuzzle_inserter_\r