/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_jvmfwk.hxx" #include "libxmlutil.hxx" namespace jfw { CXPathObjectPtr::CXPathObjectPtr(xmlXPathObject* aObject) : _object(aObject) { } CXPathObjectPtr::CXPathObjectPtr():_object(NULL) { } CXPathObjectPtr::~CXPathObjectPtr() { xmlXPathFreeObject(_object); } CXPathObjectPtr & CXPathObjectPtr::operator = (xmlXPathObject* pObj) { if (_object == pObj) return *this; xmlXPathFreeObject(_object); _object = pObj; return *this; } xmlXPathObject* CXPathObjectPtr::operator ->() { return _object; } CXPathObjectPtr::operator xmlXPathObject*() { return _object; } //=========================================================== CXPathContextPtr::CXPathContextPtr(xmlXPathContextPtr aContext) : _object(aContext) { } CXPathContextPtr::CXPathContextPtr():_object(NULL) { } CXPathContextPtr::~CXPathContextPtr() { xmlXPathFreeContext(_object); } CXPathContextPtr & CXPathContextPtr::operator = (xmlXPathContextPtr pObj) { if (_object == pObj) return *this; xmlXPathFreeContext(_object); _object = pObj; return *this; } xmlXPathContext* CXPathContextPtr::operator ->() { return _object; } CXPathContextPtr::operator xmlXPathContext*() { return _object; } //=========================================================== CXmlDocPtr::CXmlDocPtr(xmlDoc* aDoc) : _object(aDoc) { } CXmlDocPtr::CXmlDocPtr():_object(NULL) { } CXmlDocPtr::~CXmlDocPtr() { xmlFreeDoc(_object); } CXmlDocPtr & CXmlDocPtr::operator = (xmlDoc* pObj) { if (_object == pObj) return *this; xmlFreeDoc(_object); _object = pObj; return *this; } xmlDoc* CXmlDocPtr::operator ->() { return _object; } CXmlDocPtr::operator xmlDoc*() { return _object; } //=========================================================== CXmlCharPtr::CXmlCharPtr(xmlChar * aChar) : _object(aChar) { } CXmlCharPtr::CXmlCharPtr(const ::rtl::OUString & s): _object(NULL) { ::rtl::OString o = ::rtl::OUStringToOString(s, RTL_TEXTENCODING_UTF8); _object = xmlCharStrdup(o.getStr()); } CXmlCharPtr::CXmlCharPtr():_object(NULL) { } CXmlCharPtr::~CXmlCharPtr() { xmlFree(_object); } CXmlCharPtr & CXmlCharPtr::operator = (xmlChar* pObj) { if (pObj == _object) return *this; xmlFree(_object); _object = pObj; return *this; } CXmlCharPtr::operator xmlChar*() { return _object; } CXmlCharPtr::operator ::rtl::OUString() { ::rtl::OUString ret; if (_object != NULL) { ::rtl::OString aOStr((sal_Char*)_object); ret = ::rtl::OStringToOUString(aOStr, RTL_TEXTENCODING_UTF8); } return ret; } CXmlCharPtr::operator ::rtl::OString() { return ::rtl::OString((sal_Char*) _object); } }