summaryrefslogtreecommitdiff
path: root/plugins/CurrencyRates/src/CurrencyRatesProviders.h
blob: da30a2522b97abff4ad883e008b4fa1c0af07505 (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
#ifndef __148306d1_da2a_43df_b1ad_0cdc8ef8a79e_CurrencyRatesProviders_h__
#define __148306d1_da2a_43df_b1ad_0cdc8ef8a79e_CurrencyRatesProviders_h__

class ICurrencyRatesProvider;

class CCurrencyRatesProviders
{
public:
	typedef boost::shared_ptr<ICurrencyRatesProvider> TCurrencyRatesProviderPtr;
	typedef std::vector<TCurrencyRatesProviderPtr> TCurrencyRatesProviders;

public:
	CCurrencyRatesProviders();
	~CCurrencyRatesProviders();

	TCurrencyRatesProviderPtr FindProvider(const tstring& rsName)const;
	TCurrencyRatesProviderPtr GetContactProviderPtr(MCONTACT hContact)const;
	const TCurrencyRatesProviders& GetProviders()const;

private:
	void InitProviders();
	void CreateProviders();
	void ClearProviders();

private:
	TCurrencyRatesProviders m_apProviders;
};

#endif //__148306d1_da2a_43df_b1ad_0cdc8ef8a79e_CurrencyRatesProviders_h__