From fc633f5aae7af5b8553fc1d6f4b14257f9db4643 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 13 Dec 2020 02:24:43 +0100 Subject: [PATCH] Move wxStringWebSessionFactoryMap out of the header Define wxWebSession::ms_defaultSession and ms_factoryMap in the implementation file to avoid having to make the otherwise unnecessary wxStringWebSessionFactoryMap type public. No real changes. --- include/wx/webrequest.h | 7 ------- src/common/webrequest.cpp | 39 +++++++++++++++++++++------------------ 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/include/wx/webrequest.h b/include/wx/webrequest.h index 85fe58fb1f..d26707d556 100644 --- a/include/wx/webrequest.h +++ b/include/wx/webrequest.h @@ -215,8 +215,6 @@ public: virtual ~wxWebSessionFactory() { } }; -WX_DECLARE_STRING_HASH_MAP(wxSharedPtr, wxStringWebSessionFactoryMap); - extern WXDLLIMPEXP_DATA_NET(const char) wxWebSessionBackendDefault[]; extern WXDLLIMPEXP_DATA_NET(const char) wxWebSessionBackendWinHTTP[]; extern WXDLLIMPEXP_DATA_NET(const char) wxWebSessionBackendURLSession[]; @@ -242,8 +240,6 @@ public: static wxWebSession& GetDefault(); - static void DestroyDefault(); - static wxWebSession* New(const wxString& backend = wxWebSessionBackendDefault); static void RegisterFactory(const wxString& backend, @@ -258,9 +254,6 @@ private: wxWebRequestHeaderMap m_headers; wxString m_tempDir; - static wxScopedPtr ms_defaultSession; - static wxStringWebSessionFactoryMap ms_factoryMap; - static void InitFactoryMap(); }; diff --git a/src/common/webrequest.cpp b/src/common/webrequest.cpp index 6f9641127c..07b8946da0 100644 --- a/src/common/webrequest.cpp +++ b/src/common/webrequest.cpp @@ -395,8 +395,15 @@ void wxWebResponse::Finalize() // wxWebSession // -wxScopedPtr wxWebSession::ms_defaultSession; -wxStringWebSessionFactoryMap wxWebSession::ms_factoryMap; +WX_DECLARE_STRING_HASH_MAP(wxSharedPtr, wxStringWebSessionFactoryMap); + +namespace +{ + +wxScopedPtr gs_defaultSession; +wxStringWebSessionFactoryMap gs_factoryMap; + +} // anonymous namespace wxWebSession::wxWebSession() { @@ -417,25 +424,20 @@ wxString wxWebSession::GetTempDir() const // static wxWebSession& wxWebSession::GetDefault() { - if ( ms_defaultSession == NULL ) - ms_defaultSession.reset(wxWebSession::New()); + if ( gs_defaultSession == NULL ) + gs_defaultSession.reset(wxWebSession::New()); - return *ms_defaultSession; -} - -void wxWebSession::DestroyDefault() -{ - ms_defaultSession.reset(); + return *gs_defaultSession; } // static wxWebSession* wxWebSession::New(const wxString& backend) { - if ( ms_factoryMap.empty() ) + if ( gs_factoryMap.empty() ) InitFactoryMap(); - wxStringWebSessionFactoryMap::iterator factory = ms_factoryMap.find(backend); - if ( factory != ms_factoryMap.end() ) + wxStringWebSessionFactoryMap::iterator factory = gs_factoryMap.find(backend); + if ( factory != gs_factoryMap.end() ) return factory->second->Create(); else return NULL; @@ -446,7 +448,7 @@ void wxWebSession::RegisterFactory(const wxString& backend, const wxSharedPtr& factory) { - ms_factoryMap[backend] = factory; + gs_factoryMap[backend] = factory; } // static @@ -469,11 +471,11 @@ void wxWebSession::InitFactoryMap() // static bool wxWebSession::IsBackendAvailable(const wxString& backend) { - if ( ms_factoryMap.empty() ) + if ( gs_factoryMap.empty() ) InitFactoryMap(); - wxStringWebSessionFactoryMap::iterator factory = ms_factoryMap.find(backend); - return factory != ms_factoryMap.end(); + wxStringWebSessionFactoryMap::iterator factory = gs_factoryMap.find(backend); + return factory != gs_factoryMap.end(); } // ---------------------------------------------------------------------------- @@ -494,7 +496,8 @@ public: virtual void OnExit() wxOVERRIDE { - wxWebSession::DestroyDefault(); + gs_factoryMap.clear(); + gs_defaultSession.reset(); } private: