cf80285f7106dc27163a9943c90becb224edea9e
[fms.git] / include / freenet / periodicdbmaintenance.h
1 #ifndef _periodicdbmaintenance_\r
2 #define _periodicdbmaintenance_\r
3 \r
4 #include "../idatabase.h"\r
5 #include "../ilogger.h"\r
6 #include "../datetime.h"\r
7 #include "ifreenetregistrable.h"\r
8 #include "iperiodicprocessor.h"\r
9 \r
10 class PeriodicDBMaintenance:public IFreenetRegistrable,public IPeriodicProcessor,public IDatabase,public ILogger\r
11 {\r
12 public:\r
13         PeriodicDBMaintenance();\r
14 \r
15         void Process();\r
16 \r
17         void RegisterWithThread(FreenetMasterThread *thread);\r
18 \r
19 private:\r
20         void Do10MinuteMaintenance();\r
21         void Do30MinuteMaintenance();\r
22         void Do1HourMaintenance();\r
23         void Do6HourMaintenance();\r
24         void Do1DayMaintenance();\r
25 \r
26         DateTime m_check10mins;\r
27         DateTime m_check30mins;\r
28         DateTime m_check1hour;\r
29         DateTime m_check6hours;\r
30         DateTime m_check1day;\r
31         \r
32 };\r
33 \r
34 #endif  // _periodicdbmaintenance_\r