summaryrefslogtreecommitdiff
path: root/protocols/CurrencyRates/src
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/CurrencyRates/src')
-rw-r--r--protocols/CurrencyRates/src/Chart.h14
-rw-r--r--protocols/CurrencyRates/src/ComHelper.cpp28
-rw-r--r--protocols/CurrencyRates/src/ComHelper.h7
-rw-r--r--protocols/CurrencyRates/src/CommonOptionDlg.cpp4
-rw-r--r--protocols/CurrencyRates/src/CreateFilePath.cpp6
-rw-r--r--protocols/CurrencyRates/src/CreateFilePath.h2
-rw-r--r--protocols/CurrencyRates/src/CurrencyConverter.cpp20
-rw-r--r--protocols/CurrencyRates/src/CurrencyRateInfoDlg.cpp10
-rw-r--r--protocols/CurrencyRates/src/CurrencyRatesProviderBase.cpp76
-rw-r--r--protocols/CurrencyRates/src/CurrencyRatesProviderBase.h34
-rw-r--r--protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.cpp64
-rw-r--r--protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.h4
-rw-r--r--protocols/CurrencyRates/src/CurrencyRatesProviders.cpp4
-rw-r--r--protocols/CurrencyRates/src/DBUtils.cpp2
-rw-r--r--protocols/CurrencyRates/src/DBUtils.h2
-rw-r--r--protocols/CurrencyRates/src/Forex.cpp3
-rw-r--r--protocols/CurrencyRates/src/HTMLParserMS.cpp254
-rw-r--r--protocols/CurrencyRates/src/HTMLParserMS.h32
-rw-r--r--protocols/CurrencyRates/src/HTTPSession.cpp4
-rw-r--r--protocols/CurrencyRates/src/HTTPSession.h4
-rw-r--r--protocols/CurrencyRates/src/ICurrencyRatesProvider.h10
-rw-r--r--protocols/CurrencyRates/src/IHTMLEngine.h18
-rw-r--r--protocols/CurrencyRates/src/IHTMLParser.h41
-rw-r--r--protocols/CurrencyRates/src/ImportExport.cpp6
-rw-r--r--protocols/CurrencyRates/src/Locale.cpp8
-rw-r--r--protocols/CurrencyRates/src/Log.cpp10
-rw-r--r--protocols/CurrencyRates/src/Log.h2
-rw-r--r--protocols/CurrencyRates/src/ModuleInfo.cpp35
-rw-r--r--protocols/CurrencyRates/src/ModuleInfo.h7
-rw-r--r--protocols/CurrencyRates/src/SettingsDlg.cpp64
-rw-r--r--protocols/CurrencyRates/src/SettingsDlg.h30
-rw-r--r--protocols/CurrencyRates/src/WinCtrlHelper.cpp2
-rw-r--r--protocols/CurrencyRates/src/WinCtrlHelper.h4
-rw-r--r--protocols/CurrencyRates/src/stdafx.h15
34 files changed, 195 insertions, 631 deletions
diff --git a/protocols/CurrencyRates/src/Chart.h b/protocols/CurrencyRates/src/Chart.h
index 430d067781..0a295ad4c3 100644
--- a/protocols/CurrencyRates/src/Chart.h
+++ b/protocols/CurrencyRates/src/Chart.h
@@ -7,14 +7,14 @@ namespace detail
{
template<class T> struct CConverter
{
- static double Convert(const T& v)
+ static double Convert(const T &v)
{
return boost::numeric_cast<double>(v);
}
- static tstring ToString(const T& v)
+ static std::wstring ToString(const T &v)
{
- return boost::lexical_cast<tstring>(v);
+ return boost::lexical_cast<std::wstring>(v);
}
};
@@ -25,7 +25,7 @@ namespace detail
return v;
}
- static tstring ToString(double v)
+ static std::wstring ToString(double v)
{
wchar_t str[40];
swprintf_s(str, L"%.6lf", v);
@@ -121,7 +121,7 @@ private:
int nXIndent = 0;
for (int y = rc.bottom - step; y > rc.top; y -= step, y_val += ((m_MaxY - m_MinY) / number_of_lines))
{
- tstring sY = TYConverter::ToString(y_val);
+ std::wstring sY = TYConverter::ToString(y_val);
SIZE sizeText = { 0, 0 };
BOOL bResult = ::GetTextExtentPoint32(hdc, sY.c_str(), (int)sY.size(), &sizeText);
assert(TRUE == bResult);
@@ -133,7 +133,7 @@ private:
rc.left += nXIndent;
for (int y = rc.bottom - step; y > rc.top; y -= step, y_val += ((m_MaxY - m_MinY) / number_of_lines))
{
- tstring sY = TYConverter::ToString(y_val);
+ std::wstring sY = TYConverter::ToString(y_val);
SIZE sizeText = { 0, 0 };
BOOL bResult = ::GetTextExtentPoint32(hdc, sY.c_str(), (int)sY.size(), &sizeText);
assert(TRUE == bResult);
@@ -157,7 +157,7 @@ private:
TXValue x_val = m_aValues[0].first + ((m_aValues[m_aValues.size() - 1].first - m_aValues[0].first) / number_of_lines);
for (int x = rc.left + step; x < rc.right; x += step, x_val += ((m_aValues[m_aValues.size() - 1].first - m_aValues[0].first) / number_of_lines))
{
- tstring sX = TXConverter::ToString(x_val);
+ std::wstring sX = TXConverter::ToString(x_val);
SIZE sizeText = { 0, 0 };
BOOL bResult = ::GetTextExtentPoint32(hdc, sX.c_str(), (int)sX.size(), &sizeText);
assert(TRUE == bResult);
diff --git a/protocols/CurrencyRates/src/ComHelper.cpp b/protocols/CurrencyRates/src/ComHelper.cpp
deleted file mode 100644
index c4715892b5..0000000000
--- a/protocols/CurrencyRates/src/ComHelper.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "StdAfx.h"
-
-tstring ComException2Msg(_com_error& e, const tstring& rsAdditionalInfo)
-{
- HRESULT hError = e.Error();
- tostringstream o;
- if (false == rsAdditionalInfo.empty())
- o << rsAdditionalInfo << "\n";
-
- o << e.ErrorMessage() << L" (" << std::hex << hError << L")";
-
- IErrorInfo* p = e.ErrorInfo();
- CComPtr<IErrorInfo> pErrorInfo(p);
- if (nullptr != p)
- p->Release();
-
- if (pErrorInfo)
- o << L"\n" << e.Description();
-
- return o.str();
-}
-
-void ShowComError(_com_error& e, const tstring& rsAdditionalInfo)
-{
- tstring sErrorMsg = ComException2Msg(e, rsAdditionalInfo);
- LogIt(sErrorMsg);
- CurrencyRates_MessageBox(nullptr, sErrorMsg.c_str(), MB_OK | MB_ICONERROR);
-}
diff --git a/protocols/CurrencyRates/src/ComHelper.h b/protocols/CurrencyRates/src/ComHelper.h
deleted file mode 100644
index 343d436785..0000000000
--- a/protocols/CurrencyRates/src/ComHelper.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __37ae28ab_c414_4aba_bbef_d23dd68643a5_ComHelper_h__
-#define __37ae28ab_c414_4aba_bbef_d23dd68643a5_ComHelper_h__
-
-void ShowComError(_com_error& e, const tstring& rsAdditionalInfo);
-tstring ComException2Msg(_com_error& e, const tstring& rsAdditionalInfo);
-
-#endif//__37ae28ab_c414_4aba_bbef_d23dd68643a5_ComHelper_h__
diff --git a/protocols/CurrencyRates/src/CommonOptionDlg.cpp b/protocols/CurrencyRates/src/CommonOptionDlg.cpp
index 27190b2545..56b857d331 100644
--- a/protocols/CurrencyRates/src/CommonOptionDlg.cpp
+++ b/protocols/CurrencyRates/src/CommonOptionDlg.cpp
@@ -166,7 +166,7 @@ void CommonOptionDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp, CCommonDlgPr
HWND hEdit = ::GetDlgItem(hWnd, IDC_EDIT_CONTACT_LIST_FORMAT);
assert(IsWindow(hEdit));
- tstring s = get_window_text(hEdit);
+ std::wstring s = get_window_text(hEdit);
if (true == s.empty()) {
prepare_edit_ctrl_for_error(hEdit);
CurrencyRates_MessageBox(hWnd, TranslateT("Enter text to display in contact list."), MB_OK | MB_ICONERROR);
@@ -190,7 +190,7 @@ void CommonOptionDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp, CCommonDlgPr
g_plugin.setWord(DB_KEY_RefreshRateType, nType);
g_plugin.setWord(DB_KEY_RefreshRateValue, nRefreshRate);
- tstring s = get_window_text(::GetDlgItem(hWnd, IDC_EDIT_CONTACT_LIST_FORMAT));
+ std::wstring s = get_window_text(::GetDlgItem(hWnd, IDC_EDIT_CONTACT_LIST_FORMAT));
g_plugin.setWString(DB_KEY_DisplayNameFormat, s.c_str());
s = get_window_text(::GetDlgItem(hWnd, IDC_EDIT_STATUS_MESSAGE_FORMAT));
diff --git a/protocols/CurrencyRates/src/CreateFilePath.cpp b/protocols/CurrencyRates/src/CreateFilePath.cpp
index 71490432a9..04621eca64 100644
--- a/protocols/CurrencyRates/src/CreateFilePath.cpp
+++ b/protocols/CurrencyRates/src/CreateFilePath.cpp
@@ -1,6 +1,6 @@
#include "StdAfx.h"
-tstring CreateFilePath(const tstring &rsName)
+std::wstring CreateFilePath(const std::wstring &rsName)
{
wchar_t szPath[_MAX_PATH];
::GetModuleFileName(g_plugin.getInst(), szPath, _MAX_PATH);
@@ -9,9 +9,9 @@ tstring CreateFilePath(const tstring &rsName)
if (p)
*p = 0;
- tstring s(rsName);
+ std::wstring s(rsName);
FixInvalidChars(s);
- tostringstream o;
+ std::wostringstream o;
o << szPath << L"\\CurrencyRates\\" << s;
return o.str();
} \ No newline at end of file
diff --git a/protocols/CurrencyRates/src/CreateFilePath.h b/protocols/CurrencyRates/src/CreateFilePath.h
index e4a88494fb..6f11a24601 100644
--- a/protocols/CurrencyRates/src/CreateFilePath.h
+++ b/protocols/CurrencyRates/src/CreateFilePath.h
@@ -1,6 +1,6 @@
#ifndef _aaf3bee6_cee7_4023_8848_5911ad7a9660_CreateFilePath_h__
#define _aaf3bee6_cee7_4023_8848_5911ad7a9660_CreateFilePath_h__
-tstring CreateFilePath(const tstring& rsName);
+std::wstring CreateFilePath(const std::wstring& rsName);
#endif //_aaf3bee6_cee7_4023_8848_5911ad7a9660_CreateFilePath_h__
diff --git a/protocols/CurrencyRates/src/CurrencyConverter.cpp b/protocols/CurrencyRates/src/CurrencyConverter.cpp
index e92efff053..e624f8233c 100644
--- a/protocols/CurrencyRates/src/CurrencyConverter.cpp
+++ b/protocols/CurrencyRates/src/CurrencyConverter.cpp
@@ -31,9 +31,9 @@ CCurrencyRateSection get_currencyrates(const CCurrencyRatesProviderCurrencyConve
return CCurrencyRateSection();
}
-inline tstring make_currencyrate_name(const CCurrencyRate &rCurrencyRate)
+inline std::wstring make_currencyrate_name(const CCurrencyRate &rCurrencyRate)
{
- const tstring &rsDesc = rCurrencyRate.GetName();
+ const std::wstring &rsDesc = rCurrencyRate.GetName();
return((false == rsDesc.empty()) ? rsDesc : rCurrencyRate.GetSymbol());
}
@@ -58,16 +58,16 @@ inline void update_swap_button(HWND hDlg)
EnableWindow(GetDlgItem(hDlg, IDC_BUTTON_SWAP), bEnableButton);
}
-inline tstring double2str(double dValue)
+inline std::wstring double2str(double dValue)
{
wchar_t str[40];
swprintf_s(str, L"%.2lf", dValue);
return str;
}
-inline bool str2double(const tstring& s, double& d)
+inline bool str2double(const std::wstring& s, double& d)
{
- tistringstream input(s);
+ std::wistringstream input(s);
input.imbue(GetSystemLocale());
input >> d;
return ((false == input.bad()) && (false == input.fail()));
@@ -89,15 +89,15 @@ INT_PTR CALLBACK CurrencyConverterDlgProc(HWND hDlg, UINT msg, WPARAM wp, LPARAM
HWND hcbxFrom = ::GetDlgItem(hDlg, IDC_COMBO_CONVERT_FROM);
HWND hcbxTo = ::GetDlgItem(hDlg, IDC_COMBO_CONVERT_INTO);
- tstring sFromCurrencyRateID = CurrencyRates_DBGetStringW(NULL, MODULENAME, DB_STR_CC_CURRENCYRATE_FROM_ID);
- tstring sToCurrencyRateID = CurrencyRates_DBGetStringW(NULL, MODULENAME, DB_STR_CC_CURRENCYRATE_TO_ID);
+ std::wstring sFromCurrencyRateID = CurrencyRates_DBGetStringW(NULL, MODULENAME, DB_STR_CC_CURRENCYRATE_FROM_ID);
+ std::wstring sToCurrencyRateID = CurrencyRates_DBGetStringW(NULL, MODULENAME, DB_STR_CC_CURRENCYRATE_TO_ID);
const auto pProvider = get_currency_converter_provider();
const auto& rSection = get_currencyrates(pProvider);
auto cCurrencyRates = rSection.GetCurrencyRateCount();
for (auto i = 0u; i < cCurrencyRates; ++i) {
const auto& rCurrencyRate = rSection.GetCurrencyRate(i);
- tstring sName = make_currencyrate_name(rCurrencyRate);
+ std::wstring sName = make_currencyrate_name(rCurrencyRate);
LPCTSTR pszName = sName.c_str();
LRESULT nFrom = ::SendMessage(hcbxFrom, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszName));
LRESULT nTo = ::SendMessage(hcbxTo, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszName));
@@ -116,7 +116,7 @@ INT_PTR CALLBACK CurrencyConverterDlgProc(HWND hDlg, UINT msg, WPARAM wp, LPARAM
::SetDlgItemText(hDlg, IDC_EDIT_VALUE, double2str(dAmount).c_str());
const ICurrencyRatesProvider::CProviderInfo& pi = pProvider->GetInfo();
- tostringstream o;
+ std::wostringstream o;
o << TranslateT("Info provided by") << L" <a href=\"" << pi.m_sURL << L"\">" << pi.m_sName << L"</a>";
::SetDlgItemText(hDlg, IDC_SYSLINK_PROVIDER, o.str().c_str());
@@ -179,7 +179,7 @@ INT_PTR CALLBACK CurrencyConverterDlgProc(HWND hDlg, UINT msg, WPARAM wp, LPARAM
case IDC_BUTTON_CONVERT:
{
HWND hwndAmount = GetDlgItem(hDlg, IDC_EDIT_VALUE);
- tstring sText = get_window_text(hwndAmount);
+ std::wstring sText = get_window_text(hwndAmount);
double dAmount = 1.0;
if ((true == str2double(sText, dAmount)) && (dAmount > 0.0)) {
diff --git a/protocols/CurrencyRates/src/CurrencyRateInfoDlg.cpp b/protocols/CurrencyRates/src/CurrencyRateInfoDlg.cpp
index b9feaf046b..cc4b1b2de8 100644
--- a/protocols/CurrencyRates/src/CurrencyRateInfoDlg.cpp
+++ b/protocols/CurrencyRates/src/CurrencyRateInfoDlg.cpp
@@ -36,7 +36,7 @@ INT_PTR CALLBACK CurrencyRateInfoDlgProcImpl(MCONTACT hContact, HWND hdlg, UINT
TranslateDialogDefault(hdlg);
{
- tstring sDescription = GetContactName(hContact);
+ std::wstring sDescription = GetContactName(hContact);
::SetDlgItemTextW(hdlg, IDC_STATIC_CURRENCYRATE_NAME, sDescription.c_str());
double dRate = 0.0;
@@ -62,7 +62,7 @@ INT_PTR CALLBACK CurrencyRateInfoDlgProcImpl(MCONTACT hContact, HWND hdlg, UINT
}
const ICurrencyRatesProvider::CProviderInfo& pi = GetContactProviderPtr(hContact)->GetInfo();
- tostringstream o;
+ std::wostringstream o;
o << TranslateT("Info provided by") << L" <a href=\"" << pi.m_sURL << L"\">" << pi.m_sName << L"</a>";
::SetDlgItemTextW(hdlg, IDC_SYSLINK_PROVIDER, o.str().c_str());
@@ -119,7 +119,7 @@ INT_PTR CurrencyRatesMenu_EditSettings(WPARAM wp, LPARAM)
namespace
{
- bool get_log_file(MCONTACT hContact, tstring& rsLogfile)
+ bool get_log_file(MCONTACT hContact, std::wstring& rsLogfile)
{
rsLogfile = GetContactLogFileName(hContact);
return ((rsLogfile.empty()) ? false : true);
@@ -132,7 +132,7 @@ INT_PTR CurrencyRatesMenu_OpenLogFile(WPARAM wp, LPARAM)
if (NULL == hContact)
return 0;
- tstring sLogFileName;
+ std::wstring sLogFileName;
if ((true == get_log_file(hContact, sLogFileName)) && (false == sLogFileName.empty()))
::ShellExecute(nullptr, L"open", sLogFileName.c_str(), nullptr, nullptr, SW_SHOWNORMAL);
@@ -239,7 +239,7 @@ int CurrencyRates_PrebuildContactMenu(WPARAM wp, LPARAM)
Menu_EnableItem(g_hMenuRefresh, true);
- tstring sLogFileName;
+ std::wstring sLogFileName;
bool bThereIsLogFile = (true == get_log_file(hContact, sLogFileName))
&& (false == sLogFileName.empty()) && (0 == _waccess(sLogFileName.c_str(), 04));
if (true == bThereIsLogFile) {
diff --git a/protocols/CurrencyRates/src/CurrencyRatesProviderBase.cpp b/protocols/CurrencyRates/src/CurrencyRatesProviderBase.cpp
index 912536150f..0d973d39eb 100644
--- a/protocols/CurrencyRates/src/CurrencyRatesProviderBase.cpp
+++ b/protocols/CurrencyRates/src/CurrencyRatesProviderBase.cpp
@@ -8,17 +8,17 @@ struct CXMLFileInfo
CXMLFileInfo() : m_qs(L"Unknown") {}
ICurrencyRatesProvider::CProviderInfo m_pi;
CCurrencyRateSection m_qs;
- tstring m_sURL;
+ std::wstring m_sURL;
};
-inline tstring get_ini_file_name(LPCTSTR pszFileName)
+inline std::wstring get_ini_file_name(LPCTSTR pszFileName)
{
return CreateFilePath(pszFileName);
}
bool parse_currencyrate(const TiXmlNode *pTop, CCurrencyRate &q)
{
- tstring sSymbol, sDescription, sID;
+ std::wstring sSymbol, sDescription, sID;
for (auto *pNode : TiXmlEnum(pTop)) {
const char *sName = pNode->Value();
@@ -45,7 +45,7 @@ bool parse_section(const TiXmlNode *pTop, CCurrencyRateSection &qs)
{
CCurrencyRateSection::TSections aSections;
CCurrencyRateSection::TCurrencyRates aCurrencyRates;
- tstring sSectionName;
+ std::wstring sSectionName;
for (auto *pNode : TiXmlEnum(pTop)) {
const char *sName = pNode->Value();
@@ -84,7 +84,7 @@ const TiXmlNode* find_provider(const TiXmlNode *pRoot)
return nullptr;
}
-CXMLFileInfo parse_ini_file(const tstring &rsXMLFile, bool &rbSucceded)
+CXMLFileInfo parse_ini_file(const std::wstring &rsXMLFile, bool &rbSucceded)
{
CXMLFileInfo res;
CCurrencyRateSection::TSections aSections;
@@ -118,7 +118,7 @@ CXMLFileInfo parse_ini_file(const tstring &rsXMLFile, bool &rbSucceded)
CXMLFileInfo init_xml_info(LPCTSTR pszFileName, bool& rbSucceded)
{
rbSucceded = false;
- tstring sIniFile = get_ini_file_name(pszFileName);
+ std::wstring sIniFile = get_ini_file_name(pszFileName);
return parse_ini_file(sIniFile, rbSucceded);
}
@@ -156,7 +156,7 @@ const CCurrencyRateSection& CCurrencyRatesProviderBase::GetCurrencyRates() const
return m_pXMLInfo->m_qs;
}
-const tstring& CCurrencyRatesProviderBase::GetURL() const
+const std::wstring& CCurrencyRatesProviderBase::GetURL() const
{
return m_pXMLInfo->m_sURL;
}
@@ -224,14 +224,14 @@ public:
public:
CTendency() : m_nComparison(NonValid) {}
- bool Parse(CCurrencyRatesProviderBase *pProvider, const tstring& rsFrmt, MCONTACT hContact)
+ bool Parse(CCurrencyRatesProviderBase *pProvider, const std::wstring& rsFrmt, MCONTACT hContact)
{
m_abValueFlags[0] = false;
m_abValueFlags[1] = false;
m_nComparison = NonValid;
bool bValid = true;
int nCurValue = 0;
- for (tstring::const_iterator i = rsFrmt.begin(); i != rsFrmt.end() && bValid && nCurValue < NumValues;) {
+ for (std::wstring::const_iterator i = rsFrmt.begin(); i != rsFrmt.end() && bValid && nCurValue < NumValues;) {
wchar_t chr = *i;
switch (chr) {
default:
@@ -333,11 +333,11 @@ private:
EComparison m_nComparison;
};
-tstring format_rate(const ICurrencyRatesProvider *pProvider, MCONTACT hContact, const tstring &rsFrmt)
+std::wstring format_rate(const ICurrencyRatesProvider *pProvider, MCONTACT hContact, const std::wstring &rsFrmt)
{
- tstring sResult;
+ std::wstring sResult;
- for (tstring::const_iterator i = rsFrmt.begin(); i != rsFrmt.end();) {
+ for (std::wstring::const_iterator i = rsFrmt.begin(); i != rsFrmt.end();) {
wchar_t chr = *i;
switch (chr) {
default:
@@ -390,15 +390,15 @@ tstring format_rate(const ICurrencyRatesProvider *pProvider, MCONTACT hContact,
void log_to_file(const ICurrencyRatesProvider *pProvider,
MCONTACT hContact,
- const tstring& rsLogFileName,
- const tstring& rsFormat)
+ const std::wstring& rsLogFileName,
+ const std::wstring& rsFormat)
{
CreatePathToFileW(rsLogFileName.c_str());
- tofstream file(rsLogFileName.c_str(), std::ios::app | std::ios::out);
+ std::wofstream file(rsLogFileName.c_str(), std::ios::app | std::ios::out);
file.imbue(GetSystemLocale());
if (file.good()) {
- tstring s = format_rate(pProvider, hContact, rsFormat);
+ std::wstring s = format_rate(pProvider, hContact, rsFormat);
file << s;
}
}
@@ -406,9 +406,9 @@ void log_to_file(const ICurrencyRatesProvider *pProvider,
void log_to_history(const ICurrencyRatesProvider *pProvider,
MCONTACT hContact,
time_t nTime,
- const tstring& rsFormat)
+ const std::wstring& rsFormat)
{
- tstring s = format_rate(pProvider, hContact, rsFormat);
+ std::wstring s = format_rate(pProvider, hContact, rsFormat);
T2Utf psz(s.c_str());
DBEVENTINFO dbei = {};
@@ -440,7 +440,7 @@ bool do_set_contact_extra_icon(MCONTACT hContact, const CTendency& tendency)
bool show_popup(const ICurrencyRatesProvider *pProvider,
MCONTACT hContact,
const CTendency& tendency,
- const tstring& rsFormat,
+ const std::wstring& rsFormat,
const CPopupSettings& ps)
{
POPUPDATAW ppd;
@@ -460,7 +460,7 @@ bool show_popup(const ICurrencyRatesProvider *pProvider,
mir_wstrncpy(ppd.lpwzContactName, pProvider->FormatSymbol(hContact, 's').c_str(), MAX_CONTACTNAME);
{
ptrW ss(variables_parsedup((wchar_t*)rsFormat.c_str(), nullptr, hContact));
- tstring sText = format_rate(pProvider, hContact, tstring(ss));
+ std::wstring sText = format_rate(pProvider, hContact, std::wstring(ss));
mir_wstrncpy(ppd.lpwzText, sText.c_str(), MAX_SECONDLINE);
}
@@ -494,7 +494,7 @@ bool show_popup(const ICurrencyRatesProvider *pProvider,
return (0 == PUAddPopupW(&ppd, lp));
}
-void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRate, const tstring& rsSymbol/* = ""*/)
+void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRate, const std::wstring& rsSymbol/* = ""*/)
{
time_t nTime = ::time(0);
@@ -509,12 +509,12 @@ void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRat
CurrencyRates_DBWriteDouble(hContact, MODULENAME, DB_STR_CURRENCYRATE_CURR_VALUE, dRate);
g_plugin.setDword(hContact, DB_STR_CURRENCYRATE_FETCH_TIME, nTime);
- tstring sSymbol = rsSymbol;
+ std::wstring sSymbol = rsSymbol;
- tostringstream oNick;
+ std::wostringstream oNick;
oNick.imbue(GetSystemLocale());
if (false == m_sContactListFormat.empty()) {
- tstring s = format_rate(this, hContact, m_sContactListFormat);
+ std::wstring s = format_rate(this, hContact, m_sContactListFormat);
oNick << s;
}
else {
@@ -530,7 +530,7 @@ void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRat
db_set_ws(hContact, LIST_MODULE_NAME, CONTACT_LIST_NAME, oNick.str().c_str());
- tstring sStatusMsg = format_rate(this, hContact, m_sStatusMsgFormat);
+ std::wstring sStatusMsg = format_rate(this, hContact, m_sStatusMsgFormat);
if (false == sStatusMsg.empty())
db_set_ws(hContact, LIST_MODULE_NAME, STATUS_MSG_NAME, sStatusMsg.c_str());
else
@@ -552,7 +552,7 @@ void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRat
bAdd = ((false == bValidPrev) || (false == IsWithinAccuracy(dRate, dPrev)));
}
if (true == bAdd) {
- tstring sLogFileName = (bUseContactSpecific)
+ std::wstring sLogFileName = (bUseContactSpecific)
? CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_LOG_FILE, global_settings.GetLogFileName().c_str())
: global_settings.GetLogFileName();
@@ -562,7 +562,7 @@ void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRat
sLogFileName = GenerateLogFileName(sLogFileName, sSymbol);
- tstring sFormat = global_settings.GetLogFormat();
+ std::wstring sFormat = global_settings.GetLogFormat();
if (bUseContactSpecific)
sFormat = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_LOG_FILE, DB_DEF_LogFormat);
@@ -579,7 +579,7 @@ void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRat
bAdd = ((false == bValidPrev) || (false == IsWithinAccuracy(dRate, dPrev)));
}
if (true == bAdd) {
- tstring sFormat = (bUseContactSpecific)
+ std::wstring sFormat = (bUseContactSpecific)
? CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_HISTORY, global_settings.GetHistoryFormat().c_str())
: global_settings.GetHistoryFormat();
@@ -593,7 +593,7 @@ void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRat
: global_settings.GetShowPopupIfValueChangedFlag();
if ((false == bOnlyIfChanged)
|| ((true == bOnlyIfChanged) && (true == bValidPrev) && (false == IsWithinAccuracy(dRate, dPrev)))) {
- tstring sFormat = (bUseContactSpecific)
+ std::wstring sFormat = (bUseContactSpecific)
? CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_POPUP, global_settings.GetPopupFormat().c_str())
: global_settings.GetPopupFormat();
@@ -606,12 +606,12 @@ void CCurrencyRatesProviderBase::WriteContactRate(MCONTACT hContact, double dRat
SetContactStatus(hContact, ID_STATUS_ONLINE);
}
-MCONTACT CCurrencyRatesProviderBase::CreateNewContact(const tstring& rsName)
+MCONTACT CCurrencyRatesProviderBase::CreateNewContact(const std::wstring& rsName)
{
MCONTACT hContact = db_add_contact();
Proto_AddToContact(hContact, MODULENAME);
- tstring sProvName = GetInfo().m_sName;
+ std::wstring sProvName = GetInfo().m_sName;
g_plugin.setWString(hContact, DB_STR_CURRENCYRATE_PROVIDER, sProvName.c_str());
g_plugin.setWString(hContact, DB_STR_CURRENCYRATE_SYMBOL, rsName.c_str());
db_set_ws(hContact, LIST_MODULE_NAME, CONTACT_LIST_NAME, rsName.c_str());
@@ -846,21 +846,21 @@ static bool get_fetch_time(MCONTACT hContact, time_t &rTime)
return true;
}
-static tstring format_fetch_time(MCONTACT hContact, const tstring &rsFormat)
+static std::wstring format_fetch_time(MCONTACT hContact, const std::wstring &rsFormat)
{
time_t nTime;
if (true == get_fetch_time(hContact, nTime)) {
boost::posix_time::ptime time = boost::date_time::c_local_adjustor<boost::posix_time::ptime>::utc_to_local(boost::posix_time::from_time_t(nTime));
- tostringstream k;
+ std::wostringstream k;
k.imbue(std::locale(GetSystemLocale(), new ttime_facet(rsFormat.c_str())));
k << time;
return k.str();
}
- return tstring();
+ return std::wstring();
}
-static tstring format_double(double dValue, int nWidth)
+static std::wstring format_double(double dValue, int nWidth)
{
wchar_t str[100], format[] = L"%.6lf";
if (nWidth > 0 && nWidth <= 9)
@@ -869,9 +869,9 @@ static tstring format_double(double dValue, int nWidth)
return str;
}
-tstring CCurrencyRatesProviderBase::FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth) const
+std::wstring CCurrencyRatesProviderBase::FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth) const
{
- tstring ret;
+ std::wstring ret;
double d = 0.0;
switch (c) {
@@ -894,7 +894,7 @@ tstring CCurrencyRatesProviderBase::FormatSymbol(MCONTACT hContact, wchar_t c, i
break;
case 't':
{
- tstring sFrmt = CurrencyRates_GetDateFormat(true);
+ std::wstring sFrmt = CurrencyRates_GetDateFormat(true);
sFrmt += L" ";
sFrmt += CurrencyRates_GetTimeFormat(true);
ret = format_fetch_time(hContact, sFrmt);
diff --git a/protocols/CurrencyRates/src/CurrencyRatesProviderBase.h b/protocols/CurrencyRates/src/CurrencyRatesProviderBase.h
index d407a9a709..f85887887f 100644
--- a/protocols/CurrencyRates/src/CurrencyRatesProviderBase.h
+++ b/protocols/CurrencyRates/src/CurrencyRatesProviderBase.h
@@ -7,17 +7,17 @@
class CCurrencyRate
{
public:
- CCurrencyRate(const tstring& rsID = L"", const tstring& rsSymbol = L"", const tstring& rsName = L"")
+ CCurrencyRate(const std::wstring& rsID = L"", const std::wstring& rsSymbol = L"", const std::wstring& rsName = L"")
: m_sSymbol(rsSymbol), m_sName(rsName), m_sID(rsID){}
- const tstring& GetSymbol() const{ return m_sSymbol; }
- const tstring& GetName() const{ return m_sName; }
- const tstring& GetID() const{ return m_sID; }
+ const std::wstring& GetSymbol() const{ return m_sSymbol; }
+ const std::wstring& GetName() const{ return m_sName; }
+ const std::wstring& GetID() const{ return m_sID; }
private:
- tstring m_sSymbol;
- tstring m_sName;
- tstring m_sID;
+ std::wstring m_sSymbol;
+ std::wstring m_sName;
+ std::wstring m_sID;
};
/////////////////////////////////////////////////////////////////////////////////////////
@@ -30,10 +30,10 @@ public:
typedef std::vector<CCurrencyRate> TCurrencyRates;
public:
- CCurrencyRateSection(const tstring& rsName = L"", const TSections& raSections = TSections(), const TCurrencyRates& raCurrencyRates = TCurrencyRates())
+ CCurrencyRateSection(const std::wstring& rsName = L"", const TSections& raSections = TSections(), const TCurrencyRates& raCurrencyRates = TCurrencyRates())
: m_sName(rsName), m_aSections(raSections), m_aCurrencyRates(raCurrencyRates){}
- const tstring& GetName() const
+ const std::wstring& GetName() const
{
return m_sName;
}
@@ -59,7 +59,7 @@ public:
}
private:
- tstring m_sName;
+ std::wstring m_sName;
TSections m_aSections;
TCurrencyRates m_aCurrencyRates;
};
@@ -77,9 +77,9 @@ class CCurrencyRatesProviderBase : public ICurrencyRatesProvider
HANDLE m_hEventSettingsChanged;
HANDLE m_hEventRefreshContact;
- tstring m_sContactListFormat;
- tstring m_sStatusMsgFormat;
- tstring m_sTendencyFormat;
+ std::wstring m_sContactListFormat;
+ std::wstring m_sStatusMsgFormat;
+ std::wstring m_sTendencyFormat;
TContacts m_aRefreshingContacts;
bool m_bRefreshInProgress;
@@ -103,14 +103,14 @@ public:
void FillFormat(TFormatSpecificators&) const override;
bool ParseSymbol(MCONTACT hContact, wchar_t c, double &d) override;
- tstring FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth = 0) const override;
+ std::wstring FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth = 0) const override;
protected:
- const tstring& GetURL() const;
- MCONTACT CreateNewContact(const tstring& rsName);
+ const std::wstring& GetURL() const;
+ MCONTACT CreateNewContact(const std::wstring& rsName);
static bool IsOnline();
static void SetContactStatus(MCONTACT hContact, int nNewStatus);
- void WriteContactRate(MCONTACT hContact, double dRate, const tstring& rsSymbol = L"");
+ void WriteContactRate(MCONTACT hContact, double dRate, const std::wstring& rsSymbol = L"");
virtual void RefreshCurrencyRates(TContacts &anContacts) = 0;
diff --git a/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.cpp b/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.cpp
index 531f54d428..ef439cb2fe 100644
--- a/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.cpp
+++ b/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.cpp
@@ -3,9 +3,9 @@
#include <boost\property_tree\ptree.hpp>
#include <boost\property_tree\json_parser.hpp>
-tstring build_url(const tstring &rsURL, const tstring &from, const tstring &to)
+std::wstring build_url(const std::wstring &rsURL, const std::wstring &from, const std::wstring &to)
{
- tostringstream o;
+ std::wostringstream o;
o << rsURL << L"?q=" << from << L"_" << to << "&compact=ultra";
ptrA szApiKey(g_plugin.getStringA(DB_KEY_ApiKey));
if (szApiKey != nullptr)
@@ -13,14 +13,14 @@ tstring build_url(const tstring &rsURL, const tstring &from, const tstring &to)
return o.str();
}
-tstring build_url(MCONTACT hContact, const tstring &rsURL)
+std::wstring build_url(MCONTACT hContact, const std::wstring &rsURL)
{
- tstring sFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
- tstring sTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
+ std::wstring sFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
+ std::wstring sTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
return build_url(rsURL, sFrom, sTo);
}
-bool parse_responce(const tstring &rsJSON, double &dRate)
+bool parse_responce(const std::wstring &rsJSON, double &dRate)
{
try {
boost::property_tree::ptree pt;
@@ -57,21 +57,21 @@ INT_PTR CALLBACK OptDlgProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lPara
return nullptr;
};
- auto make_currencyrate_name = [](const CCurrencyRate &rCurrencyRate)->tstring
+ auto make_currencyrate_name = [](const CCurrencyRate &rCurrencyRate)->std::wstring
{
- const tstring& rsDesc = rCurrencyRate.GetName();
+ const std::wstring& rsDesc = rCurrencyRate.GetName();
return((false == rsDesc.empty()) ? rsDesc : rCurrencyRate.GetSymbol());
};
- auto make_contact_name = [](const tstring &rsSymbolFrom, const tstring &rsSymbolTo)->tstring
+ auto make_contact_name = [](const std::wstring &rsSymbolFrom, const std::wstring &rsSymbolTo)->std::wstring
{
- tostringstream o;
+ std::wostringstream o;
o << rsSymbolFrom << L"/" << rsSymbolTo;
return o.str();
};
- auto make_rate_name = [make_contact_name](const CCurrencyRatesProviderCurrencyConverter::TRateInfo &ri)->tstring
+ auto make_rate_name = [make_contact_name](const CCurrencyRatesProviderCurrencyConverter::TRateInfo &ri)->std::wstring
{
if ((false == ri.first.GetName().empty()) && (false == ri.second.GetName().empty()))
return make_contact_name(ri.first.GetName(), ri.second.GetName());
@@ -140,7 +140,7 @@ INT_PTR CALLBACK OptDlgProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lPara
auto cCurrencyRates = rSection.GetCurrencyRateCount();
for (auto i = 0u; i < cCurrencyRates; ++i) {
const auto& rCurrencyRate = rSection.GetCurrencyRate(i);
- tstring sName = make_currencyrate_name(rCurrencyRate);
+ std::wstring sName = make_currencyrate_name(rCurrencyRate);
LPCTSTR pszName = sName.c_str();
::SendMessage(hcbxFrom, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszName));
::SendMessage(hcbxTo, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszName));
@@ -151,7 +151,7 @@ INT_PTR CALLBACK OptDlgProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lPara
CCurrencyRatesProviderCurrencyConverter::TRateInfo ri;
if (true == pProvider->GetWatchedRateInfo(i, ri)) {
g_aWatchedRates.push_back(ri);
- tstring sRate = make_rate_name(ri);
+ std::wstring sRate = make_rate_name(ri);
LPCTSTR pszRateName = sRate.c_str();
::SendDlgItemMessage(hdlg, IDC_LIST_RATES, LB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszRateName));
}
@@ -207,7 +207,7 @@ INT_PTR CALLBACK OptDlgProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lPara
g_aWatchedRates.push_back(ri);
- tstring sRate = make_rate_name(ri);
+ std::wstring sRate = make_rate_name(ri);
LPCTSTR pszRateName = sRate.c_str();
::SendDlgItemMessage(hdlg, IDC_LIST_RATES, LB_ADDSTRING, 0, reinterpret_cast<LPARAM>(pszRateName));
PropSheet_Changed(::GetParent(hdlg), hdlg);
@@ -261,14 +261,14 @@ void CCurrencyRatesProviderCurrencyConverter::ShowPropertyPage(WPARAM wp, OPTION
void CCurrencyRatesProviderCurrencyConverter::RefreshCurrencyRates(TContacts &anContacts)
{
CHTTPSession http;
- tstring sURL = GetURL();
+ std::wstring sURL = GetURL();
for (TContacts::const_iterator i = anContacts.begin(); i != anContacts.end() && IsOnline(); ++i) {
MCONTACT hContact = *i;
- tstring sFullURL = build_url(hContact, sURL);
+ std::wstring sFullURL = build_url(hContact, sURL);
if ((true == http.OpenURL(sFullURL)) && (true == IsOnline())) {
- tstring sHTML;
+ std::wstring sHTML;
if ((true == http.ReadResponce(sHTML)) && (true == IsOnline())) {
double dRate = 0.0;
if ((true == parse_responce(sHTML, dRate)) && (true == IsOnline())) {
@@ -284,11 +284,11 @@ void CCurrencyRatesProviderCurrencyConverter::RefreshCurrencyRates(TContacts &an
double CCurrencyRatesProviderCurrencyConverter::Convert(double dAmount, const CCurrencyRate &from, const CCurrencyRate &to) const
{
- tstring sFullURL = build_url(GetURL(), from.GetID(), to.GetID());
+ std::wstring sFullURL = build_url(GetURL(), from.GetID(), to.GetID());
CHTTPSession http;
if ((true == http.OpenURL(sFullURL))) {
- tstring sHTML;
+ std::wstring sHTML;
if ((true == http.ReadResponce(sHTML))) {
double dResult = 0.0;
if ((true == parse_responce(sHTML, dResult)))
@@ -314,10 +314,10 @@ bool CCurrencyRatesProviderCurrencyConverter::GetWatchedRateInfo(size_t nIndex,
return false;
MCONTACT hContact = m_aContacts[nIndex];
- tstring sSymbolFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
- tstring sSymbolTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
- tstring sDescFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_DESCRIPTION);
- tstring sDescTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_DESCRIPTION);
+ std::wstring sSymbolFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
+ std::wstring sSymbolTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
+ std::wstring sDescFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_DESCRIPTION);
+ std::wstring sDescTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_DESCRIPTION);
rRateInfo.first = CCurrencyRate(sSymbolFrom, sSymbolFrom, sDescFrom);
rRateInfo.second = CCurrencyRate(sSymbolTo, sSymbolTo, sDescTo);
@@ -328,22 +328,22 @@ bool CCurrencyRatesProviderCurrencyConverter::WatchForRate(const TRateInfo &ri,
{
auto i = std::find_if(m_aContacts.begin(), m_aContacts.end(), [&ri](auto hContact)->bool
{
- tstring sFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
- tstring sTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
+ std::wstring sFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
+ std::wstring sTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
return ((0 == mir_wstrcmpi(ri.first.GetID().c_str(), sFrom.c_str()))
&& (0 == mir_wstrcmpi(ri.second.GetID().c_str(), sTo.c_str())));
});
- auto make_contact_name = [](const tstring &rsSymbolFrom, const tstring &rsSymbolTo)->tstring
+ auto make_contact_name = [](const std::wstring &rsSymbolFrom, const std::wstring &rsSymbolTo)->std::wstring
{
- tostringstream o;
+ std::wostringstream o;
o << rsSymbolFrom << L"/" << rsSymbolTo;
return o.str();
};
if ((true == bWatch) && (i == m_aContacts.end())) {
- tstring sName = make_contact_name(ri.first.GetSymbol(), ri.second.GetSymbol());
+ std::wstring sName = make_contact_name(ri.first.GetSymbol(), ri.second.GetSymbol());
MCONTACT hContact = CreateNewContact(sName);
if (hContact) {
g_plugin.setWString(hContact, DB_STR_FROM_ID, ri.first.GetID().c_str());
@@ -372,14 +372,14 @@ bool CCurrencyRatesProviderCurrencyConverter::WatchForRate(const TRateInfo &ri,
return false;
}
-MCONTACT CCurrencyRatesProviderCurrencyConverter::GetContactByID(const tstring& rsFromID, const tstring& rsToID) const
+MCONTACT CCurrencyRatesProviderCurrencyConverter::GetContactByID(const std::wstring& rsFromID, const std::wstring& rsToID) const
{
mir_cslock lck(m_cs);
auto i = std::find_if(m_aContacts.begin(), m_aContacts.end(), [rsFromID, rsToID](MCONTACT hContact)->bool
{
- tstring sFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
- tstring sTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
+ std::wstring sFrom = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_FROM_ID);
+ std::wstring sTo = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_TO_ID);
return ((0 == mir_wstrcmpi(rsFromID.c_str(), sFrom.c_str())) && (0 == mir_wstrcmpi(rsToID.c_str(), sTo.c_str())));
});
@@ -400,7 +400,7 @@ void CCurrencyRatesProviderCurrencyConverter::FillFormat(TFormatSpecificators &a
array.push_back(CFormatSpecificator(L"%s", TranslateT("Short notation for \"%f/%i\"")));
}
-tstring CCurrencyRatesProviderCurrencyConverter::FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth) const
+std::wstring CCurrencyRatesProviderCurrencyConverter::FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth) const
{
switch (c) {
case 'F':
diff --git a/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.h b/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.h
index bb65f08737..4b8e15be05 100644
--- a/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.h
+++ b/protocols/CurrencyRates/src/CurrencyRatesProviderCurrencyConverter.h
@@ -20,7 +20,7 @@ public:
size_t GetWatchedRateCount() const;
bool GetWatchedRateInfo(size_t nIndex, TRateInfo &rRateInfo);
bool WatchForRate(const TRateInfo &ri, bool bWatch);
- MCONTACT GetContactByID(const tstring &rsFromID, const tstring &rsToID) const;
+ MCONTACT GetContactByID(const std::wstring &rsFromID, const std::wstring &rsToID) const;
private:
void FillFormat(TFormatSpecificators &) const override;
@@ -28,5 +28,5 @@ private:
void ShowPropertyPage(WPARAM wp, OPTIONSDIALOGPAGE &odp) override;
MCONTACT ImportContact(const TiXmlNode*) override;
- tstring FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth) const override;
+ std::wstring FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth) const override;
};
diff --git a/protocols/CurrencyRates/src/CurrencyRatesProviders.cpp b/protocols/CurrencyRates/src/CurrencyRatesProviders.cpp
index 2dcda4244a..1b35055c26 100644
--- a/protocols/CurrencyRates/src/CurrencyRatesProviders.cpp
+++ b/protocols/CurrencyRates/src/CurrencyRatesProviders.cpp
@@ -62,7 +62,7 @@ ICurrencyRatesProvider* GetContactProviderPtr(MCONTACT hContact)
if (nullptr == szProto || 0 != ::_stricmp(szProto, MODULENAME))
return nullptr;
- tstring sProvider = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_PROVIDER);
+ std::wstring sProvider = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_PROVIDER);
if (true == sProvider.empty())
return nullptr;
@@ -71,7 +71,7 @@ ICurrencyRatesProvider* GetContactProviderPtr(MCONTACT hContact)
/////////////////////////////////////////////////////////////////////////////////////////
-ICurrencyRatesProvider* FindProvider(const tstring& rsName)
+ICurrencyRatesProvider* FindProvider(const std::wstring& rsName)
{
for (auto &pProvider : g_apProviders) {
const ICurrencyRatesProvider::CProviderInfo& rInfo = pProvider->GetInfo();
diff --git a/protocols/CurrencyRates/src/DBUtils.cpp b/protocols/CurrencyRates/src/DBUtils.cpp
index 20189c0f3f..acc4debddb 100644
--- a/protocols/CurrencyRates/src/DBUtils.cpp
+++ b/protocols/CurrencyRates/src/DBUtils.cpp
@@ -35,7 +35,7 @@ bool CurrencyRates_DBReadDouble(MCONTACT hContact, const char *szModule, const c
return bResult;
}
-void FixInvalidChars(tstring &s)
+void FixInvalidChars(std::wstring &s)
{
for (auto &c : s)
if (wcschr(L"\\/:*?\"<>|", c))
diff --git a/protocols/CurrencyRates/src/DBUtils.h b/protocols/CurrencyRates/src/DBUtils.h
index f6c7f83b71..4ff975d0f1 100644
--- a/protocols/CurrencyRates/src/DBUtils.h
+++ b/protocols/CurrencyRates/src/DBUtils.h
@@ -41,7 +41,7 @@
#define DB_KEY_TendencyFormat "CC_TendencyFormat"
#define DB_DEF_TendencyFormat L"%r>%p"
-void FixInvalidChars(tstring &s);
+void FixInvalidChars(std::wstring &s);
std::wstring GetNodeText(const TiXmlElement*);
diff --git a/protocols/CurrencyRates/src/Forex.cpp b/protocols/CurrencyRates/src/Forex.cpp
index e83c319bc8..406787f59d 100644
--- a/protocols/CurrencyRates/src/Forex.cpp
+++ b/protocols/CurrencyRates/src/Forex.cpp
@@ -293,9 +293,6 @@ void CurrencyRates_IconsInit();
int CMPlugin::Load(void)
{
- if (!CModuleInfo::Verify())
- return 1;
-
CurrencyRates_IconsInit();
CurrencyRates_InitExtraIcons();
diff --git a/protocols/CurrencyRates/src/HTMLParserMS.cpp b/protocols/CurrencyRates/src/HTMLParserMS.cpp
deleted file mode 100644
index a712d7589f..0000000000
--- a/protocols/CurrencyRates/src/HTMLParserMS.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-#include "StdAfx.h"
-
-using _com_util::CheckError;
-
-class CHTMLNode : public IHTMLNode
-{
-public:
- typedef CComPtr<IDispatch> TComPtr;
- typedef CComPtr<IHTMLDocument3> TDocumentPtr;
-
-protected:
- typedef CComPtr<IHTMLElementCollection> TElementCollectionPtr;
-
-public:
- CHTMLNode(const TComPtr& pElement, const TDocumentPtr& pDocument)
- : m_pElement(pElement), m_pDocument(pDocument)
- {
- }
-
- virtual THTMLNodePtr GetElementByID(const tstring& rsID) const
- {
- if (m_pDocument) {
- CComPtr<IHTMLElement> pElement;
- if (SUCCEEDED(m_pDocument->getElementById(bstr_t(rsID.c_str()), &pElement))
- && pElement) {
- TComPtr p(pElement);
- return THTMLNodePtr(new CHTMLNode(p, m_pDocument));
- }
- }
-
- return THTMLNodePtr();
- }
-
- virtual size_t GetChildCount() const
- {
- TElementCollectionPtr pColl = GetElementCollectionPtr();
- if (pColl) {
- LONG celem = 0;
- HRESULT hr = pColl->get_length(&celem);
- if (S_OK == hr)
- return celem;
- }
-
- return 0;
- }
-
- virtual THTMLNodePtr GetChildPtr(size_t nIndex)
- {
- TElementCollectionPtr pColl = GetElementCollectionPtr();
- if (pColl) {
- VARIANT varIndex;
- varIndex.vt = VT_UINT;
- varIndex.lVal = (LONG)nIndex;
- VARIANT var2;
- VariantInit(&var2);
- TComPtr pDisp;
- HRESULT hr = pColl->item(varIndex, var2, &pDisp);
- if (S_OK == hr && pDisp)
- return THTMLNodePtr(new CHTMLNode(pDisp, m_pDocument));
- }
-
- return THTMLNodePtr();
- }
-
- virtual bool Is(EType nType) const
- {
- switch (nType) {
- case Table:
- {
- CComPtr<IHTMLTable> pTable;
- return (SUCCEEDED(m_pElement->QueryInterface(IID_IHTMLTable, reinterpret_cast<void**>(&pTable))) && (pTable));
- }
- case TableRow:
- {
- CComPtr<IHTMLTableRow> pRow;
- return (SUCCEEDED(m_pElement->QueryInterface(IID_IHTMLTableRow, reinterpret_cast<void**>(&pRow))) && (pRow));
- }
- case TableColumn:
- {
- CComPtr<IHTMLTableCol> pCol;
- return (SUCCEEDED(m_pElement->QueryInterface(IID_IHTMLTableCol, reinterpret_cast<void**>(&pCol))) && (pCol));
- }
- }
-
- return false;
- }
-
- virtual tstring GetAttribute(const tstring& rsAttrName) const
- {
- tstring sAttr;
- CComPtr<IHTMLElement> pElement;
- if (SUCCEEDED(m_pElement->QueryInterface(IID_IHTMLElement, reinterpret_cast<void**>(&pElement))) && pElement) {
- _variant_t vAttribute;
- BSTR pbstrAttrName = ::SysAllocString(rsAttrName.c_str());
- if (SUCCEEDED(pElement->getAttribute(pbstrAttrName, 1, &vAttribute)) && VT_NULL != vAttribute.vt && VT_EMPTY != vAttribute.vt) {
- try {
- _bstr_t b(vAttribute);
- LPCTSTR psz = b;
- if (psz)
- sAttr = psz;
- }
- catch (_com_error&) {
- }
- }
- ::SysFreeString(pbstrAttrName);
- }
-
- return sAttr;
- }
-
- virtual tstring GetText() const
- {
- tstring sText;
- CComPtr<IHTMLElement> pElement;
- if (SUCCEEDED(m_pElement->QueryInterface(IID_IHTMLElement, reinterpret_cast<void**>(&pElement))) && pElement) {
- BSTR bstrText;
- if (SUCCEEDED(pElement->get_innerText(&bstrText)) && bstrText) {
- try {
- sText = _bstr_t(bstrText);
- }
- catch (_com_error&) {
- }
-
- ::SysFreeString(bstrText);
- }
- }
-
- return sText;
- }
-
-protected:
- virtual TElementCollectionPtr GetElementCollectionPtr() const
- {
- TElementCollectionPtr pColl;
- HRESULT hr = m_pElement->QueryInterface(IID_IHTMLElementCollection, reinterpret_cast<void**>(&pColl));
- if (FAILED(hr)) {
- CComPtr<IHTMLElement> pElement;
- if (SUCCEEDED(m_pElement->QueryInterface(IID_IHTMLElement, reinterpret_cast<void**>(&pElement))) && pElement) {
- CComPtr<IDispatch> pDisp;
- if (SUCCEEDED(pElement->get_children(&pDisp)) && pDisp)
- pDisp->QueryInterface(IID_IHTMLElementCollection, reinterpret_cast<void**>(&pColl));
- }
- }
-
- return pColl;
- }
-
-private:
- TComPtr m_pElement;
- TDocumentPtr m_pDocument;
-};
-
-CHTMLParserMS::CHTMLParserMS() : m_bCallUninit(false)
-{
- try {
- CheckError(::CoInitialize(nullptr));
-
- m_bCallUninit = true;
-
- _com_util::CheckError(
- ::CoCreateInstance(CLSID_HTMLDocument,
- nullptr,
- CLSCTX_INPROC_SERVER,
- IID_IHTMLDocument2,
- (LPVOID*)&m_pDoc)
- );
-
- CComPtr<IPersistStreamInit> pPersist;
- _com_util::CheckError(m_pDoc->QueryInterface(IID_IPersistStreamInit,
- (LPVOID*)&pPersist));
-
- _com_util::CheckError(pPersist->InitNew());
-
- _com_util::CheckError(m_pDoc->QueryInterface(IID_IMarkupServices,
- (LPVOID*)&m_pMS));
-
- if (m_pMS) {
- _com_util::CheckError(m_pMS->CreateMarkupPointer(&m_pMkStart));
- _com_util::CheckError(m_pMS->CreateMarkupPointer(&m_pMkFinish));
- }
- }
- catch (_com_error&/* e*/) {
- // show_com_error_msg(e);
- }
-}
-
-CHTMLParserMS::~CHTMLParserMS()
-{
- if (m_bCallUninit)
- ::CoUninitialize();
-}
-
-CHTMLParserMS::THTMLNodePtr CHTMLParserMS::ParseString(const tstring& rsHTML)
-{
- mir_cslock lck(m_cs);
-
- CComPtr<IMarkupContainer> pMC;
- HRESULT hr = m_pMS->ParseString((OLECHAR*)rsHTML.c_str(), 0, &pMC, m_pMkStart, m_pMkFinish);
- if (SUCCEEDED(hr) && pMC) {
- CComPtr<IHTMLDocument2> pNewDoc;
- hr = pMC->QueryInterface(IID_IHTMLDocument, (LPVOID*)&pNewDoc);
- if (SUCCEEDED(hr) && pNewDoc) {
- CComPtr<IHTMLElementCollection> pColl;
- pNewDoc->get_all(&pColl);
-
- CHTMLNode::TDocumentPtr pDoc;
- pMC->QueryInterface(IID_IHTMLDocument3, (LPVOID*)&pDoc);
- return THTMLNodePtr(new CHTMLNode(CHTMLNode::TComPtr(pColl), pDoc));
- }
- }
-
- return THTMLNodePtr();
-}
-
-bool CHTMLParserMS::IsInstalled()
-{
- bool bResult = true;
- bool bCallUninit = false;
- try {
- CheckError(::CoInitialize(nullptr));
-
- bCallUninit = true;
-
- CComPtr<IHTMLDocument2> pDoc;
- _com_util::CheckError(
- ::CoCreateInstance(CLSID_HTMLDocument,
- nullptr,
- CLSCTX_INPROC_SERVER,
- IID_IHTMLDocument2,
- reinterpret_cast<LPVOID*>(&pDoc))
- );
- }
- catch (_com_error&/* e*/) {
- bResult = false;
- }
-
- if (bCallUninit)
- ::CoUninitialize();
-
- return bResult;
-}
-
-CHTMLEngineMS::CHTMLEngineMS()
-{
-}
-
-CHTMLEngineMS::~CHTMLEngineMS()
-{
-}
-
-CHTMLEngineMS::THTMLParserPtr CHTMLEngineMS::GetParserPtr() const
-{
- return THTMLParserPtr(new CHTMLParserMS);
-}
diff --git a/protocols/CurrencyRates/src/HTMLParserMS.h b/protocols/CurrencyRates/src/HTMLParserMS.h
deleted file mode 100644
index 6b2ceb26d8..0000000000
--- a/protocols/CurrencyRates/src/HTMLParserMS.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __3c99e3f7_ecd9_4d9b_8f86_fe293c5fc8e6_HTMLParserMS_h__
-#define __3c99e3f7_ecd9_4d9b_8f86_fe293c5fc8e6_HTMLParserMS_h__
-
-class CHTMLParserMS : public IHTMLParser
-{
-public:
- CHTMLParserMS();
- ~CHTMLParserMS();
-
- virtual THTMLNodePtr ParseString(const tstring& rsHTML);
-
- static bool IsInstalled();
-
-private:
- bool m_bCallUninit;
- CComPtr<IHTMLDocument2> m_pDoc;
- CComPtr<IMarkupServices> m_pMS;
- CComPtr<IMarkupPointer> m_pMkStart;
- CComPtr<IMarkupPointer> m_pMkFinish;
- mutable mir_cs m_cs;
-};
-
-class CHTMLEngineMS : public IHTMLEngine
-{
-public:
- CHTMLEngineMS();
- ~CHTMLEngineMS();
-
- virtual THTMLParserPtr GetParserPtr() const;
-};
-
-#endif //__3c99e3f7_ecd9_4d9b_8f86_fe293c5fc8e6_HTMLParserMS_h__
diff --git a/protocols/CurrencyRates/src/HTTPSession.cpp b/protocols/CurrencyRates/src/HTTPSession.cpp
index 6227f1b12a..12b556ab38 100644
--- a/protocols/CurrencyRates/src/HTTPSession.cpp
+++ b/protocols/CurrencyRates/src/HTTPSession.cpp
@@ -19,14 +19,14 @@ static int find_header(const NETLIBHTTPREQUEST* pRequest, const char* hdr)
return -1;
}
-bool CHTTPSession::OpenURL(const tstring &rsURL)
+bool CHTTPSession::OpenURL(const std::wstring &rsURL)
{
std::string s = currencyrates_t2a(rsURL.c_str());
m_szUrl = s.c_str();
return true;
}
-bool CHTTPSession::ReadResponce(tstring &rsResponce)
+bool CHTTPSession::ReadResponce(std::wstring &rsResponce)
{
if (m_szUrl.IsEmpty())
return false;
diff --git a/protocols/CurrencyRates/src/HTTPSession.h b/protocols/CurrencyRates/src/HTTPSession.h
index 9928c58304..35cdbcee63 100644
--- a/protocols/CurrencyRates/src/HTTPSession.h
+++ b/protocols/CurrencyRates/src/HTTPSession.h
@@ -13,8 +13,8 @@ public:
static bool Init();
- bool OpenURL(const tstring &rsURL);
- bool ReadResponce(tstring &rsResponce);
+ bool OpenURL(const std::wstring &rsURL);
+ bool ReadResponce(std::wstring &rsResponce);
};
#endif //__8C9706FF_6B05_4d0d_85B8_5724E5DC0BA4_HTTPSession_h__
diff --git a/protocols/CurrencyRates/src/ICurrencyRatesProvider.h b/protocols/CurrencyRates/src/ICurrencyRatesProvider.h
index a80cae3088..7c91e60ac1 100644
--- a/protocols/CurrencyRates/src/ICurrencyRatesProvider.h
+++ b/protocols/CurrencyRates/src/ICurrencyRatesProvider.h
@@ -8,7 +8,7 @@ class CCurrencyRatesProviderVisitor;
/////////////////////////////////////////////////////////////////////////////////////////
// CFormatSpecificator - array of variables to replace
-using CFormatSpecificator = std::pair<tstring, tstring>;
+using CFormatSpecificator = std::pair<std::wstring, std::wstring>;
typedef std::vector<CFormatSpecificator> TFormatSpecificators;
/////////////////////////////////////////////////////////////////////////////////////////
@@ -19,8 +19,8 @@ class ICurrencyRatesProvider : private boost::noncopyable
public:
struct CProviderInfo
{
- tstring m_sName;
- tstring m_sURL;
+ std::wstring m_sName;
+ std::wstring m_sURL;
};
public:
@@ -42,7 +42,7 @@ public:
virtual void FillFormat(TFormatSpecificators&) const = 0;
virtual bool ParseSymbol(MCONTACT hContact, wchar_t c, double &d) = 0;
- virtual tstring FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth = 0) const = 0;
+ virtual std::wstring FormatSymbol(MCONTACT hContact, wchar_t c, int nWidth = 0) const = 0;
virtual void Run() = 0;
};
@@ -52,7 +52,7 @@ public:
typedef std::vector<ICurrencyRatesProvider*> TCurrencyRatesProviders;
extern TCurrencyRatesProviders g_apProviders;
-ICurrencyRatesProvider* FindProvider(const tstring& rsName);
+ICurrencyRatesProvider* FindProvider(const std::wstring& rsName);
ICurrencyRatesProvider* GetContactProviderPtr(MCONTACT hContact);
void InitProviders();
diff --git a/protocols/CurrencyRates/src/IHTMLEngine.h b/protocols/CurrencyRates/src/IHTMLEngine.h
deleted file mode 100644
index 6cc9defce7..0000000000
--- a/protocols/CurrencyRates/src/IHTMLEngine.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef __85dbfa97_919b_4776_919c_7410a1c3d787_HTMLEngine_h__
-#define __85dbfa97_919b_4776_919c_7410a1c3d787_HTMLEngine_h__
-
-class IHTMLParser;
-
-class IHTMLEngine
-{
-public:
- typedef boost::shared_ptr<IHTMLParser> THTMLParserPtr;
-
-public:
- IHTMLEngine(void){}
- virtual ~IHTMLEngine() {}
-
- virtual THTMLParserPtr GetParserPtr() const = 0;
-};
-
-#endif //__85dbfa97_919b_4776_919c_7410a1c3d787_HTMLEngine_h__
diff --git a/protocols/CurrencyRates/src/IHTMLParser.h b/protocols/CurrencyRates/src/IHTMLParser.h
deleted file mode 100644
index c0b97a7277..0000000000
--- a/protocols/CurrencyRates/src/IHTMLParser.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __98ad6d6d_2a27_43fd_bf3e_c18416a45e54_IHTMLParser_h__
-#define __98ad6d6d_2a27_43fd_bf3e_c18416a45e54_IHTMLParser_h__
-
-class IHTMLNode
-{
-public:
- typedef boost::shared_ptr<IHTMLNode> THTMLNodePtr;
-
- enum EType
- {
- Table = 1,
- TableRow,
- TableColumn
- };
-
-public:
- IHTMLNode() {}
- virtual ~IHTMLNode() {}
-
- virtual size_t GetChildCount() const = 0;
- virtual THTMLNodePtr GetChildPtr(size_t nIndex) = 0;
- virtual bool Is(EType nType) const = 0;
-
- virtual THTMLNodePtr GetElementByID(const tstring& rsID) const = 0;
-
- virtual tstring GetAttribute(const tstring& rsAttrName) const = 0;
- virtual tstring GetText() const = 0;
-};
-
-class IHTMLParser
-{
-public:
- typedef IHTMLNode::THTMLNodePtr THTMLNodePtr;
-public:
- IHTMLParser() {}
- virtual ~IHTMLParser() {}
-
- virtual THTMLNodePtr ParseString(const tstring& rsHTML) = 0;
-};
-
-#endif //__98ad6d6d_2a27_43fd_bf3e_c18416a45e54_IHTMLParser_h__
diff --git a/protocols/CurrencyRates/src/ImportExport.cpp b/protocols/CurrencyRates/src/ImportExport.cpp
index fb78dd038b..fbdb257d32 100644
--- a/protocols/CurrencyRates/src/ImportExport.cpp
+++ b/protocols/CurrencyRates/src/ImportExport.cpp
@@ -161,7 +161,7 @@ LPCTSTR prepare_filter(LPTSTR pszBuffer, size_t cBuffer)
return pszBuffer;
}
-bool show_open_file_dialog(bool bOpen, tstring& rsFile)
+bool show_open_file_dialog(bool bOpen, std::wstring& rsFile)
{
wchar_t szBuffer[MAX_PATH];
wchar_t szFilter[MAX_PATH];
@@ -198,7 +198,7 @@ bool show_open_file_dialog(bool bOpen, tstring& rsFile)
INT_PTR CurrencyRates_Export(WPARAM wp, LPARAM lp)
{
- tstring sFileName;
+ std::wstring sFileName;
const char* pszFile = reinterpret_cast<const char*>(lp);
if (nullptr == pszFile) {
if (false == show_open_file_dialog(false, sFileName))
@@ -485,7 +485,7 @@ bool do_import(const TiXmlNode *pXmlRoot, UINT nFlags)
INT_PTR CurrencyRates_Import(WPARAM wp, LPARAM lp)
{
- tstring sFileName;
+ std::wstring sFileName;
const char* pszFile = reinterpret_cast<const char*>(lp);
if (nullptr == pszFile) {
if (false == show_open_file_dialog(true, sFileName))
diff --git a/protocols/CurrencyRates/src/Locale.cpp b/protocols/CurrencyRates/src/Locale.cpp
index 501015eb21..0e112749c4 100644
--- a/protocols/CurrencyRates/src/Locale.cpp
+++ b/protocols/CurrencyRates/src/Locale.cpp
@@ -5,9 +5,9 @@ const std::locale GetSystemLocale()
return std::locale("");
}
-tstring get_int_registry_value(LPCTSTR pszValueName)
+std::wstring get_int_registry_value(LPCTSTR pszValueName)
{
- tstring sResult;
+ std::wstring sResult;
HKEY hKey = nullptr;
LONG lResult = ::RegOpenKeyEx(HKEY_CURRENT_USER,
L"Control Panel\\International", 0, KEY_QUERY_VALUE, &hKey);
@@ -31,7 +31,7 @@ tstring get_int_registry_value(LPCTSTR pszValueName)
return sResult;
}
-LPCTSTR date_win_2_boost(const tstring& sFrmt)
+LPCTSTR date_win_2_boost(const std::wstring& sFrmt)
{
if (sFrmt == L"dd/MM/yy")
return L"%d/%m/%y";
@@ -40,7 +40,7 @@ LPCTSTR date_win_2_boost(const tstring& sFrmt)
return L"%d.%m.%y";
}
-LPCTSTR time_win_2_boost(const tstring& sFrmt)
+LPCTSTR time_win_2_boost(const std::wstring& sFrmt)
{
if (sFrmt == L"H:mm" || sFrmt == L"HH:mm")
return L"%H:%M";
diff --git a/protocols/CurrencyRates/src/Log.cpp b/protocols/CurrencyRates/src/Log.cpp
index 7930ac5f4f..e0a4141a49 100644
--- a/protocols/CurrencyRates/src/Log.cpp
+++ b/protocols/CurrencyRates/src/Log.cpp
@@ -4,7 +4,7 @@ namespace
{
mir_cs g_Mutex;
- tstring get_log_file_name()
+ std::wstring get_log_file_name()
{
return CreateFilePath(L"CurrencyRates.log");
}
@@ -18,10 +18,10 @@ namespace
#endif
}
- void do_log(const tstring& rsFileName, const tstring& rsMsg)
+ void do_log(const std::wstring& rsFileName, const std::wstring& rsMsg)
{
mir_cslock lck(g_Mutex);
- tofstream file(rsFileName.c_str(), std::ios::ate | std::ios::app);
+ std::wofstream file(rsFileName.c_str(), std::ios::ate | std::ios::app);
if (file.good())
{
wchar_t szTime[20];
@@ -31,11 +31,11 @@ namespace
}
}
-void LogIt(const tstring& rsMsg)
+void LogIt(const std::wstring& rsMsg)
{
if (is_log_enabled())
{
- tstring sFileName = get_log_file_name();
+ std::wstring sFileName = get_log_file_name();
do_log(sFileName, rsMsg);
}
}
diff --git a/protocols/CurrencyRates/src/Log.h b/protocols/CurrencyRates/src/Log.h
index b62ae9ac52..e8eab88533 100644
--- a/protocols/CurrencyRates/src/Log.h
+++ b/protocols/CurrencyRates/src/Log.h
@@ -8,6 +8,6 @@ enum ESeverity
Error
};
-void LogIt(const tstring& rsMsg);
+void LogIt(const std::wstring& rsMsg);
#endif //__653719be_16d6_4058_8555_8aa7d5404214_OutputDlg_h__
diff --git a/protocols/CurrencyRates/src/ModuleInfo.cpp b/protocols/CurrencyRates/src/ModuleInfo.cpp
index 172f2ba884..e44985777a 100644
--- a/protocols/CurrencyRates/src/ModuleInfo.cpp
+++ b/protocols/CurrencyRates/src/ModuleInfo.cpp
@@ -1,7 +1,6 @@
#include "StdAfx.h"
static CModuleInfo mi;
-static CModuleInfo::THTMLEnginePtr g_pHTMLEngine;
static mir_cs g_lmParsers;
typedef std::map<std::string, MWindowList> THandles;
@@ -28,37 +27,3 @@ void CModuleInfo::OnMirandaShutdown()
for (auto &p : g_ahWindowLists)
WindowList_Broadcast(p.second, WM_CLOSE, 0, 0);
}
-
-CModuleInfo::THTMLEnginePtr CModuleInfo::GetHTMLEngine()
-{
- if (!g_pHTMLEngine) {
- mir_cslock lck(g_lmParsers);
- if (!g_pHTMLEngine)
- g_pHTMLEngine = THTMLEnginePtr(new CHTMLEngineMS);
- }
-
- return g_pHTMLEngine;
-}
-
-void CModuleInfo::SetHTMLEngine(THTMLEnginePtr pEngine)
-{
- g_pHTMLEngine = pEngine;
-}
-
-bool CModuleInfo::Verify()
-{
- INITCOMMONCONTROLSEX icc = { 0 };
- icc.dwSize = sizeof(icc);
- icc.dwICC = ICC_WIN95_CLASSES | ICC_LINK_CLASS;
- if (FALSE == ::InitCommonControlsEx(&icc))
- return false;
-
- if (!g_pHTMLEngine && (false == CHTMLParserMS::IsInstalled())) {
- CurrencyRates_MessageBox(nullptr,
- TranslateT("Miranda could not load CurrencyRates plugin. Microsoft HTML parser is missing."),
- MB_YESNO | MB_ICONQUESTION);
- return false;
- }
-
- return true;
-}
diff --git a/protocols/CurrencyRates/src/ModuleInfo.h b/protocols/CurrencyRates/src/ModuleInfo.h
index 39399f5c43..23c2c40549 100644
--- a/protocols/CurrencyRates/src/ModuleInfo.h
+++ b/protocols/CurrencyRates/src/ModuleInfo.h
@@ -2,22 +2,15 @@
#define __d0f22b66_3135_4bbe_bee5_a31ea631ce58_ModuleInfo__
class CCurrencyRatesProviders;
-class IHTMLEngine;
class CModuleInfo
{
public:
typedef boost::shared_ptr<CCurrencyRatesProviders> TCurrencyRatesProvidersPtr;
- typedef boost::shared_ptr<IHTMLEngine> THTMLEnginePtr;
public:
static void OnMirandaShutdown(void);
static MWindowList GetWindowList(const std::string& rsKey, bool bAllocateIfNonExist = true);
-
- static bool Verify();
-
- static THTMLEnginePtr GetHTMLEngine();
- static void SetHTMLEngine(THTMLEnginePtr pEngine);
};
#endif //__d0f22b66_3135_4bbe_bee5_a31ea631ce58_ModuleInfo__
diff --git a/protocols/CurrencyRates/src/SettingsDlg.cpp b/protocols/CurrencyRates/src/SettingsDlg.cpp
index f865c1a51a..18b5c768b6 100644
--- a/protocols/CurrencyRates/src/SettingsDlg.cpp
+++ b/protocols/CurrencyRates/src/SettingsDlg.cpp
@@ -73,7 +73,7 @@ std::vector<wchar_t> get_filter()
std::vector<wchar_t> aFilter;
LPCTSTR pszFilterParts[] = { LPGENW("Log Files (*.txt,*.log)"), L"*.txt;*.log", LPGENW("All files (*.*)"), L"*.*" };
for (int i = 0; i < sizeof(pszFilterParts) / sizeof(pszFilterParts[0]); ++i) {
- tstring sPart = TranslateW(pszFilterParts[i]);
+ std::wstring sPart = TranslateW(pszFilterParts[i]);
std::copy(sPart.begin(), sPart.end(), std::back_inserter(aFilter));
aFilter.push_back('\0');
@@ -242,7 +242,7 @@ INT_PTR CALLBACK EditSettingsPerContactDlgProc(HWND hWnd, UINT msg, WPARAM wp, L
assert(hWL);
WindowList_Add(hWL, hWnd, hContact);
- tstring sName = GetContactName(hContact);
+ std::wstring sName = GetContactName(hContact);
::SetDlgItemText(hWnd, IDC_EDIT_NAME, sName.c_str());
BYTE bUseContactSpecific = g_plugin.getByte(hContact, DB_STR_CONTACT_SPEC_SETTINGS, 0);
@@ -255,7 +255,7 @@ INT_PTR CALLBACK EditSettingsPerContactDlgProc(HWND hWnd, UINT msg, WPARAM wp, L
UINT nCheck = (dwLogMode & lmInternalHistory) ? 1 : 0;
::CheckDlgButton(hWnd, IDC_CHECK_INTERNAL_HISTORY, nCheck ? BST_CHECKED : BST_UNCHECKED);
- tstring sHistoryFrmt = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_HISTORY, setGlobal.GetHistoryFormat().c_str());
+ std::wstring sHistoryFrmt = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_HISTORY, setGlobal.GetHistoryFormat().c_str());
::SetDlgItemText(hWnd, IDC_EDIT_HISTORY_FORMAT, sHistoryFrmt.c_str());
WORD wOnlyIfChanged = g_plugin.getWord(hContact, DB_STR_CURRENCYRATE_HISTORY_CONDITION, setGlobal.GetHistoryOnlyChangedFlag());
@@ -265,13 +265,13 @@ INT_PTR CALLBACK EditSettingsPerContactDlgProc(HWND hWnd, UINT msg, WPARAM wp, L
nCheck = (dwLogMode & lmExternalFile) ? 1 : 0;
::CheckDlgButton(hWnd, IDC_CHECK_EXTERNAL_FILE, nCheck ? BST_CHECKED : BST_UNCHECKED);
- tstring sLogFileName = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_LOG_FILE);
+ std::wstring sLogFileName = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_LOG_FILE);
if (true == sLogFileName.empty()) {
sLogFileName = GenerateLogFileName(setGlobal.GetLogFileName(), CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_SYMBOL), glfnResolveCurrencyRateName);
}
::SetDlgItemText(hWnd, IDC_EDIT_FILE_NAME, sLogFileName.c_str());
- tstring sLogFileFrmt = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_LOG_FILE, setGlobal.GetLogFormat().c_str());
+ std::wstring sLogFileFrmt = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_LOG_FILE, setGlobal.GetLogFormat().c_str());
::SetDlgItemText(hWnd, IDC_EDIT_LOG_FILE_FORMAT, sLogFileFrmt.c_str());
wOnlyIfChanged = g_plugin.getWord(hContact, DB_STR_CURRENCYRATE_LOG_FILE_CONDITION, setGlobal.GetLogOnlyChangedFlag());
@@ -280,7 +280,7 @@ INT_PTR CALLBACK EditSettingsPerContactDlgProc(HWND hWnd, UINT msg, WPARAM wp, L
// popup
nCheck = (dwLogMode & lmPopup) ? 1 : 0;
::CheckDlgButton(hWnd, IDC_CHECK_SHOW_POPUP, nCheck ? BST_CHECKED : BST_UNCHECKED);
- tstring sPopupFrmt = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_POPUP, setGlobal.GetPopupFormat().c_str());
+ std::wstring sPopupFrmt = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_FORMAT_POPUP, setGlobal.GetPopupFormat().c_str());
::SetDlgItemText(hWnd, IDC_EDIT_POPUP_FORMAT, sPopupFrmt.c_str());
bool bOnlyIfChanged = 1 == g_plugin.getByte(hContact, DB_STR_CURRENCYRATE_POPUP_CONDITION, setGlobal.GetShowPopupIfValueChangedFlag());
::CheckDlgButton(hWnd, IDC_CHECK_SHOW_POPUP_ONLY_VALUE_CHANGED, (bOnlyIfChanged) ? BST_CHECKED : BST_UNCHECKED);
@@ -363,9 +363,9 @@ INT_PTR CALLBACK EditSettingsPerContactDlgProc(HWND hWnd, UINT msg, WPARAM wp, L
HWND hwndLogFile = ::GetDlgItem(hWnd, IDC_EDIT_FILE_NAME);
HWND hwndLogFileFrmt = ::GetDlgItem(hWnd, IDC_EDIT_LOG_FILE_FORMAT);
HWND hwndHistoryFrmt = ::GetDlgItem(hWnd, IDC_EDIT_HISTORY_FORMAT);
- tstring sLogFile = get_window_text(hwndLogFile);
- tstring sLogFileFormat = get_window_text(hwndLogFileFrmt);
- tstring sHistoryFormat = get_window_text(hwndHistoryFrmt);
+ std::wstring sLogFile = get_window_text(hwndLogFile);
+ std::wstring sLogFileFormat = get_window_text(hwndLogFileFrmt);
+ std::wstring sHistoryFormat = get_window_text(hwndHistoryFrmt);
if ((nLogMode & lmExternalFile)) {
if (true == sLogFile.empty()) {
prepare_edit_ctrl_for_error(hwndLogFile);
@@ -386,7 +386,7 @@ INT_PTR CALLBACK EditSettingsPerContactDlgProc(HWND hWnd, UINT msg, WPARAM wp, L
}
HWND hwndPopupFrmt = ::GetDlgItem(hWnd, IDC_EDIT_POPUP_FORMAT);
- tstring sPopupFormat = get_window_text(hwndPopupFrmt);
+ std::wstring sPopupFormat = get_window_text(hwndPopupFrmt);
if ((true == bOk) && (nLogMode & lmPopup) && (true == sPopupFormat.empty())) {
prepare_edit_ctrl_for_error(hwndPopupFrmt);
CurrencyRates_MessageBox(hWnd, TranslateT("Enter popup window format."), MB_OK | MB_ICONERROR);
@@ -519,8 +519,8 @@ INT_PTR CALLBACK EditSettingsPerProviderDlgProc(HWND hWnd, UINT msg, WPARAM wp,
HWND hwndLogFile = ::GetDlgItem(hWnd, IDC_EDIT_FILE_NAME);
HWND hwndLogFileFrmt = ::GetDlgItem(hWnd, IDC_EDIT_LOG_FILE_FORMAT);
- tstring sLogFile = get_window_text(hwndLogFile);
- tstring sLogFileFormat = get_window_text(hwndLogFileFrmt);
+ std::wstring sLogFile = get_window_text(hwndLogFile);
+ std::wstring sLogFileFormat = get_window_text(hwndLogFileFrmt);
if ((nLogMode & lmExternalFile)) {
if (true == sLogFile.empty()) {
@@ -536,7 +536,7 @@ INT_PTR CALLBACK EditSettingsPerProviderDlgProc(HWND hWnd, UINT msg, WPARAM wp,
}
HWND hwndHistoryFrmt = ::GetDlgItem(hWnd, IDC_EDIT_HISTORY_FORMAT);
- tstring sHistoryFormat = get_window_text(hwndHistoryFrmt);
+ std::wstring sHistoryFormat = get_window_text(hwndHistoryFrmt);
if ((true == bOk) && (nLogMode & lmInternalHistory) && (true == sHistoryFormat.empty())) {
prepare_edit_ctrl_for_error(hwndHistoryFrmt);
CurrencyRates_MessageBox(hWnd, TranslateT("Enter history format."), MB_OK | MB_ICONERROR);
@@ -544,7 +544,7 @@ INT_PTR CALLBACK EditSettingsPerProviderDlgProc(HWND hWnd, UINT msg, WPARAM wp,
}
HWND hwndPopupFrmt = ::GetDlgItem(hWnd, IDC_EDIT_POPUP_FORMAT);
- tstring sPopupFormat = get_window_text(hwndPopupFrmt);
+ std::wstring sPopupFormat = get_window_text(hwndPopupFrmt);
if ((true == bOk) && (nLogMode & lmPopup) && (true == sPopupFormat.empty())) {
prepare_edit_ctrl_for_error(hwndPopupFrmt);
CurrencyRates_MessageBox(hWnd, TranslateT("Enter popup window format."), MB_OK | MB_ICONERROR);
@@ -684,12 +684,12 @@ void CAdvProviderSettings::SetLogMode(WORD wMode)
m_wLogMode = wMode;
}
-tstring CAdvProviderSettings::GetHistoryFormat() const
+std::wstring CAdvProviderSettings::GetHistoryFormat() const
{
return m_sFormatHistory;
}
-void CAdvProviderSettings::SetHistoryFormat(const tstring &rsFormat)
+void CAdvProviderSettings::SetHistoryFormat(const std::wstring &rsFormat)
{
m_sFormatHistory = rsFormat;
}
@@ -704,22 +704,22 @@ void CAdvProviderSettings::SetHistoryOnlyChangedFlag(bool bMode)
m_bIsOnlyChangedHistory = bMode;
}
-tstring CAdvProviderSettings::GetLogFileName() const
+std::wstring CAdvProviderSettings::GetLogFileName() const
{
return m_sLogFileName;
}
-void CAdvProviderSettings::SetLogFileName(const tstring &rsFile)
+void CAdvProviderSettings::SetLogFileName(const std::wstring &rsFile)
{
m_sLogFileName = rsFile;
}
-tstring CAdvProviderSettings::GetLogFormat() const
+std::wstring CAdvProviderSettings::GetLogFormat() const
{
return m_sFormatLogFile;
}
-void CAdvProviderSettings::SetLogFormat(const tstring &rsFormat)
+void CAdvProviderSettings::SetLogFormat(const std::wstring &rsFormat)
{
m_sFormatLogFile = rsFormat;
}
@@ -734,12 +734,12 @@ void CAdvProviderSettings::SetLogOnlyChangedFlag(bool bMode)
m_bIsOnlyChangedLogFile = bMode;
}
-const tstring &CAdvProviderSettings::GetPopupFormat() const
+const std::wstring &CAdvProviderSettings::GetPopupFormat() const
{
return m_sPopupFormat;
}
-void CAdvProviderSettings::SetPopupFormat(const tstring &val)
+void CAdvProviderSettings::SetPopupFormat(const std::wstring &val)
{
m_sPopupFormat = val;
}
@@ -900,15 +900,15 @@ bool ShowSettingsDlg(HWND hWndParent, CAdvProviderSettings *pAdvSettings)
reinterpret_cast<LPARAM>(pAdvSettings)));
}
-tstring GenerateLogFileName(const tstring &rsLogFilePattern, const tstring &rsCurrencyRateSymbol, int nFlags)
+std::wstring GenerateLogFileName(const std::wstring &rsLogFilePattern, const std::wstring &rsCurrencyRateSymbol, int nFlags)
{
- tstring sPath = rsLogFilePattern;
+ std::wstring sPath = rsLogFilePattern;
if (nFlags & glfnResolveCurrencyRateName) {
assert(false == rsCurrencyRateSymbol.empty());
- tstring::size_type n = sPath.find(g_pszVariableCurrencyRateName);
- if (tstring::npos != n) {
- tstring s = rsCurrencyRateSymbol;
+ std::wstring::size_type n = sPath.find(g_pszVariableCurrencyRateName);
+ if (std::wstring::npos != n) {
+ std::wstring s = rsCurrencyRateSymbol;
FixInvalidChars(s);
sPath.replace(n, _countof(g_pszVariableCurrencyRateName) - 1, s.c_str());
}
@@ -925,13 +925,13 @@ tstring GenerateLogFileName(const tstring &rsLogFilePattern, const tstring &rsCu
return sPath;
}
-tstring GetContactLogFileName(MCONTACT hContact)
+std::wstring GetContactLogFileName(MCONTACT hContact)
{
- tstring result;
+ std::wstring result;
auto pProvider = GetContactProviderPtr(hContact);
if (pProvider) {
- tstring sPattern;
+ std::wstring sPattern;
bool bUseContactSpecific = (g_plugin.getByte(hContact, DB_STR_CONTACT_SPEC_SETTINGS, 0) > 0);
if (bUseContactSpecific)
sPattern = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_LOG_FILE);
@@ -946,9 +946,9 @@ tstring GetContactLogFileName(MCONTACT hContact)
return result;
}
-tstring GetContactName(MCONTACT hContact)
+std::wstring GetContactName(MCONTACT hContact)
{
- tstring sDescription = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_DESCRIPTION);
+ std::wstring sDescription = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_DESCRIPTION);
if (sDescription.empty())
sDescription = CurrencyRates_DBGetStringW(hContact, MODULENAME, DB_STR_CURRENCYRATE_SYMBOL);
diff --git a/protocols/CurrencyRates/src/SettingsDlg.h b/protocols/CurrencyRates/src/SettingsDlg.h
index b6b49b97bd..424b8c2eed 100644
--- a/protocols/CurrencyRates/src/SettingsDlg.h
+++ b/protocols/CurrencyRates/src/SettingsDlg.h
@@ -66,20 +66,20 @@ public:
WORD GetLogMode() const;
void SetLogMode(WORD wMode);
- tstring GetHistoryFormat() const;
- void SetHistoryFormat(const tstring& rsFormat);
+ std::wstring GetHistoryFormat() const;
+ void SetHistoryFormat(const std::wstring& rsFormat);
bool GetHistoryOnlyChangedFlag() const;
void SetHistoryOnlyChangedFlag(bool bMode);
- tstring GetLogFileName() const;
- void SetLogFileName(const tstring& rsFile);
- tstring GetLogFormat() const;
- void SetLogFormat(const tstring& rsFormat);
+ std::wstring GetLogFileName() const;
+ void SetLogFileName(const std::wstring& rsFile);
+ std::wstring GetLogFormat() const;
+ void SetLogFormat(const std::wstring& rsFormat);
bool GetLogOnlyChangedFlag() const;
void SetLogOnlyChangedFlag(bool bMode);
- const tstring& GetPopupFormat() const;
- void SetPopupFormat(const tstring& val);
+ const std::wstring& GetPopupFormat() const;
+ void SetPopupFormat(const std::wstring& val);
bool GetShowPopupIfValueChangedFlag() const;
void SetShowPopupIfValueChangedFlag(bool val);
@@ -89,12 +89,12 @@ public:
private:
const ICurrencyRatesProvider *m_pCurrencyRatesProvider;
WORD m_wLogMode;
- tstring m_sFormatHistory;
+ std::wstring m_sFormatHistory;
bool m_bIsOnlyChangedHistory;
- tstring m_sLogFileName;
- tstring m_sFormatLogFile;
+ std::wstring m_sLogFileName;
+ std::wstring m_sFormatLogFile;
bool m_bIsOnlyChangedLogFile;
- tstring m_sPopupFormat;
+ std::wstring m_sPopupFormat;
bool m_bShowPopupIfValueChanged;
mutable CPopupSettings* m_pPopupSettings;
};
@@ -108,9 +108,9 @@ enum
glfnResolveUserProfile = 0x0002,
glfnResolveAll = glfnResolveCurrencyRateName | glfnResolveUserProfile,
};
-tstring GenerateLogFileName(const tstring& rsLogFilePattern, const tstring& rsCurrencyRateSymbol, int nFlags = glfnResolveAll);
-tstring GetContactLogFileName(MCONTACT hContact);
-tstring GetContactName(MCONTACT hContact);
+std::wstring GenerateLogFileName(const std::wstring& rsLogFilePattern, const std::wstring& rsCurrencyRateSymbol, int nFlags = glfnResolveAll);
+std::wstring GetContactLogFileName(MCONTACT hContact);
+std::wstring GetContactName(MCONTACT hContact);
#endif //__E211E4D9_383C_43BE_A787_7EF1D585B90D_SettingsDlg_h__
diff --git a/protocols/CurrencyRates/src/WinCtrlHelper.cpp b/protocols/CurrencyRates/src/WinCtrlHelper.cpp
index f45c4db536..22dd5e0641 100644
--- a/protocols/CurrencyRates/src/WinCtrlHelper.cpp
+++ b/protocols/CurrencyRates/src/WinCtrlHelper.cpp
@@ -17,7 +17,7 @@ public:
TFormatSpecificators aSpecificators;
m_pProvider->FillFormat(aSpecificators);
- tostringstream o;
+ std::wostringstream o;
for (auto &spec : aSpecificators)
o << spec.first << '\t' << spec.second << L"\r\n";
::SetDlgItemText(m_hwnd, IDC_EDIT_VARIABLE, o.str().c_str());
diff --git a/protocols/CurrencyRates/src/WinCtrlHelper.h b/protocols/CurrencyRates/src/WinCtrlHelper.h
index a770072bd6..7cb2c0515e 100644
--- a/protocols/CurrencyRates/src/WinCtrlHelper.h
+++ b/protocols/CurrencyRates/src/WinCtrlHelper.h
@@ -3,7 +3,7 @@
class ICurrencyRatesProvider;
-inline tstring get_window_text(HWND hWnd)
+inline std::wstring get_window_text(HWND hWnd)
{
int cBytes = ::GetWindowTextLength(hWnd);
@@ -11,7 +11,7 @@ inline tstring get_window_text(HWND hWnd)
LPTSTR pBuffer = &*(aBuf.begin());
::GetWindowText(hWnd, pBuffer, cBytes + 1);
- return tstring(pBuffer);
+ return std::wstring(pBuffer);
}
inline void prepare_edit_ctrl_for_error(HWND hwndEdit)
diff --git a/protocols/CurrencyRates/src/stdafx.h b/protocols/CurrencyRates/src/stdafx.h
index 0d44c339f5..987aeb87b8 100644
--- a/protocols/CurrencyRates/src/stdafx.h
+++ b/protocols/CurrencyRates/src/stdafx.h
@@ -40,13 +40,6 @@
#include <boost\date_time\posix_time\posix_time.hpp>
#include <boost\date_time\c_local_time_adjustor.hpp>
-typedef std::wstring tstring;
-typedef std::wostringstream tostringstream;
-typedef std::wistringstream tistringstream;
-typedef std::wofstream tofstream;
-typedef std::wifstream tifstream;
-typedef std::wostream tostream;
-typedef std::wistream tistream;
typedef boost::posix_time::wtime_input_facet ttime_input_facet;
typedef boost::posix_time::wtime_facet ttime_facet;
@@ -61,9 +54,9 @@ inline std::string currencyrates_t2a(const wchar_t* t)
return s;
}
-inline tstring currencyrates_a2t(const char* s)
+inline std::wstring currencyrates_a2t(const char* s)
{
- tstring t;
+ std::wstring t;
wchar_t* p = mir_a2u(s);
if (p) {
t = p;
@@ -81,7 +74,6 @@ inline tstring currencyrates_a2t(const char* s)
#include "CurrencyConverter.h"
#include "WinCtrlHelper.h"
#include "ImportExport.h"
-#include "ComHelper.h"
#include "Log.h"
#include "CommonOptionDlg.h"
#include "EconomicRateInfo.h"
@@ -98,9 +90,6 @@ inline tstring currencyrates_a2t(const char* s)
#include "CurrencyRateChart.h"
#include "Chart.h"
#endif
-#include "IHTMLParser.h"
-#include "IHTMLEngine.h"
-#include "HTMLParserMS.h"
struct CMPlugin : public PLUGIN<CMPlugin>
{