]> git.saurik.com Git - wxWidgets.git/blob - include/wx/xrc/xmlio.h
wxFILE_SEP_PATH_VMS must be '.', not '/'
[wxWidgets.git] / include / wx / xrc / xmlio.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: xmlio.h
3 // Purpose: wxXmlIOHandler - XML I/O classes
4 // Author: Vaclav Slavik
5 // Created: 2000/07/24
6 // RCS-ID: $Id$
7 // Copyright: (c) 2000 Vaclav Slavik
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_XMLIO_H_
12 #define _WX_XMLIO_H_
13
14 #ifdef __GNUG__
15 #pragma interface "xmlio.h"
16 #endif
17
18 #include "wx/defs.h"
19 #include "wx/string.h"
20 #include "wx/xrc/xml.h"
21
22
23 class WXXMLDLLEXPORT wxXmlIOHandlerExpat : public wxXmlIOHandler
24 {
25 public:
26 virtual wxXmlIOType GetType() { return wxXML_IO_EXPAT; }
27 virtual bool CanLoad(wxInputStream& stream);
28 virtual bool CanSave() { return FALSE; }
29
30 virtual bool Load(wxInputStream& stream, wxXmlDocument& doc);
31 virtual bool Save(wxOutputStream& WXUNUSED(stream), const wxXmlDocument& WXUNUSED(doc))
32 { return FALSE; }
33 };
34
35
36 class WXXMLDLLEXPORT wxXmlIOHandlerWriter : public wxXmlIOHandler
37 {
38 public:
39 virtual wxXmlIOType GetType() { return wxXML_IO_TEXT_OUTPUT; }
40 virtual bool CanLoad(wxInputStream& WXUNUSED(stream)) { return FALSE; }
41 virtual bool CanSave() { return TRUE; }
42
43 virtual bool Load(wxInputStream& WXUNUSED(stream), wxXmlDocument& WXUNUSED(doc))
44 { return FALSE; }
45 virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc);
46 };
47
48
49 class WXXMLDLLEXPORT wxXmlIOHandlerBin : public wxXmlIOHandler
50 {
51 public:
52 wxXmlIOHandlerBin() {}
53
54 virtual wxXmlIOType GetType() { return wxXML_IO_BIN; }
55 virtual bool CanLoad(wxInputStream& stream);
56 virtual bool CanSave() { return TRUE; }
57
58 virtual bool Load(wxInputStream& stream, wxXmlDocument& doc);
59 virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc);
60
61 protected:
62 wxString ReadHeader(wxInputStream& stream);
63 void WriteHeader(wxOutputStream& stream, const wxString& header);
64 };
65
66
67
68 #if wxUSE_ZLIB
69
70 class WXXMLDLLEXPORT wxXmlIOHandlerBinZ : public wxXmlIOHandlerBin
71 {
72 public:
73 wxXmlIOHandlerBinZ() {}
74
75 virtual wxXmlIOType GetType() { return wxXML_IO_BINZ; }
76 virtual bool CanLoad(wxInputStream& stream);
77
78 virtual bool Load(wxInputStream& stream, wxXmlDocument& doc);
79 virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc);
80 };
81
82 #endif
83
84
85 #endif // _WX_XMLIO_H_