X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Ffmsversionrequester.cpp;h=39fb02769b634a29bb8c80fc96b42771c9d859ed;hb=4e96d123460d6363cf7274e36bd9357768eb86ad;hp=027d5300da1e1dfe7d8cf61b4087a1c7c0d81760;hpb=76805933f794915a72b7f0a21b12af6654759f4f;p=fms.git diff --git a/src/freenet/fmsversionrequester.cpp b/src/freenet/fmsversionrequester.cpp index 027d530..39fb027 100644 --- a/src/freenet/fmsversionrequester.cpp +++ b/src/freenet/fmsversionrequester.cpp @@ -11,12 +11,12 @@ FMSVersionRequester::FMSVersionRequester() Initialize(); } -FMSVersionRequester::FMSVersionRequester(FCPv2 *fcp):IFCPConnected(fcp) +FMSVersionRequester::FMSVersionRequester(FCPv2::Connection *fcp):IFCPConnected(fcp) { Initialize(); } -const bool FMSVersionRequester::HandleAllData(FCPMessage &message) +const bool FMSVersionRequester::HandleAllData(FCPv2::Message &message) { std::vector data; long datalength; @@ -25,20 +25,16 @@ const bool FMSVersionRequester::HandleAllData(FCPMessage &message) StringFunctions::Convert(message["DataLength"],datalength); // wait for all data to be received from connection - while(m_fcp->Connected() && m_fcp->ReceiveBufferSize()Update(1); - } + m_fcp->WaitForBytes(1000,datalength); // if we got disconnected- return immediately - if(m_fcp->Connected()==false) + if(m_fcp->IsConnected()==false) { return false; } // receive the file - data.resize(datalength); - m_fcp->ReceiveRaw(&data[0],datalength); + m_fcp->Receive(data,datalength); // update latest edition # std::vector parts; @@ -50,7 +46,7 @@ const bool FMSVersionRequester::HandleAllData(FCPMessage &message) } // parse file into xml and update the database - if(xml.ParseXML(std::string(data.begin(),data.end()))==true) + if(data.size()>0 && xml.ParseXML(std::string(data.begin(),data.end()))==true) { SQLite3DB::Statement st=m_db->Prepare("REPLACE INTO tblFMSVersion(Major,Minor,Release,Notes,Changes,PageKey,SourceKey) VALUES(?,?,?,?,?,?,?);"); @@ -73,7 +69,7 @@ const bool FMSVersionRequester::HandleAllData(FCPMessage &message) return true; } -const bool FMSVersionRequester::HandleGetFailed(FCPMessage &message) +const bool FMSVersionRequester::HandleGetFailed(FCPv2::Message &message) { std::vector parts; StringFunctions::Split(message["Identifier"],"/",parts); @@ -92,7 +88,7 @@ const bool FMSVersionRequester::HandleGetFailed(FCPMessage &message) return true; } -const bool FMSVersionRequester::HandleMessage(FCPMessage &message) +const bool FMSVersionRequester::HandleMessage(FCPv2::Message &message) { if(message["Identifier"].find(m_fcpuniquename)==0) { @@ -151,7 +147,7 @@ void FMSVersionRequester::RegisterWithThread(FreenetMasterThread *thread) void FMSVersionRequester::StartRequest() { - FCPMessage message; + FCPv2::Message message; std::string key=""; std::string editionstr="0"; int edition=0; @@ -171,6 +167,6 @@ void FMSVersionRequester::StartRequest() message["ReturnType"]="direct"; message["MaxSize"]="30000"; // 30K - m_fcp->SendMessage(message); + m_fcp->Send(message); }