summaryrefslogtreecommitdiff
path: root/protocols/CurrencyRates/src/IHTMLParser.h
blob: c0b97a7277254275067e2272d88c88b937107044 (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
33
34
35
36
37
38
39
40
41
#ifndef __98ad6d6d_2a27_43fd_bf3e_c18416a45e54_IHTMLParser_h__
#define __98ad6d6d_2a27_43fd_bf3e_c18416a45e54_IHTMLParser_h__

class IHTMLNode
{
public:
	typedef boost::shared_ptr<IHTMLNode> THTMLNodePtr;

	enum EType
	{
		Table = 1,
		TableRow,
		TableColumn
	};

public:
	IHTMLNode() {}
	virtual ~IHTMLNode() {}

	virtual size_t GetChildCount() const = 0;
	virtual THTMLNodePtr GetChildPtr(size_t nIndex) = 0;
	virtual bool Is(EType nType) const = 0;

	virtual THTMLNodePtr GetElementByID(const tstring& rsID) const = 0;

	virtual tstring GetAttribute(const tstring& rsAttrName) const = 0;
	virtual tstring GetText() const = 0;
};

class IHTMLParser
{
public:
	typedef IHTMLNode::THTMLNodePtr THTMLNodePtr;
public:
	IHTMLParser() {}
	virtual ~IHTMLParser() {}

	virtual THTMLNodePtr ParseString(const tstring& rsHTML) = 0;
};

#endif //__98ad6d6d_2a27_43fd_bf3e_c18416a45e54_IHTMLParser_h__