xref: /trunk/main/jvmfwk/source/libxmlutil.cxx (revision 36f55ffc)
1*36f55ffcSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*36f55ffcSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*36f55ffcSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*36f55ffcSAndrew Rist  * distributed with this work for additional information
6*36f55ffcSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*36f55ffcSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*36f55ffcSAndrew Rist  * "License"); you may not use this file except in compliance
9*36f55ffcSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*36f55ffcSAndrew Rist  *
11*36f55ffcSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*36f55ffcSAndrew Rist  *
13*36f55ffcSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*36f55ffcSAndrew Rist  * software distributed under the License is distributed on an
15*36f55ffcSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*36f55ffcSAndrew Rist  * KIND, either express or implied.  See the License for the
17*36f55ffcSAndrew Rist  * specific language governing permissions and limitations
18*36f55ffcSAndrew Rist  * under the License.
19*36f55ffcSAndrew Rist  *
20*36f55ffcSAndrew Rist  *************************************************************/
21*36f55ffcSAndrew Rist 
22*36f55ffcSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_jvmfwk.hxx"
26cdf0e10cSrcweir #include "libxmlutil.hxx"
27cdf0e10cSrcweir 
28cdf0e10cSrcweir namespace jfw
29cdf0e10cSrcweir {
30cdf0e10cSrcweir 
CXPathObjectPtr(xmlXPathObject * aObject)31cdf0e10cSrcweir CXPathObjectPtr::CXPathObjectPtr(xmlXPathObject* aObject)
32cdf0e10cSrcweir     : _object(aObject)
33cdf0e10cSrcweir {
34cdf0e10cSrcweir }
35cdf0e10cSrcweir 
CXPathObjectPtr()36cdf0e10cSrcweir CXPathObjectPtr::CXPathObjectPtr():_object(NULL)
37cdf0e10cSrcweir {
38cdf0e10cSrcweir }
39cdf0e10cSrcweir 
~CXPathObjectPtr()40cdf0e10cSrcweir CXPathObjectPtr::~CXPathObjectPtr()
41cdf0e10cSrcweir {
42cdf0e10cSrcweir     xmlXPathFreeObject(_object);
43cdf0e10cSrcweir }
operator =(xmlXPathObject * pObj)44cdf0e10cSrcweir CXPathObjectPtr & CXPathObjectPtr::operator = (xmlXPathObject* pObj)
45cdf0e10cSrcweir {
46cdf0e10cSrcweir     if (_object == pObj)
47cdf0e10cSrcweir         return *this;
48cdf0e10cSrcweir 
49cdf0e10cSrcweir     xmlXPathFreeObject(_object);
50cdf0e10cSrcweir     _object = pObj;
51cdf0e10cSrcweir     return *this;
52cdf0e10cSrcweir }
operator ->()53cdf0e10cSrcweir xmlXPathObject* CXPathObjectPtr::operator ->()
54cdf0e10cSrcweir 
55cdf0e10cSrcweir {
56cdf0e10cSrcweir     return _object;
57cdf0e10cSrcweir }
operator xmlXPathObject*()58cdf0e10cSrcweir CXPathObjectPtr::operator xmlXPathObject*()
59cdf0e10cSrcweir {
60cdf0e10cSrcweir     return _object;
61cdf0e10cSrcweir }
62cdf0e10cSrcweir //===========================================================
CXPathContextPtr(xmlXPathContextPtr aContext)63cdf0e10cSrcweir CXPathContextPtr::CXPathContextPtr(xmlXPathContextPtr aContext)
64cdf0e10cSrcweir     : _object(aContext)
65cdf0e10cSrcweir {
66cdf0e10cSrcweir }
67cdf0e10cSrcweir 
CXPathContextPtr()68cdf0e10cSrcweir CXPathContextPtr::CXPathContextPtr():_object(NULL)
69cdf0e10cSrcweir {
70cdf0e10cSrcweir }
71cdf0e10cSrcweir 
~CXPathContextPtr()72cdf0e10cSrcweir CXPathContextPtr::~CXPathContextPtr()
73cdf0e10cSrcweir {
74cdf0e10cSrcweir     xmlXPathFreeContext(_object);
75cdf0e10cSrcweir }
76cdf0e10cSrcweir 
operator =(xmlXPathContextPtr pObj)77cdf0e10cSrcweir CXPathContextPtr & CXPathContextPtr::operator = (xmlXPathContextPtr pObj)
78cdf0e10cSrcweir {
79cdf0e10cSrcweir     if (_object == pObj)
80cdf0e10cSrcweir         return *this;
81cdf0e10cSrcweir     xmlXPathFreeContext(_object);
82cdf0e10cSrcweir     _object = pObj;
83cdf0e10cSrcweir     return *this;
84cdf0e10cSrcweir }
operator ->()85cdf0e10cSrcweir xmlXPathContext* CXPathContextPtr::operator ->()
86cdf0e10cSrcweir {
87cdf0e10cSrcweir     return _object;
88cdf0e10cSrcweir }
89cdf0e10cSrcweir 
operator xmlXPathContext*()90cdf0e10cSrcweir CXPathContextPtr::operator xmlXPathContext*()
91cdf0e10cSrcweir {
92cdf0e10cSrcweir     return _object;
93cdf0e10cSrcweir }
94cdf0e10cSrcweir //===========================================================
CXmlDocPtr(xmlDoc * aDoc)95cdf0e10cSrcweir CXmlDocPtr::CXmlDocPtr(xmlDoc* aDoc)
96cdf0e10cSrcweir     : _object(aDoc)
97cdf0e10cSrcweir {
98cdf0e10cSrcweir }
99cdf0e10cSrcweir 
CXmlDocPtr()100cdf0e10cSrcweir CXmlDocPtr::CXmlDocPtr():_object(NULL)
101cdf0e10cSrcweir {
102cdf0e10cSrcweir }
103cdf0e10cSrcweir 
~CXmlDocPtr()104cdf0e10cSrcweir CXmlDocPtr::~CXmlDocPtr()
105cdf0e10cSrcweir {
106cdf0e10cSrcweir     xmlFreeDoc(_object);
107cdf0e10cSrcweir }
operator =(xmlDoc * pObj)108cdf0e10cSrcweir CXmlDocPtr & CXmlDocPtr::operator = (xmlDoc* pObj)
109cdf0e10cSrcweir {
110cdf0e10cSrcweir     if (_object == pObj)
111cdf0e10cSrcweir         return *this;
112cdf0e10cSrcweir     xmlFreeDoc(_object);
113cdf0e10cSrcweir     _object = pObj;
114cdf0e10cSrcweir     return *this;
115cdf0e10cSrcweir }
116cdf0e10cSrcweir 
operator ->()117cdf0e10cSrcweir xmlDoc* CXmlDocPtr::operator ->()
118cdf0e10cSrcweir {
119cdf0e10cSrcweir     return _object;
120cdf0e10cSrcweir }
121cdf0e10cSrcweir 
operator xmlDoc*()122cdf0e10cSrcweir CXmlDocPtr::operator xmlDoc*()
123cdf0e10cSrcweir {
124cdf0e10cSrcweir     return _object;
125cdf0e10cSrcweir }
126cdf0e10cSrcweir 
127cdf0e10cSrcweir //===========================================================
CXmlCharPtr(xmlChar * aChar)128cdf0e10cSrcweir CXmlCharPtr::CXmlCharPtr(xmlChar * aChar)
129cdf0e10cSrcweir     : _object(aChar)
130cdf0e10cSrcweir {
131cdf0e10cSrcweir }
132cdf0e10cSrcweir 
CXmlCharPtr(const::rtl::OUString & s)133cdf0e10cSrcweir CXmlCharPtr::CXmlCharPtr(const ::rtl::OUString & s):
134cdf0e10cSrcweir     _object(NULL)
135cdf0e10cSrcweir {
136cdf0e10cSrcweir     ::rtl::OString o = ::rtl::OUStringToOString(s, RTL_TEXTENCODING_UTF8);
137cdf0e10cSrcweir     _object = xmlCharStrdup(o.getStr());
138cdf0e10cSrcweir }
CXmlCharPtr()139cdf0e10cSrcweir CXmlCharPtr::CXmlCharPtr():_object(NULL)
140cdf0e10cSrcweir {
141cdf0e10cSrcweir }
142cdf0e10cSrcweir 
~CXmlCharPtr()143cdf0e10cSrcweir CXmlCharPtr::~CXmlCharPtr()
144cdf0e10cSrcweir {
145cdf0e10cSrcweir     xmlFree(_object);
146cdf0e10cSrcweir }
147cdf0e10cSrcweir 
operator =(xmlChar * pObj)148cdf0e10cSrcweir CXmlCharPtr & CXmlCharPtr::operator = (xmlChar* pObj)
149cdf0e10cSrcweir {
150cdf0e10cSrcweir     if (pObj == _object)
151cdf0e10cSrcweir         return *this;
152cdf0e10cSrcweir     xmlFree(_object);
153cdf0e10cSrcweir     _object = pObj;
154cdf0e10cSrcweir     return *this;
155cdf0e10cSrcweir }
156cdf0e10cSrcweir 
operator xmlChar*()157cdf0e10cSrcweir CXmlCharPtr::operator xmlChar*()
158cdf0e10cSrcweir {
159cdf0e10cSrcweir     return _object;
160cdf0e10cSrcweir }
161cdf0e10cSrcweir 
operator ::rtl::OUString()162cdf0e10cSrcweir CXmlCharPtr::operator ::rtl::OUString()
163cdf0e10cSrcweir {
164cdf0e10cSrcweir     ::rtl::OUString ret;
165cdf0e10cSrcweir     if (_object != NULL)
166cdf0e10cSrcweir     {
167cdf0e10cSrcweir         ::rtl::OString aOStr((sal_Char*)_object);
168cdf0e10cSrcweir         ret = ::rtl::OStringToOUString(aOStr, RTL_TEXTENCODING_UTF8);
169cdf0e10cSrcweir     }
170cdf0e10cSrcweir     return ret;
171cdf0e10cSrcweir }
172cdf0e10cSrcweir 
operator ::rtl::OString()173cdf0e10cSrcweir CXmlCharPtr::operator ::rtl::OString()
174cdf0e10cSrcweir {
175cdf0e10cSrcweir     return ::rtl::OString((sal_Char*) _object);
176cdf0e10cSrcweir }
177cdf0e10cSrcweir 
178cdf0e10cSrcweir 
179cdf0e10cSrcweir 
180cdf0e10cSrcweir }
181