blob: 66658c5c99bf7316672e4da65071249ea5e54e87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#pragma once
#define DB_STR_FROM_ID "FromID"
#define DB_STR_TO_ID "ToID"
#define DB_STR_FROM_DESCRIPTION "FromDesc"
#define DB_STR_TO_DESCRIPTION "ToDesc"
class CCurrencyRatesProviderCurrencyConverter : public CCurrencyRatesProviderBase
{
public:
using TRateInfo = std::pair<CCurrencyRate, CCurrencyRate>;
public:
CCurrencyRatesProviderCurrencyConverter();
~CCurrencyRatesProviderCurrencyConverter();
double Convert(double dAmount, const CCurrencyRate& from, const CCurrencyRate& to)const;
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;
private:
virtual void Accept(CCurrencyRatesProviderVisitor& visitor)const override;
virtual void ShowPropertyPage(WPARAM wp, OPTIONSDIALOGPAGE& odp)override;
virtual void RefreshCurrencyRates(TContracts& anContacts)override;
};
|