File indexing completed on 2024-12-08 12:56:13
0001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ 0002 /* writerperfect 0003 * Version: MPL 2.0 / LGPLv2.1+ 0004 * 0005 * This Source Code Form is subject to the terms of the Mozilla Public 0006 * License, v. 2.0. If a copy of the MPL was not distributed with this 0007 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 0008 * 0009 * Major Contributor(s): 0010 * Copyright (C) 2002-2004 William Lachance (wrlach@gmail.com) 0011 * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch) 0012 * 0013 * For minor contributions see the git repository. 0014 * 0015 * Alternatively, the contents of this file may be used under the terms 0016 * of the GNU Lesser General Public License Version 2.1 or later 0017 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are 0018 * applicable instead of those above. 0019 * 0020 * For further information visit http://libwpd.sourceforge.net 0021 */ 0022 0023 #ifndef _STRING_DOCUMENT_HANDLER_H 0024 #define _STRING_DOCUMENT_HANDLER_H 0025 0026 #include <libodfgen/libodfgen.hxx> 0027 0028 class StringDocumentHandler : public OdfDocumentHandler 0029 { 0030 public: 0031 StringDocumentHandler(); 0032 0033 char const *cstr() const 0034 { 0035 return m_data.cstr(); 0036 } 0037 0038 void startDocument() override {} 0039 void endDocument() override; 0040 void startElement(const char *psName, const librevenge::RVNGPropertyList &xPropList) override; 0041 void endElement(const char *psName) override; 0042 void characters(const librevenge::RVNGString &sCharacters) override; 0043 private: 0044 private: 0045 librevenge::RVNGString m_data; 0046 bool m_isTagOpened; 0047 librevenge::RVNGString m_openedTagName; 0048 }; 0049 #endif 0050 0051 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */