source: icXML/icXML-devel/src/xercesc/dom/impl/DOMCharacterDataImpl.hpp @ 2722

Last change on this file since 2722 was 2722, checked in by cameron, 6 years ago

Original Xerces files with import mods for icxercesc

File size: 3.3 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: DOMCharacterDataImpl.hpp 678709 2008-07-22 10:56:56Z borisk $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMCHARACTERDATAIMPL_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMCHARACTERDATAIMPL_HPP
24
25//
26//  This file is part of the internal implementation of the C++ XML DOM.
27//  It should NOT be included or used directly by application programs.
28//
29//  Applications should include the file <xercesc/dom/DOM.hpp> for the entire
30//  DOM API, or xercesc/dom/DOM*.hpp for individual DOM classes, where the class
31//  name is substituded for the *.
32//
33
34#include <xercesc/util/XercesDefs.hpp>
35#include <icxercesc/util/XMLString.hpp>
36
37XERCES_CPP_NAMESPACE_BEGIN
38
39
40class DOMNode;
41class DOMDocument;
42class DOMDocumentImpl;
43class DOMBuffer;
44
45// Instances of DOMCharacterDataImpl appear as members of node types
46//   that implement the DOMCharacterData interfaces.
47//   Operations in those classes are delegated to this class.
48//
49class CDOM_EXPORT DOMCharacterDataImpl
50{
51public:
52    DOMBuffer* fDataBuf;
53    // for the buffer bid
54    DOMDocumentImpl* fDoc;
55
56public:
57                   DOMCharacterDataImpl(DOMDocument *doc, const XMLCh *dat);
58                   DOMCharacterDataImpl(DOMDocument *doc, const XMLCh* data, XMLSize_t n);
59                   DOMCharacterDataImpl(const DOMCharacterDataImpl &other);
60                   ~DOMCharacterDataImpl();
61    const          XMLCh * getNodeValue() const;
62    void           setNodeValue(const XMLCh * value);
63    void           appendData(const DOMNode *node, const  XMLCh *data);
64    void           appendData(const DOMNode *node, const  XMLCh *data, XMLSize_t n);
65    void           deleteData(const DOMNode *node, XMLSize_t offset, XMLSize_t count);
66    const XMLCh*   getData() const;
67    XMLSize_t      getLength() const;
68    void           insertData(const DOMNode *node, XMLSize_t offset, const XMLCh * data);
69    void           replaceData(const DOMNode *node, XMLSize_t offset, XMLSize_t count, const XMLCh * data);
70    void           setData(const DOMNode *node, const XMLCh * arg);
71    void           setNodeValue(const DOMNode *node, const XMLCh *value);
72
73
74    const XMLCh*   substringData(const DOMNode *node, XMLSize_t offset, XMLSize_t count) const;
75    void           releaseBuffer();
76
77private:
78    // -----------------------------------------------------------------------
79    // Unimplemented constructors and operators
80    // -----------------------------------------------------------------------
81    DOMCharacterDataImpl & operator = (const DOMCharacterDataImpl &);
82};
83
84#define GetDOMCharacterDataImplMemoryManager GET_DIRECT_MM(fDoc)
85
86XERCES_CPP_NAMESPACE_END
87
88
89#endif
Note: See TracBrowser for help on using the repository browser.