version 0.3.33
[fms.git] / include / freenet / identityinserter.h
1 #ifndef _identity_inserter_\r
2 #define _identity_inserter_\r
3 \r
4 #include "../idatabase.h"\r
5 #include "../ilogger.h"\r
6 #include "ifreenetregistrable.h"\r
7 #include "ifcpconnected.h"\r
8 #include "ifcpmessagehandler.h"\r
9 #include "iperiodicprocessor.h"\r
10 \r
11 #include <Poco/DateTime.h>\r
12 \r
13 class IdentityInserter:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger\r
14 {\r
15 public:\r
16         IdentityInserter(SQLite3DB::DB *db);\r
17         IdentityInserter(SQLite3DB::DB *db, FCPv2::Connection *fcp);\r
18 \r
19         void FCPConnected();\r
20         void FCPDisconnected();\r
21 \r
22         const bool HandleMessage(FCPv2::Message &message);\r
23 \r
24         void Process();\r
25 \r
26         void RegisterWithThread(FreenetMasterThread *thread);\r
27 \r
28 private:\r
29         void Initialize();\r
30         void CheckForNeededInsert();\r
31         void StartInsert(const long localidentityid);\r
32 \r
33         Poco::DateTime m_lastchecked;\r
34         Poco::DateTime m_lastreceivedmessage;\r
35 \r
36 };\r
37 \r
38 #endif  // _identity_inserter_\r