]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/xrc/xmlio.h
added volume support and support for UNC paths under Windows, improved Mac and VMS...
[wxWidgets.git] / include / wx / xrc / xmlio.h
... / ...
CommitLineData
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
23class WXXMLDLLEXPORT wxXmlIOHandlerExpat : public wxXmlIOHandler
24{
25public:
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
36class WXXMLDLLEXPORT wxXmlIOHandlerWriter : public wxXmlIOHandler
37{
38public:
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
49class WXXMLDLLEXPORT wxXmlIOHandlerBin : public wxXmlIOHandler
50{
51public:
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
61protected:
62 wxString ReadHeader(wxInputStream& stream);
63 void WriteHeader(wxOutputStream& stream, const wxString& header);
64};
65
66
67
68#if wxUSE_ZLIB
69
70class WXXMLDLLEXPORT wxXmlIOHandlerBinZ : public wxXmlIOHandlerBin
71{
72public:
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_