--- /dev/null
+#ifndef _fmsversionrequester_\r
+#define _fmsversionrequester_\r
+\r
+#include "ifreenetregistrable.h"\r
+#include "ifcpconnected.h"\r
+#include "ifcpmessagehandler.h"\r
+#include "iperiodicprocessor.h"\r
+#include "../idatabase.h"\r
+#include "../ilogger.h"\r
+\r
+#include <Poco/DateTime.h>\r
+\r
+class FMSVersionRequester:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger\r
+{\r
+public:\r
+ FMSVersionRequester();\r
+ FMSVersionRequester(FCPv2 *fcp);\r
+\r
+ void FCPConnected() {}\r
+ void FCPDisconnected() {}\r
+ const bool HandleMessage(FCPMessage &message);\r
+\r
+ void Process();\r
+\r
+ void RegisterWithThread(FreenetMasterThread *thread);\r
+\r
+private:\r
+ const bool HandleAllData(FCPMessage &message);\r
+ const bool HandleGetFailed(FCPMessage &message);\r
+ void Initialize();\r
+ void StartRequest();\r
+\r
+ Poco::DateTime m_lastchecked;\r
+ std::string m_fcpuniquename;\r
+};\r
+\r
+#endif // _fmsversionrequester_\r