From b61ba851da0157ace3bdfc1ebbf87156b0b76413 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Wed, 6 Jun 2012 08:58:27 +0000 Subject: protocols plugins moved to protocols git-svn-id: http://svn.miranda-ng.org/main/trunk@327 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Quotes/QuotesProviders.cpp | 120 ------------------------------------- 1 file changed, 120 deletions(-) delete mode 100644 plugins/Quotes/QuotesProviders.cpp (limited to 'plugins/Quotes/QuotesProviders.cpp') diff --git a/plugins/Quotes/QuotesProviders.cpp b/plugins/Quotes/QuotesProviders.cpp deleted file mode 100644 index 5fac2af14f..0000000000 --- a/plugins/Quotes/QuotesProviders.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include "StdAfx.h" -#include "QuotesProviders.h" - -#include "QuotesProviderDukasCopy.h" -#include "EconomicRateInfo.h" -#include "QuotesProviderGoogle.h" -#include "DBUtils.h" -#include "QuotesProviderGoogleFinance.h" -#include "QuotesProviderYahoo.h" - -#define LAST_RUN_VERSION "LastRunVersion" - -CQuotesProviders::CQuotesProviders() -{ - InitProviders(); -} - -CQuotesProviders::~CQuotesProviders() -{ - ClearProviders(); -} - -const CQuotesProviders::TQuotesProviders& CQuotesProviders::GetProviders()const -{ - return m_apProviders; -} - -namespace -{ - templatevoid create_provider(CQuotesProviders::TQuotesProviders& apProviders) - { - CQuotesProviders::TQuotesProviderPtr pProvider(new T); - if(pProvider->Init()) - { - apProviders.push_back(pProvider); - } - } -} - -void CQuotesProviders::CreateProviders() -{ - create_provider(m_apProviders); - create_provider(m_apProviders); - create_provider(m_apProviders); - create_provider(m_apProviders); -} - -void CQuotesProviders::ClearProviders() -{ - m_apProviders.clear(); -} - -namespace -{ - void convert_contact_settings(HANDLE hContact) - { - WORD dwLogMode = DBGetContactSettingWord(hContact,QUOTES_PROTOCOL_NAME,DB_STR_QUOTE_LOG,static_cast(lmDisabled)); - if ((dwLogMode&lmInternalHistory) || (dwLogMode&lmExternalFile)) - { - DBWriteContactSettingByte(hContact,QUOTES_PROTOCOL_NAME,DB_STR_CONTACT_SPEC_SETTINGS,1); - } - } -} -void CQuotesProviders::InitProviders() -{ - CreateProviders(); - - const WORD nCurrentVersion = 17; - WORD nVersion = DBGetContactSettingWord(NULL,QUOTES_MODULE_NAME,LAST_RUN_VERSION,1); - - for(HANDLE hContact = reinterpret_cast(CallService(MS_DB_CONTACT_FINDFIRST,0,0));hContact;hContact = reinterpret_cast(CallService(MS_DB_CONTACT_FINDNEXT,reinterpret_cast(hContact),0))) - { - TQuotesProviderPtr pProvider = GetContactProviderPtr(hContact); - if(pProvider) - { - pProvider->AddContact(hContact); - if(nVersion < nCurrentVersion) - { - convert_contact_settings(hContact); - } - } - } - - DBWriteContactSettingWord(NULL,QUOTES_MODULE_NAME,LAST_RUN_VERSION,nCurrentVersion); -} - -CQuotesProviders::TQuotesProviderPtr CQuotesProviders::GetContactProviderPtr(HANDLE hContact)const -{ - char* szProto = reinterpret_cast(CallService(MS_PROTO_GETCONTACTBASEPROTO, - reinterpret_cast(hContact),0)); - if(NULL == szProto || 0 != ::_stricmp(szProto,QUOTES_PROTOCOL_NAME)) - { - return TQuotesProviderPtr(); - } - - tstring sProvider = Quotes_DBGetStringT(hContact,QUOTES_MODULE_NAME,DB_STR_QUOTE_PROVIDER); - if(true == sProvider.empty()) - { - return TQuotesProviderPtr(); - } - - return FindProvider(sProvider); -} - -CQuotesProviders::TQuotesProviderPtr CQuotesProviders::FindProvider(const tstring& rsName)const -{ - TQuotesProviderPtr pResult; - for(TQuotesProviders::const_iterator i = m_apProviders.begin();i != m_apProviders.end();++i) - { - const TQuotesProviderPtr& pProvider = *i; - const IQuotesProvider::CProviderInfo& rInfo = pProvider->GetInfo(); - if(0 == ::quotes_stricmp(rsName.c_str(),rInfo.m_sName.c_str())) - { - pResult = pProvider; - break; - } - } - - return pResult; -} -- cgit v1.2.3