1 #ifndef _freenetmasterthread_
\r
2 #define _freenetmasterthread_
\r
4 #include "../ilogger.h"
\r
5 #include "ifreenetregistrable.h"
\r
6 #include "ifcpmessagehandler.h"
\r
7 #include "ifcpconnected.h"
\r
8 #include "iperiodicprocessor.h"
\r
10 #include "../threadwrapper/cancelablerunnable.h"
\r
12 // forward declaration
\r
13 class IFreenetRegistrable;
\r
15 class FreenetMasterThread:public CancelableRunnable,public ILogger, public IFCPMessageHandler
\r
18 FreenetMasterThread();
\r
19 ~FreenetMasterThread();
\r
21 const bool HandleMessage(FCPMessage &message);
\r
25 // registration methods for child objects
\r
26 void RegisterPeriodicProcessor(IPeriodicProcessor *obj);
\r
27 void RegisterFCPConnected(IFCPConnected *obj);
\r
28 void RegisterFCPMessageHandler(IFCPMessageHandler *obj);
\r
31 const bool FCPConnect();
\r
35 std::string m_fcphost;
\r
38 std::vector<IFreenetRegistrable *> m_registrables;
\r
39 std::vector<IPeriodicProcessor *> m_processors;
\r
40 std::vector<IFCPConnected *> m_fcpconnected;
\r
41 std::vector<IFCPMessageHandler *> m_fcpmessagehandlers;
\r
42 bool m_receivednodehello;
\r
46 #endif // _freenetmasterthread_
\r