version 0.3.29
[fms.git] / include / freenet / introductionpuzzleinserter.h
index af66a50..e376dbf 100644 (file)
@@ -1,38 +1,28 @@
 #ifndef _introductionpuzzle_inserter_\r
 #define _introductionpuzzle_inserter_\r
 \r
-#include "../idatabase.h"\r
-#include "../ilogger.h"\r
-#include "../datetime.h"\r
-#include "ifreenetregistrable.h"\r
-#include "ifcpconnected.h"\r
-#include "ifcpmessagehandler.h"\r
-#include "iperiodicprocessor.h"\r
+#include "iindexinserter.h"\r
 \r
-class IntroductionPuzzleInserter:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger\r
+#include <map>\r
+#include <Poco/DateTime.h>\r
+\r
+class IntroductionPuzzleInserter:public IIndexInserter<long>\r
 {\r
 public:\r
-       IntroductionPuzzleInserter();\r
-       IntroductionPuzzleInserter(FCPv2 *fcp);\r
-\r
-       void FCPConnected();\r
-       void FCPDisconnected();\r
-\r
-       const bool HandleMessage(FCPMessage &message);\r
-\r
-       void Process();\r
-\r
-       void RegisterWithThread(FreenetMasterThread *thread);\r
+       IntroductionPuzzleInserter(SQLite3DB::DB *db);\r
+       IntroductionPuzzleInserter(SQLite3DB::DB *db, FCPv2::Connection *fcp);\r
 \r
 private:\r
        void Initialize();\r
        void CheckForNeededInsert();\r
-       void StartInsert(const long localidentityid);\r
+       const bool StartInsert(const long &localidentityid);\r
        void GenerateCaptcha(std::string &encodeddata, std::string &solution);\r
-       const bool HandlePutSuccessful(FCPMessage &message);\r
-       const bool HandlePutFailed(FCPMessage &message);\r
+       const bool HandlePutSuccessful(FCPv2::Message &message);\r
+       const bool HandlePutFailed(FCPv2::Message &message);\r
 \r
-       DateTime m_lastchecked;\r
+       Poco::DateTime m_lastchecked;\r
+       int m_maxpuzzleinserts;\r
+       std::map<int,Poco::DateTime> m_lastinserted;\r
 \r
 };\r
 \r