class IIndexRequester:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger\r
{\r
public:\r
- IIndexRequester();\r
- IIndexRequester(FCPv2 *fcp);\r
+ IIndexRequester(SQLite3DB::DB *db);\r
+ IIndexRequester(SQLite3DB::DB *db, FCPv2::Connection *fcp);\r
virtual ~IIndexRequester() {}\r
\r
virtual void FCPConnected();\r
virtual void FCPDisconnected();\r
- virtual const bool HandleMessage(FCPMessage &message);\r
+ virtual const bool HandleMessage(FCPv2::Message &message);\r
\r
virtual void Process();\r
\r
virtual void Initialize()=0; // initialize m_maxrequests and m_fcpuniquename\r
virtual void PopulateIDList()=0;\r
virtual void StartRequest(const IDTYPE &id)=0;\r
- virtual const bool HandleAllData(FCPMessage &message)=0;\r
- virtual const bool HandleGetFailed(FCPMessage &message)=0;\r
+ virtual const bool HandleAllData(FCPv2::Message &message)=0;\r
+ virtual const bool HandleGetFailed(FCPv2::Message &message)=0;\r
virtual void RemoveFromRequestList(const IDTYPE id);\r
\r
Poco::DateTime m_tempdate;\r
};\r
\r
template <class IDTYPE>\r
-IIndexRequester<IDTYPE>::IIndexRequester()\r
+IIndexRequester<IDTYPE>::IIndexRequester(SQLite3DB::DB *db):IDatabase(db)\r
{\r
InitializeIIndexRequester();\r
}\r
\r
template <class IDTYPE>\r
-IIndexRequester<IDTYPE>::IIndexRequester(FCPv2 *fcp):IFCPConnected(fcp)\r
+IIndexRequester<IDTYPE>::IIndexRequester(SQLite3DB::DB *db, FCPv2::Connection *fcp):IDatabase(db),IFCPConnected(fcp)\r
{\r
InitializeIIndexRequester();\r
}\r
}\r
\r
template <class IDTYPE>\r
-const bool IIndexRequester<IDTYPE>::HandleMessage(FCPMessage &message)\r
+const bool IIndexRequester<IDTYPE>::HandleMessage(FCPv2::Message &message)\r
{\r
\r
if(message["Identifier"].find(m_fcpuniquename)==0)\r
{\r
m_maxrequests=-1;\r
m_fcpuniquename="";\r
+ Option option(m_db);\r
\r
- Option::Instance()->Get("MessageBase",m_messagebase);\r
+ option.Get("MessageBase",m_messagebase);\r
m_tempdate=Poco::Timestamp();\r
m_lastreceived=Poco::Timestamp();\r
m_lastpopulated=Poco::Timestamp();\r
template <class IDTYPE>\r
void IIndexRequester<IDTYPE>::RemoveFromRequestList(const IDTYPE id)\r
{\r
-/*\r
- typename std::vector<IDTYPE>::iterator i=m_requesting.begin();\r
- while(i!=m_requesting.end() && (*i)!=id)\r
- {\r
- i++;\r
- }\r
-*/\r
- // better\r
typename std::vector<IDTYPE>::iterator i=std::find(m_requesting.begin(),m_requesting.end(),id);\r
\r
if(i!=m_requesting.end())\r