version 0.3.29
[fms.git] / include / freenet / identityintroductioninserter.h
1 #ifndef _identityintroductioninserter_\r
2 #define _identityintroductioninserter_\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 IdentityIntroductionInserter:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger\r
14 {\r
15 public:\r
16         IdentityIntroductionInserter(SQLite3DB::DB *db);\r
17         IdentityIntroductionInserter(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 CheckForNewInserts();\r
31         void StartInsert(const long localidentityid, const std::string &day, const std::string &UUID, const std::string &solution);\r
32 \r
33         std::string m_messagebase;\r
34         Poco::DateTime m_lastchecked;\r
35         bool m_inserting;\r
36         \r
37 };\r
38 \r
39 #endif  // _identityintroductioninserter_\r