--- /dev/null
+#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