Implement GetBytesReceived() in base class

This commit is contained in:
Tobias Taschner
2018-11-02 21:37:45 +01:00
parent ab544da1d2
commit f04094e4ec
4 changed files with 21 additions and 12 deletions

View File

@@ -102,14 +102,19 @@ void wxWebRequest::SetData(wxSharedPtr<wxInputStream> dataStream, const wxString
SetHeader("Content-Type", contentType);
}
wxFileOffset wxWebRequest::GetBytesExpectedToReceive() const
wxFileOffset wxWebRequest::GetBytesReceived() const
{
return m_bytesReceived;;
}
wxFileOffset wxWebRequest::GetBytesExpectedToReceive() const
{
if ( GetResponse() )
return GetResponse()->GetContentLength();
else
return -1;
}
}
void wxWebRequest::SetState(State state, const wxString & failMsg)
{
// Add a reference while the request is active
@@ -122,6 +127,11 @@ void wxWebRequest::SetState(State state, const wxString & failMsg)
CallAfter(&wxWebRequest::ProcessStateEvent, state, failMsg);
}
void wxWebRequest::ReportDataReceived(size_t sizeReceived)
{
m_bytesReceived += sizeReceived;
}
// The SplitParamaters implementation is adapted to wxWidgets
// from Poco::Net::MessageHeader::splitParameters
@@ -335,6 +345,7 @@ void* wxWebResponse::GetDataBuffer(size_t sizeNeeded)
void wxWebResponse::ReportDataReceived(size_t sizeReceived)
{
m_readBuffer.UngetAppendBuf(sizeReceived);
m_request.ReportDataReceived(sizeReceived);
if ( m_request.GetStorage() == wxWebRequest::Storage_File )
m_file.Write(m_readBuffer.GetData(), m_readBuffer.GetDataLen());