1 #ifndef _introductionpuzzlerequester_
\r
2 #define _introductionpuzzlerequester_
\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
12 class IntroductionPuzzleRequester:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger
\r
15 IntroductionPuzzleRequester();
\r
16 IntroductionPuzzleRequester(FCPv2 *fcp);
\r
18 void FCPDisconnected();
\r
19 void FCPConnected();
\r
21 const bool HandleMessage(FCPMessage &message);
\r
23 void RegisterWithThread(FreenetMasterThread *thread);
\r
29 void RemoveFromRequestList(const long identityid);
\r
30 void StartRequest(const long identityid);
\r
31 void PopulateIDList(); // clear and re-populate m_ids with identities we want to query
\r
32 const bool HandleAllData(FCPMessage &message);
\r
33 const bool HandleGetFailed(FCPMessage &message);
\r
35 DateTime m_tempdate;
\r
36 std::string m_messagebase;
\r
38 std::vector<long> m_requesting; // list of ids we are currently requesting from
\r
39 std::map<long,bool> m_ids; // map of all ids we know and whether we have requested file from them yet
\r
43 #endif // _introductionpuzzlerequester_
\r