diff options
Diffstat (limited to 'jvmfwk/source/libxmlutil.hxx')
-rw-r--r-- | jvmfwk/source/libxmlutil.hxx | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/jvmfwk/source/libxmlutil.hxx b/jvmfwk/source/libxmlutil.hxx new file mode 100644 index 000000000000..8abd7b82ef8d --- /dev/null +++ b/jvmfwk/source/libxmlutil.hxx @@ -0,0 +1,129 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#if !defined INCLUDED_JVMFWK_LIBXMLUTIL_HXX +#define INCLUDED_JVMFWK_LIBXMLUTIL_HXX + + +#include "libxml/parser.h" +#include "libxml/xpath.h" +//#include "libxml/xpathinternals.h" +#include "rtl/ustring.hxx" +namespace jfw +{ +class CXPathObjectPtr +{ + xmlXPathObject* _object; + CXPathObjectPtr & operator = (const CXPathObjectPtr&); + CXPathObjectPtr(const CXPathObjectPtr&); +public: + CXPathObjectPtr(); + /** Takes ownership of xmlXPathObject + */ + CXPathObjectPtr(xmlXPathObject* aObject); + ~CXPathObjectPtr(); + /** Takes ownership of xmlXPathObject + */ + CXPathObjectPtr & operator = (xmlXPathObject* pObj); + xmlXPathObject* operator -> (); + operator xmlXPathObject* (); +}; + +//=========================================================== +class CXPathContextPtr +{ + xmlXPathContext* _object; + + CXPathContextPtr(const jfw::CXPathContextPtr&); + CXPathContextPtr & operator = (const CXPathContextPtr&); +public: + CXPathContextPtr(); + CXPathContextPtr(xmlXPathContextPtr aContext); + CXPathContextPtr & operator = (xmlXPathContextPtr pObj); + ~CXPathContextPtr(); + xmlXPathContext* operator -> (); + operator xmlXPathContext* (); +}; + +//=========================================================== +class CXmlDocPtr +{ + xmlDoc* _object; + + CXmlDocPtr(const CXmlDocPtr&); + +public: + CXmlDocPtr & operator = (const CXmlDocPtr&); + CXmlDocPtr(); + CXmlDocPtr(xmlDoc* aDoc); + /** Takes ownership of xmlDoc + */ + CXmlDocPtr & operator = (xmlDoc* pObj); + ~CXmlDocPtr(); + xmlDoc* operator -> (); + operator xmlDoc* (); +}; + +//=========================================================== +// class CXmlNsPtr +// { +// xmlNs* _object; + +// CXmlNsPtr(const CXmlNsPtr&); +// CXmlNsPtr & operator = (const CXmlNsPtr&); +// public: +// CXmlNsPtr(); +// CXmlNsPtr(xmlNs* aDoc); +// /** Takes ownership of xmlDoc +// */ +// CXmlNsPtr & operator = (xmlNs* pObj); +// ~CXmlNsPtr(); +// xmlNs* operator -> (); +// operator xmlNs* (); +// }; + +//=========================================================== +class CXmlCharPtr +{ + xmlChar* _object; + + CXmlCharPtr(const CXmlCharPtr&); + CXmlCharPtr & operator = (const CXmlCharPtr&); +public: + CXmlCharPtr(); + CXmlCharPtr(xmlChar* aDoc); + CXmlCharPtr(const ::rtl::OUString &); + ~CXmlCharPtr(); + CXmlCharPtr & operator = (xmlChar* pObj); +// xmlChar* operator -> (); + operator xmlChar* (); + operator ::rtl::OUString (); + operator ::rtl::OString (); +}; + + +} +#endif |