From 931a7dc1ac0dbc7e6c1083583ced915e572f5b47 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 2 Mar 2019 12:32:44 +0300 Subject: all protocols (even virtual ones) moved to the Protocols folder --- .../CurrencyRates/src/CurrencyRatesProviders.cpp | 83 ---------------------- 1 file changed, 83 deletions(-) delete mode 100644 plugins/CurrencyRates/src/CurrencyRatesProviders.cpp (limited to 'plugins/CurrencyRates/src/CurrencyRatesProviders.cpp') 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; - -///////////////////////////////////////////////////////////////////////////////////////// - -templatevoid create_provider(TCurrencyRatesProviders& g_apProviders) -{ - ICurrencyRatesProvider *pProvider = new T; - if (pProvider->Init()) - g_apProviders.push_back(pProvider); -}; - -void CreateProviders() -{ - create_provider(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(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; -} -- cgit v1.2.3