1 #ifndef __DOMSTRINGIMPL_H__
2 #define __DOMSTRINGIMPL_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) 2005 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 */
32 class DOMStringImpl
33 {
34 public:
36 /**
37 *
38 */
39 DOMString();
41 /**
42 *
43 */
44 DOMString(const char *str);
46 /**
47 *
48 */
49 DOMString(const DOMString &str);
51 /**
52 *
53 */
54 virtual ~DOMString();
56 /**
57 *
58 */
59 virtual void append(const DOMString &str);
61 /**
62 *
63 */
64 virtual void append(const char *str);
66 /**
67 *
68 */
69 virtual void push_back(int ch);
71 /**
72 *
73 */
74 virtual DOMString &substring(int start, int end);
76 /**
77 *
78 */
79 virtual int charAt(unsigned long index);
81 /**
82 *
83 */
84 virtual unsigned long size();
86 /**
87 *
88 */
89 virtual const char *c_str();
92 protected:
94 void init();
96 char *cstring;
98 unsigned long length;
100 };
107 #endif /* __DOMSTRINGIMPL_H__ */