Code

Corrected initialization order.
[inkscape.git] / src / dom / io / stringstream.h
1 #ifndef __STRINGSTREAM_H__
2 #define __STRINGSTREAM_H__
3 /**
4  * Phoebe DOM Implementation.
5  *
6  * This is a C++ approximation of the W3C DOM model, which follows
7  * fairly closely the specifications in the various .idl files, copies of
8  * which are provided for reference.  Most important is this one:
9  *
10  * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
11  *
12  * Authors:
13  *   Bob Jamison
14  *
15  * Copyright (C) 2006 Bob Jamison
16  *
17  *  This library is free software; you can redistribute it and/or
18  *  modify it under the terms of the GNU Lesser General Public
19  *  License as published by the Free Software Foundation; either
20  *  version 2.1 of the License, or (at your option) any later version.
21  *
22  *  This library is distributed in the hope that it will be useful,
23  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
25  *  Lesser General Public License for more details.
26  *
27  *  You should have received a copy of the GNU Lesser General Public
28  *  License along with this library; if not, write to the Free Software
29  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
30  */
33 #include "domstream.h"
36 namespace org
37 {
38 namespace w3c
39 {
40 namespace dom
41 {
42 namespace io
43 {
46 //#########################################################################
47 //# S T R I N G    I N P U T    S T R E A M
48 //#########################################################################
50 /**
51  * This class is for reading character from a DOMString
52  *
53  */
54 class StringInputStream : public InputStream
55 {
57 public:
59     StringInputStream(const DOMString &sourceString);
61     virtual ~StringInputStream();
63     virtual int available();
65     virtual void close();
67     virtual int get();
69 private:
71     DOMString &buffer;
73     long position;
75 }; // class StringInputStream
80 //#########################################################################
81 //# S T R I N G   O U T P U T    S T R E A M
82 //#########################################################################
84 /**
85  * This class is for sending a stream to a  DOMString
86  *
87  */
88 class StringOutputStream : public OutputStream
89 {
91 public:
93     StringOutputStream();
95     virtual ~StringOutputStream();
97     virtual void close();
99     virtual void flush();
101     virtual int put(XMLCh ch);
103     virtual DOMString &getString()
104         { return buffer; }
106     virtual void clear()
107         { buffer = ""; }
109 private:
111     DOMString buffer;
114 }; // class StringOutputStream
122 }  //namespace io
123 }  //namespace dom
124 }  //namespace w3c
125 }  //namespace org
129 #endif /* __STRINGSTREAM_H__ */