version 0.0.1
[fms.git] / include / freenet / identityintroductionrequester.h
1 #ifndef _identityintroduction_requester_\r
2 #define _identityintroduction_requester_\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 "ifcpconnected.h"\r
9 #include "ifcpmessagehandler.h"\r
10 #include "iperiodicprocessor.h"\r
11 \r
12 class IdentityIntroductionRequester:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger\r
13 {\r
14 public:\r
15         IdentityIntroductionRequester();\r
16         IdentityIntroductionRequester(FCPv2 *fcp);\r
17 \r
18         void FCPDisconnected();\r
19         void FCPConnected();\r
20         const bool HandleMessage(FCPMessage &message);\r
21 \r
22         void Process();\r
23 \r
24         void RegisterWithThread(FreenetMasterThread *thread);\r
25 \r
26 private:\r
27         void Initialize();\r
28         void StartRequests(const long localidentityid);\r
29         void StartRequest(const std::string &UUID);\r
30         void PopulateIDList();\r
31         void RemoveFromRequestList(const std::string &UUID);\r
32         const bool HandleGetFailed(FCPMessage &message);\r
33         const bool HandleAllData(FCPMessage &message);\r
34 \r
35         DateTime m_tempdate;\r
36         std::map<long,bool> m_ids;\r
37         std::vector<std::string> m_requesting;\r
38         std::string m_messagebase;\r
39         long m_maxrequests;\r
40 \r
41 };\r
42 \r
43 #endif  // _identityintroduction_requester_\r