version 0.3.2
[fms.git] / include / freenet / fmsversionrequester.h
diff --git a/include/freenet/fmsversionrequester.h b/include/freenet/fmsversionrequester.h
new file mode 100644 (file)
index 0000000..6a6d5f7
--- /dev/null
@@ -0,0 +1,37 @@
+#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