Implement GetBytesReceived() in base class
This commit is contained in:
@@ -79,8 +79,6 @@ public:
|
||||
|
||||
wxFileOffset GetBytesExpectedToSend() const wxOVERRIDE { return m_dataSize; }
|
||||
|
||||
wxFileOffset GetBytesReceived() const wxOVERRIDE { return m_bytesReceived; }
|
||||
|
||||
void HandleCallback(DWORD dwInternetStatus, LPVOID lpvStatusInformation,
|
||||
DWORD dwStatusInformationLength);
|
||||
|
||||
@@ -94,7 +92,6 @@ private:
|
||||
wxScopedPtr<wxWebAuthChallengeWinHTTP> m_authChallenge;
|
||||
wxMemoryBuffer m_dataWriteBuffer;
|
||||
wxFileOffset m_dataWritten;
|
||||
wxFileOffset m_bytesReceived;
|
||||
|
||||
void SendRequest();
|
||||
|
||||
@@ -105,7 +102,6 @@ private:
|
||||
void SetFailedWithLastError();
|
||||
|
||||
friend class wxWebAuthChallengeWinHTTP;
|
||||
friend class wxWebResponseWinHTTP;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxWebRequestWinHTTP);
|
||||
};
|
||||
|
@@ -83,12 +83,14 @@ public:
|
||||
|
||||
virtual wxFileOffset GetBytesExpectedToSend() const = 0;
|
||||
|
||||
virtual wxFileOffset GetBytesReceived() const = 0;
|
||||
virtual wxFileOffset GetBytesReceived() const;
|
||||
|
||||
virtual wxFileOffset GetBytesExpectedToReceive() const;
|
||||
|
||||
void SetState(State state, const wxString& failMsg = "");
|
||||
|
||||
void ReportDataReceived(size_t sizeReceived);
|
||||
|
||||
static void SplitParameters(const wxString& s, wxString& value,
|
||||
wxWebRequestHeaderMap& parameters);
|
||||
|
||||
@@ -108,7 +110,8 @@ protected:
|
||||
m_session(session),
|
||||
m_id(id),
|
||||
m_state(State_Idle),
|
||||
m_ignoreServerErrorStatus(false) { }
|
||||
m_ignoreServerErrorStatus(false),
|
||||
m_bytesReceived(0) { }
|
||||
|
||||
bool CheckServerStatus();
|
||||
|
||||
@@ -119,6 +122,7 @@ private:
|
||||
int m_id;
|
||||
State m_state;
|
||||
bool m_ignoreServerErrorStatus;
|
||||
wxFileOffset m_bytesReceived;
|
||||
wxCharBuffer m_dataText;
|
||||
|
||||
void ProcessStateEvent(State state, const wxString& failMsg);
|
||||
|
@@ -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());
|
||||
|
@@ -147,8 +147,7 @@ wxWebRequestWinHTTP::wxWebRequestWinHTTP(int id, wxWebSessionWinHTTP& session, c
|
||||
m_url(url),
|
||||
m_connect(NULL),
|
||||
m_request(NULL),
|
||||
m_dataWritten(0),
|
||||
m_bytesReceived(0)
|
||||
m_dataWritten(0)
|
||||
{
|
||||
m_headers = session.GetHeaders();
|
||||
}
|
||||
@@ -407,7 +406,6 @@ bool wxWebResponseWinHTTP::ReadData()
|
||||
bool wxWebResponseWinHTTP::ReportAvailableData(DWORD dataLen)
|
||||
{
|
||||
ReportDataReceived(dataLen);
|
||||
static_cast<wxWebRequestWinHTTP&>(m_request).m_bytesReceived += dataLen;
|
||||
return ReadData();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user