Code

moving trunk for module inkscape
[inkscape.git] / src / dom / domstringimpl.h
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__ */