summaryrefslogtreecommitdiff
path: root/plugins/Quotes/QuotesProviders.h
blob: 02aa5184c9907721a1d7d195a67e4c21d461e990 (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
30
31
32
#ifndef __148306d1_da2a_43df_b1ad_0cdc8ef8a79e_QuotesProviders_h__
#define __148306d1_da2a_43df_b1ad_0cdc8ef8a79e_QuotesProviders_h__

#include <boost\shared_ptr.hpp>
#include <vector>

class IQuotesProvider;

class CQuotesProviders
{
public:
	typedef boost::shared_ptr<IQuotesProvider> TQuotesProviderPtr;
	typedef std::vector<TQuotesProviderPtr> TQuotesProviders;

public:
	CQuotesProviders();
	~CQuotesProviders();

	TQuotesProviderPtr FindProvider(const tstring& rsName)const;
	TQuotesProviderPtr GetContactProviderPtr(HANDLE hContact)const;
	const TQuotesProviders& GetProviders()const;

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

private:
	TQuotesProviders m_apProviders;
};

#endif //__148306d1_da2a_43df_b1ad_0cdc8ef8a79e_QuotesProviders_h__