summaryrefslogtreecommitdiff
path: root/plugins/Quotes/IHTMLParser.h
blob: 2b124b0f6ce72121352a0fe0141706bc236fc85b (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__