#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
-\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
\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