version 0.1.9
[fms.git] / include / freenet / periodicdbmaintenance.h
diff --git a/include/freenet/periodicdbmaintenance.h b/include/freenet/periodicdbmaintenance.h
new file mode 100644 (file)
index 0000000..cf80285
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef _periodicdbmaintenance_\r
+#define _periodicdbmaintenance_\r
+\r
+#include "../idatabase.h"\r
+#include "../ilogger.h"\r
+#include "../datetime.h"\r
+#include "ifreenetregistrable.h"\r
+#include "iperiodicprocessor.h"\r
+\r
+class PeriodicDBMaintenance:public IFreenetRegistrable,public IPeriodicProcessor,public IDatabase,public ILogger\r
+{\r
+public:\r
+       PeriodicDBMaintenance();\r
+\r
+       void Process();\r
+\r
+       void RegisterWithThread(FreenetMasterThread *thread);\r
+\r
+private:\r
+       void Do10MinuteMaintenance();\r
+       void Do30MinuteMaintenance();\r
+       void Do1HourMaintenance();\r
+       void Do6HourMaintenance();\r
+       void Do1DayMaintenance();\r
+\r
+       DateTime m_check10mins;\r
+       DateTime m_check30mins;\r
+       DateTime m_check1hour;\r
+       DateTime m_check6hours;\r
+       DateTime m_check1day;\r
+       \r
+};\r
+\r
+#endif // _periodicdbmaintenance_\r