summaryrefslogtreecommitdiff
path: root/plugins/CurrencyRates/src/CurrencyRatesProviders.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:44 +0300
committerGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:55 +0300
commit931a7dc1ac0dbc7e6c1083583ced915e572f5b47 (patch)
tree9fe9a6448d44030e26aa7107ce16044ed413e0d0 /plugins/CurrencyRates/src/CurrencyRatesProviders.cpp
parentdd7d9954042254e66e3bbbec7195c6be8b1a0663 (diff)
all protocols (even virtual ones) moved to the Protocols folder
Diffstat (limited to 'plugins/CurrencyRates/src/CurrencyRatesProviders.cpp')
-rw-r--r--plugins/CurrencyRates/src/CurrencyRatesProviders.cpp83
1 files changed, 0 insertions, 83 deletions
diff --git a/plugins/CurrencyRates/src/CurrencyRatesProviders.cpp b/plugins/CurrencyRates/src/CurrencyRatesProviders.cpp
deleted file mode 100644
index 31dd4c771a..0000000000
--- a/plugins/CurrencyRates/src/CurrencyRatesProviders.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#include "StdAfx.h"
-#include "CurrencyRatesProviderCurrencyConverter.h"
-
-#define LAST_RUN_VERSION "LastRunVersion"
-
-TCurrencyRatesProviders g_apProviders;
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-template<class T>void create_provider(TCurrencyRatesProviders& g_apProviders)
-{
- ICurrencyRatesProvider *pProvider = new T;
- if (pProvider->Init())
- g_apProviders.push_back(pProvider);
-};
-
-void CreateProviders()
-{
- create_provider<CCurrencyRatesProviderCurrencyConverter>(g_apProviders);
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-void ClearProviders()
-{
- g_apProviders.clear();
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-void convert_contact_settings(MCONTACT hContact)
-{
- WORD dwLogMode = db_get_w(hContact, CURRENCYRATES_MODULE_NAME, DB_STR_CURRENCYRATE_LOG, static_cast<WORD>(lmDisabled));
- if ((dwLogMode&lmInternalHistory) || (dwLogMode&lmExternalFile))
- db_set_b(hContact, CURRENCYRATES_MODULE_NAME, DB_STR_CONTACT_SPEC_SETTINGS, 1);
-}
-
-void InitProviders()
-{
- CreateProviders();
-
- const WORD nCurrentVersion = 17;
- WORD nVersion = db_get_w(0, CURRENCYRATES_MODULE_NAME, LAST_RUN_VERSION, 1);
-
- for (auto &hContact : Contacts(CURRENCYRATES_MODULE_NAME)) {
- ICurrencyRatesProvider *pProvider = GetContactProviderPtr(hContact);
- if (pProvider) {
- pProvider->AddContact(hContact);
- if (nVersion < nCurrentVersion)
- convert_contact_settings(hContact);
- }
- }
-
- db_set_w(0, CURRENCYRATES_MODULE_NAME, LAST_RUN_VERSION, nCurrentVersion);
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-ICurrencyRatesProvider* GetContactProviderPtr(MCONTACT hContact)
-{
- char* szProto = GetContactProto(hContact);
- if (nullptr == szProto || 0 != ::_stricmp(szProto, CURRENCYRATES_PROTOCOL_NAME))
- return nullptr;
-
- tstring sProvider = CurrencyRates_DBGetStringW(hContact, CURRENCYRATES_MODULE_NAME, DB_STR_CURRENCYRATE_PROVIDER);
- if (true == sProvider.empty())
- return nullptr;
-
- return FindProvider(sProvider);
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-
-ICurrencyRatesProvider* FindProvider(const tstring& rsName)
-{
- for (auto &pProvider : g_apProviders) {
- const ICurrencyRatesProvider::CProviderInfo& rInfo = pProvider->GetInfo();
- if (0 == ::mir_wstrcmpi(rsName.c_str(), rInfo.m_sName.c_str()))
- return pProvider;
- }
-
- return nullptr;
-}