Index: src/plugin/PluginClientBase.cpp |
=================================================================== |
--- a/src/plugin/PluginClientBase.cpp |
+++ b/src/plugin/PluginClientBase.cpp |
@@ -12,6 +12,10 @@ |
#include "PluginClass.h" |
#include "PluginClientBase.h" |
+#include "PluginUtil.h" |
+ |
+#include <ostream> |
+#include <iomanip> |
// IP adapter |
#pragma comment(lib, "IPHLPAPI.lib") |
@@ -40,49 +44,33 @@ |
} |
-bool CPluginClientBase::IsValidDomain(const CString& domain) |
+bool CPluginClientBase::IsValidDomain(const std::wstring & domain) |
{ |
return domain != L"about:blank" && |
domain != L"about:tabs" && |
- domain.Find(L"javascript:") != 0 && |
- !domain.IsEmpty(); |
+ !ABP::util::begins_with( domain, L"javascript:" ) && |
+ !domain.empty(); |
} |
-CString& CPluginClientBase::UnescapeUrl(CString& url) |
-{ |
- CString unescapedUrl; |
- DWORD cb = 2048; |
- |
- if (SUCCEEDED(::UrlUnescape(url.GetBuffer(), unescapedUrl.GetBufferSetLength(cb), &cb, 0))) |
- { |
- unescapedUrl.ReleaseBuffer(); |
- unescapedUrl.Truncate(cb); |
- |
- url.ReleaseBuffer(); |
- url = unescapedUrl; |
- } |
- |
- return url; |
-} |
- |
- |
-void CPluginClientBase::LogPluginError(DWORD errorCode, int errorId, int errorSubid, const CString& description, bool isAsync, DWORD dwProcessId, DWORD dwThreadId) |
+void CPluginClientBase::LogPluginError(DWORD errorCode, int errorId, int errorSubid, const std::wstring & description, bool isAsync, DWORD dwProcessId, DWORD dwThreadId) |
{ |
// Prevent circular references |
if (CPluginSettings::HasInstance() && isAsync) |
{ |
DEBUG_ERROR_CODE_EX(errorCode, description, dwProcessId, dwThreadId); |
- CString pluginError; |
- pluginError.Format(L"%2.2d%2.2d", errorId, errorSubid); |
+ std::wostringstream message ; |
+ message << std::setfill( L'0' ); |
+ message << std::setw(2) << errorId; |
+ message << std::setw(2) << errorSubid; |
+ std::wstring error = message.str(); |
- CString pluginErrorCode; |
- pluginErrorCode.Format(L"%u", errorCode); |
+ message = std::wostringstream(); |
+ message << L"0x" << std::hex << errorCode; |
+ std::wstring error_code = message.str(); |
- CPluginSettings* settings = CPluginSettings::GetInstance(); |
- |
- settings->AddError(pluginError, pluginErrorCode); |
+ CPluginSettings::GetInstance()->AddError(error, error_code); |
} |
// Post error to client for later submittal |
@@ -93,7 +81,7 @@ |
} |
-void CPluginClientBase::PostPluginError(int errorId, int errorSubid, DWORD errorCode, const CString& errorDescription) |
+void CPluginClientBase::PostPluginError(int errorId, int errorSubid, DWORD errorCode, const std::wstring & errorDescription) |
{ |
s_criticalSectionLocal.Lock(); |
{ |