version 0.0.1
[fms.git] / include / freenet / unkeyedidcreator.h
1 #ifndef _unkeyedidcreator_\r
2 #define _unkeyedidcreatorr_\r
3 \r
4 #include "../ilogger.h"\r
5 #include "../datetime.h"\r
6 #include "../idatabase.h"\r
7 #include "ifreenetregistrable.h"\r
8 #include "ifcpconnected.h"\r
9 #include "ifcpmessagehandler.h"\r
10 #include "iperiodicprocessor.h"\r
11 \r
12 \r
13 /**\r
14         \brief Looks for any unkeyed Local Identities and requests SSK keys for them\r
15 */\r
16 class UnkeyedIDCreator:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IDatabase,public IPeriodicProcessor,public ILogger\r
17 {\r
18 public:\r
19         UnkeyedIDCreator();\r
20         UnkeyedIDCreator(FCPv2 *fcp);\r
21 \r
22         const bool HandleMessage(FCPMessage &message);\r
23 \r
24         void FCPDisconnected();\r
25         void FCPConnected();\r
26 \r
27         void Process();\r
28 \r
29         void RegisterWithThread(FreenetMasterThread *thread);\r
30         \r
31 private:\r
32         void Initialize();\r
33         void CheckForUnkeyedID();\r
34         void SaveKeys(const long localidentityid, const std::string &publickey, const std::string &privatekey);\r
35 \r
36         DateTime m_lastchecked;\r
37         bool m_waiting;\r
38 };\r
39 \r
40 #endif  // _unkeyedidcreator_\r