Nuke #pragma implementation/interface's
[wxWidgets.git] / include / wx / html / htmlfilt.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: htmlfilt.h
3 // Purpose: filters
4 // Author: Vaclav Slavik
5 // RCS-ID: $Id$
6 // Copyright: (c) 1999 Vaclav Slavik
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef _WX_HTMLFILT_H_
11 #define _WX_HTMLFILT_H_
12
13 #include "wx/defs.h"
14
15 #if wxUSE_HTML
16
17 #include "wx/filesys.h"
18
19
20 //--------------------------------------------------------------------------------
21 // wxHtmlFilter
22 // This class is input filter. It can "translate" files
23 // in non-HTML format to HTML format
24 // interface to access certain
25 // kinds of files (HTPP, FTP, local, tar.gz etc..)
26 //--------------------------------------------------------------------------------
27
28 class WXDLLIMPEXP_HTML wxHtmlFilter : public wxObject
29 {
30 DECLARE_ABSTRACT_CLASS(wxHtmlFilter)
31
32 public:
33 wxHtmlFilter() : wxObject() {}
34 virtual ~wxHtmlFilter() {}
35
36 // returns true if this filter is able to open&read given file
37 virtual bool CanRead(const wxFSFile& file) const = 0;
38
39 // Reads given file and returns HTML document.
40 // Returns empty string if opening failed
41 virtual wxString ReadFile(const wxFSFile& file) const = 0;
42 };
43
44
45
46 //--------------------------------------------------------------------------------
47 // wxHtmlFilterPlainText
48 // This filter is used as default filter if no other can
49 // be used (= uknown type of file). It is used by
50 // wxHtmlWindow itself.
51 //--------------------------------------------------------------------------------
52
53
54 class WXDLLIMPEXP_HTML wxHtmlFilterPlainText : public wxHtmlFilter
55 {
56 DECLARE_DYNAMIC_CLASS(wxHtmlFilterPlainText)
57
58 public:
59 virtual bool CanRead(const wxFSFile& file) const;
60 virtual wxString ReadFile(const wxFSFile& file) const;
61 };
62
63 //--------------------------------------------------------------------------------
64 // wxHtmlFilterHTML
65 // filter for text/html
66 //--------------------------------------------------------------------------------
67
68 class wxHtmlFilterHTML : public wxHtmlFilter
69 {
70 DECLARE_DYNAMIC_CLASS(wxHtmlFilterHTML)
71
72 public:
73 virtual bool CanRead(const wxFSFile& file) const;
74 virtual wxString ReadFile(const wxFSFile& file) const;
75 };
76
77
78
79 #endif // wxUSE_HTML
80
81 #endif // _WX_HTMLFILT_H_
82