Add wxWebSession::GetLibraryVersionInfo()

This commit is contained in:
Tobias Taschner
2018-11-06 22:39:13 +01:00
parent 4af4dd6cbf
commit 45f006d752
7 changed files with 37 additions and 1 deletions

View File

@@ -115,6 +115,8 @@ public:
wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY) wxOVERRIDE; wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY) wxOVERRIDE;
wxVersionInfo GetLibraryVersionInfo() wxOVERRIDE;
HINTERNET GetHandle() const { return m_handle; } HINTERNET GetHandle() const { return m_handle; }
private: private:

View File

@@ -21,6 +21,7 @@
#include "wx/sharedptr.h" #include "wx/sharedptr.h"
#include "wx/stream.h" #include "wx/stream.h"
#include "wx/vector.h" #include "wx/vector.h"
#include "wx/versioninfo.h"
class wxWebResponse; class wxWebResponse;
class wxWebSession; class wxWebSession;
@@ -223,6 +224,8 @@ public:
virtual wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY) = 0; virtual wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY) = 0;
virtual wxVersionInfo GetLibraryVersionInfo() = 0;
virtual void SetHeader(const wxString& name, const wxString& value) virtual void SetHeader(const wxString& name, const wxString& value)
{ m_headers[name] = value; } { m_headers[name] = value; }

View File

@@ -116,6 +116,8 @@ public:
wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY) wxOVERRIDE; wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY) wxOVERRIDE;
wxVersionInfo GetLibraryVersionInfo() wxOVERRIDE;
bool StartRequest(wxWebRequestCURL& request); bool StartRequest(wxWebRequestCURL& request);
void CancelRequest(wxWebRequestCURL* request); void CancelRequest(wxWebRequestCURL* request);

View File

@@ -484,6 +484,12 @@ public:
*/ */
wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY); wxWebRequest* CreateRequest(const wxString& url, int id = wxID_ANY);
/**
Retrieve the version information about the implementation library used
by this session.
*/
virtual wxVersionInfo GetLibraryVersionInfo();
/** /**
Sets a request header in every wxWebRequest created from this session Sets a request header in every wxWebRequest created from this session
after is has been set. after is has been set.

View File

@@ -165,6 +165,8 @@ public:
CreateStatusBar(); CreateStatusBar();
GetStatusBar()->SetStatusText(wxWebSession::GetDefault().GetLibraryVersionInfo().ToString());
m_downloadProgressTimer.Bind(wxEVT_TIMER, m_downloadProgressTimer.Bind(wxEVT_TIMER,
&WebRequestFrame::OnProgressTimer, this); &WebRequestFrame::OnProgressTimer, this);
@@ -402,7 +404,7 @@ public:
{ {
if ( !wxApp::OnInit() ) if ( !wxApp::OnInit() )
return false; return false;
wxInitAllImageHandlers(); wxInitAllImageHandlers();
// create the main application window // create the main application window

View File

@@ -479,6 +479,19 @@ void wxWebSessionCURL::CancelRequest(wxWebRequestCURL* request)
m_cancelledRequests.push_back(wxObjectDataPtr<wxWebRequestCURL>(request)); m_cancelledRequests.push_back(wxObjectDataPtr<wxWebRequestCURL>(request));
} }
wxVersionInfo wxWebSessionCURL::GetLibraryVersionInfo()
{
const curl_version_info_data* vi = curl_version_info(CURLVERSION_NOW);
wxString desc = wxString::Format("libcurl/%s", vi->version);
if (vi->ssl_version[0])
desc += " " + wxString(vi->ssl_version);
return wxVersionInfo("libcurl",
vi->version_num >> 16 & 0xff,
vi->version_num >> 8 & 0xff,
vi->version_num & 0xff,
desc);
}
// static // static
void wxWebSessionCURL::InitializeCURL() void wxWebSessionCURL::InitializeCURL()
{ {

View File

@@ -524,4 +524,12 @@ wxWebRequest* wxWebSessionWinHTTP::CreateRequest(const wxString& url, int id)
return new wxWebRequestWinHTTP(id, *this, url); return new wxWebRequestWinHTTP(id, *this, url);
} }
wxVersionInfo wxWebSessionWinHTTP::GetLibraryVersionInfo()
{
int verMaj, verMin, verMicro;
wxGetOsVersion(&verMaj, &verMin, &verMicro);
return wxVersionInfo("WinHTTP", verMaj, verMin, verMicro);
}
#endif // wxUSE_WEBREQUEST_WINHTTP #endif // wxUSE_WEBREQUEST_WINHTTP