xref: /aoo41x/main/unoxml/source/dom/text.hxx (revision 7f654276)
1*7f654276SAndrew Rist /**************************************************************
2*7f654276SAndrew Rist  *
3*7f654276SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*7f654276SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*7f654276SAndrew Rist  * distributed with this work for additional information
6*7f654276SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*7f654276SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*7f654276SAndrew Rist  * "License"); you may not use this file except in compliance
9*7f654276SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*7f654276SAndrew Rist  *
11*7f654276SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*7f654276SAndrew Rist  *
13*7f654276SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*7f654276SAndrew Rist  * software distributed under the License is distributed on an
15*7f654276SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*7f654276SAndrew Rist  * KIND, either express or implied.  See the License for the
17*7f654276SAndrew Rist  * specific language governing permissions and limitations
18*7f654276SAndrew Rist  * under the License.
19*7f654276SAndrew Rist  *
20*7f654276SAndrew Rist  *************************************************************/
21*7f654276SAndrew Rist 
22*7f654276SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef DOM_TEXT_HXX
25cdf0e10cSrcweir #define DOM_TEXT_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <libxml/tree.h>
28cdf0e10cSrcweir 
29cdf0e10cSrcweir #include <sal/types.h>
30cdf0e10cSrcweir 
31cdf0e10cSrcweir #include <cppuhelper/implbase1.hxx>
32cdf0e10cSrcweir 
33cdf0e10cSrcweir #include <com/sun/star/uno/Reference.h>
34cdf0e10cSrcweir #include <com/sun/star/xml/dom/XNode.hpp>
35cdf0e10cSrcweir #include <com/sun/star/xml/dom/XText.hpp>
36cdf0e10cSrcweir 
37cdf0e10cSrcweir #include <characterdata.hxx>
38cdf0e10cSrcweir 
39cdf0e10cSrcweir 
40cdf0e10cSrcweir using ::rtl::OUString;
41cdf0e10cSrcweir using namespace com::sun::star::uno;
42cdf0e10cSrcweir using namespace com::sun::star::xml::dom;
43cdf0e10cSrcweir 
44cdf0e10cSrcweir namespace DOM
45cdf0e10cSrcweir {
46cdf0e10cSrcweir     typedef ::cppu::ImplInheritanceHelper1< CCharacterData, XText > CText_Base;
47cdf0e10cSrcweir 
48cdf0e10cSrcweir     class CText
49cdf0e10cSrcweir         : public CText_Base
50cdf0e10cSrcweir     {
51cdf0e10cSrcweir     private:
52cdf0e10cSrcweir         friend class CDocument;
53cdf0e10cSrcweir 
54cdf0e10cSrcweir     protected:
55cdf0e10cSrcweir         CText(CDocument const& rDocument, ::osl::Mutex const& rMutex,
56cdf0e10cSrcweir                 NodeType const& reNodeType, xmlNodePtr const& rpNode);
57cdf0e10cSrcweir         CText(CDocument const& rDocument, ::osl::Mutex const& rMutex,
58cdf0e10cSrcweir                 xmlNodePtr const pNode);
59cdf0e10cSrcweir 
60cdf0e10cSrcweir     public:
61cdf0e10cSrcweir 
62cdf0e10cSrcweir         virtual void saxify(const Reference< XDocumentHandler >& i_xHandler);
63cdf0e10cSrcweir 
64cdf0e10cSrcweir         virtual void fastSaxify( Context& io_rContext );
65cdf0e10cSrcweir 
66cdf0e10cSrcweir 	     // Breaks this node into two nodes at the specified offset, keeping
67cdf0e10cSrcweir 	     // both in the tree as siblings.
68cdf0e10cSrcweir 	     virtual Reference< XText > SAL_CALL splitText(sal_Int32 offset)
69cdf0e10cSrcweir              throw (RuntimeException);
70cdf0e10cSrcweir 
71cdf0e10cSrcweir 
72cdf0e10cSrcweir          // --- delegations for XCharacterData
appendData(const OUString & arg)73cdf0e10cSrcweir         virtual void SAL_CALL appendData(const OUString& arg)
74cdf0e10cSrcweir             throw (RuntimeException, DOMException)
75cdf0e10cSrcweir         {
76cdf0e10cSrcweir             CCharacterData::appendData(arg);
77cdf0e10cSrcweir         }
deleteData(sal_Int32 offset,sal_Int32 count)78cdf0e10cSrcweir         virtual void SAL_CALL deleteData(sal_Int32 offset, sal_Int32 count)
79cdf0e10cSrcweir             throw (RuntimeException, DOMException)
80cdf0e10cSrcweir         {
81cdf0e10cSrcweir             CCharacterData::deleteData(offset, count);
82cdf0e10cSrcweir         }
getData()83cdf0e10cSrcweir         virtual OUString SAL_CALL getData() throw (RuntimeException)
84cdf0e10cSrcweir         {
85cdf0e10cSrcweir             return CCharacterData::getData();
86cdf0e10cSrcweir         }
getLength()87cdf0e10cSrcweir         virtual sal_Int32 SAL_CALL getLength() throw (RuntimeException)
88cdf0e10cSrcweir         {
89cdf0e10cSrcweir             return CCharacterData::getLength();
90cdf0e10cSrcweir         }
insertData(sal_Int32 offset,const OUString & arg)91cdf0e10cSrcweir         virtual void SAL_CALL insertData(sal_Int32 offset, const OUString& arg)
92cdf0e10cSrcweir             throw (RuntimeException, DOMException)
93cdf0e10cSrcweir         {
94cdf0e10cSrcweir             CCharacterData::insertData(offset, arg);
95cdf0e10cSrcweir         }
replaceData(sal_Int32 offset,sal_Int32 count,const OUString & arg)96cdf0e10cSrcweir         virtual void SAL_CALL replaceData(sal_Int32 offset, sal_Int32 count, const OUString& arg)
97cdf0e10cSrcweir             throw (RuntimeException, DOMException)
98cdf0e10cSrcweir         {
99cdf0e10cSrcweir             CCharacterData::replaceData(offset, count, arg);
100cdf0e10cSrcweir         }
setData(const OUString & data)101cdf0e10cSrcweir         virtual void SAL_CALL setData(const OUString& data)
102cdf0e10cSrcweir             throw (RuntimeException, DOMException)
103cdf0e10cSrcweir         {
104cdf0e10cSrcweir             CCharacterData::setData(data);
105cdf0e10cSrcweir         }
subStringData(sal_Int32 offset,sal_Int32 count)106cdf0e10cSrcweir         virtual OUString SAL_CALL subStringData(sal_Int32 offset, sal_Int32 count)
107cdf0e10cSrcweir             throw (RuntimeException, DOMException)
108cdf0e10cSrcweir         {
109cdf0e10cSrcweir             return CCharacterData::subStringData(offset, count);
110cdf0e10cSrcweir         }
111cdf0e10cSrcweir 
112cdf0e10cSrcweir 
113cdf0e10cSrcweir          // --- overrides for XNode base
114cdf0e10cSrcweir         virtual OUString SAL_CALL getNodeName()
115cdf0e10cSrcweir             throw (RuntimeException);
116cdf0e10cSrcweir 
117cdf0e10cSrcweir         // --- resolve uno inheritance problems...
118cdf0e10cSrcweir         // --- delegation for XNde base.
appendChild(const Reference<XNode> & newChild)119cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL appendChild(const Reference< XNode >& newChild)
120cdf0e10cSrcweir             throw (RuntimeException, DOMException)
121cdf0e10cSrcweir         {
122cdf0e10cSrcweir             return CCharacterData::appendChild(newChild);
123cdf0e10cSrcweir         }
cloneNode(sal_Bool deep)124cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL cloneNode(sal_Bool deep)
125cdf0e10cSrcweir             throw (RuntimeException)
126cdf0e10cSrcweir         {
127cdf0e10cSrcweir             return CCharacterData::cloneNode(deep);
128cdf0e10cSrcweir         }
getAttributes()129cdf0e10cSrcweir         virtual Reference< XNamedNodeMap > SAL_CALL getAttributes()
130cdf0e10cSrcweir             throw (RuntimeException)
131cdf0e10cSrcweir         {
132cdf0e10cSrcweir             return CCharacterData::getAttributes();
133cdf0e10cSrcweir         }
getChildNodes()134cdf0e10cSrcweir         virtual Reference< XNodeList > SAL_CALL getChildNodes()
135cdf0e10cSrcweir             throw (RuntimeException)
136cdf0e10cSrcweir         {
137cdf0e10cSrcweir             return CCharacterData::getChildNodes();
138cdf0e10cSrcweir         }
getFirstChild()139cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL getFirstChild()
140cdf0e10cSrcweir             throw (RuntimeException)
141cdf0e10cSrcweir         {
142cdf0e10cSrcweir             return CCharacterData::getFirstChild();
143cdf0e10cSrcweir         }
getLastChild()144cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL getLastChild()
145cdf0e10cSrcweir             throw (RuntimeException)
146cdf0e10cSrcweir         {
147cdf0e10cSrcweir             return CCharacterData::getLastChild();
148cdf0e10cSrcweir         }
getLocalName()149cdf0e10cSrcweir         virtual OUString SAL_CALL getLocalName()
150cdf0e10cSrcweir             throw (RuntimeException)
151cdf0e10cSrcweir         {
152cdf0e10cSrcweir             return CCharacterData::getLocalName();
153cdf0e10cSrcweir         }
getNamespaceURI()154cdf0e10cSrcweir         virtual OUString SAL_CALL getNamespaceURI()
155cdf0e10cSrcweir             throw (RuntimeException)
156cdf0e10cSrcweir         {
157cdf0e10cSrcweir             return CCharacterData::getNamespaceURI();
158cdf0e10cSrcweir         }
getNextSibling()159cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL getNextSibling()
160cdf0e10cSrcweir             throw (RuntimeException)
161cdf0e10cSrcweir         {
162cdf0e10cSrcweir             return CCharacterData::getNextSibling();
163cdf0e10cSrcweir         }
getNodeType()164cdf0e10cSrcweir         virtual NodeType SAL_CALL getNodeType()
165cdf0e10cSrcweir             throw (RuntimeException)
166cdf0e10cSrcweir         {
167cdf0e10cSrcweir             return CCharacterData::getNodeType();
168cdf0e10cSrcweir         }
getNodeValue()169cdf0e10cSrcweir         virtual OUString SAL_CALL getNodeValue() throw (RuntimeException)
170cdf0e10cSrcweir         {
171cdf0e10cSrcweir             return CCharacterData::getNodeValue();
172cdf0e10cSrcweir         }
getOwnerDocument()173cdf0e10cSrcweir         virtual Reference< XDocument > SAL_CALL getOwnerDocument()
174cdf0e10cSrcweir             throw (RuntimeException)
175cdf0e10cSrcweir         {
176cdf0e10cSrcweir             return CCharacterData::getOwnerDocument();
177cdf0e10cSrcweir         }
getParentNode()178cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL getParentNode()
179cdf0e10cSrcweir             throw (RuntimeException)
180cdf0e10cSrcweir         {
181cdf0e10cSrcweir             return CCharacterData::getParentNode();
182cdf0e10cSrcweir         }
getPrefix()183cdf0e10cSrcweir         virtual OUString SAL_CALL getPrefix()
184cdf0e10cSrcweir             throw (RuntimeException)
185cdf0e10cSrcweir         {
186cdf0e10cSrcweir             return CCharacterData::getPrefix();
187cdf0e10cSrcweir         }
getPreviousSibling()188cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL getPreviousSibling()
189cdf0e10cSrcweir             throw (RuntimeException)
190cdf0e10cSrcweir         {
191cdf0e10cSrcweir             return CCharacterData::getPreviousSibling();
192cdf0e10cSrcweir         }
hasAttributes()193cdf0e10cSrcweir         virtual sal_Bool SAL_CALL hasAttributes()
194cdf0e10cSrcweir             throw (RuntimeException)
195cdf0e10cSrcweir         {
196cdf0e10cSrcweir             return CCharacterData::hasAttributes();
197cdf0e10cSrcweir         }
hasChildNodes()198cdf0e10cSrcweir         virtual sal_Bool SAL_CALL hasChildNodes()
199cdf0e10cSrcweir             throw (RuntimeException)
200cdf0e10cSrcweir         {
201cdf0e10cSrcweir             return CCharacterData::hasChildNodes();
202cdf0e10cSrcweir         }
insertBefore(const Reference<XNode> & newChild,const Reference<XNode> & refChild)203cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL insertBefore(
204cdf0e10cSrcweir                 const Reference< XNode >& newChild, const Reference< XNode >& refChild)
205cdf0e10cSrcweir             throw (RuntimeException, DOMException)
206cdf0e10cSrcweir         {
207cdf0e10cSrcweir             return CCharacterData::insertBefore(newChild, refChild);
208cdf0e10cSrcweir         }
isSupported(const OUString & feature,const OUString & ver)209cdf0e10cSrcweir         virtual sal_Bool SAL_CALL isSupported(const OUString& feature, const OUString& ver)
210cdf0e10cSrcweir             throw (RuntimeException)
211cdf0e10cSrcweir         {
212cdf0e10cSrcweir             return CCharacterData::isSupported(feature, ver);
213cdf0e10cSrcweir         }
normalize()214cdf0e10cSrcweir         virtual void SAL_CALL normalize()
215cdf0e10cSrcweir             throw (RuntimeException)
216cdf0e10cSrcweir         {
217cdf0e10cSrcweir             CCharacterData::normalize();
218cdf0e10cSrcweir         }
removeChild(const Reference<XNode> & oldChild)219cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL removeChild(const Reference< XNode >& oldChild)
220cdf0e10cSrcweir             throw (RuntimeException, DOMException)
221cdf0e10cSrcweir         {
222cdf0e10cSrcweir             return CCharacterData::removeChild(oldChild);
223cdf0e10cSrcweir         }
replaceChild(const Reference<XNode> & newChild,const Reference<XNode> & oldChild)224cdf0e10cSrcweir         virtual Reference< XNode > SAL_CALL replaceChild(
225cdf0e10cSrcweir                 const Reference< XNode >& newChild, const Reference< XNode >& oldChild)
226cdf0e10cSrcweir             throw (RuntimeException, DOMException)
227cdf0e10cSrcweir         {
228cdf0e10cSrcweir             return CCharacterData::replaceChild(newChild, oldChild);
229cdf0e10cSrcweir         }
setNodeValue(const OUString & nodeValue)230cdf0e10cSrcweir         virtual void SAL_CALL setNodeValue(const OUString& nodeValue)
231cdf0e10cSrcweir             throw (RuntimeException, DOMException)
232cdf0e10cSrcweir         {
233cdf0e10cSrcweir             return CCharacterData::setNodeValue(nodeValue);
234cdf0e10cSrcweir         }
setPrefix(const OUString & prefix)235cdf0e10cSrcweir         virtual void SAL_CALL setPrefix(const OUString& prefix)
236cdf0e10cSrcweir             throw (RuntimeException, DOMException)
237cdf0e10cSrcweir         {
238cdf0e10cSrcweir             return CCharacterData::setPrefix(prefix);
239cdf0e10cSrcweir         }
240cdf0e10cSrcweir 
241cdf0e10cSrcweir     };
242cdf0e10cSrcweir }
243cdf0e10cSrcweir #endif
244