/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef INCLUDED_WRITERPERFECT_SOURCE_WRITER_EPUBPACKAGE_HXX #define INCLUDED_WRITERPERFECT_SOURCE_WRITER_EPUBPACKAGE_HXX #include #include #include #include #include #include namespace writerperfect { /// The epub package has direct access to the resulting ZIP file. class EPUBPackage : public libepubgen::EPUBPackage { css::uno::Reference mxContext; css::uno::Reference mxStorage; css::uno::Reference mxOutputStream; css::uno::Reference mxOutputWriter; public: explicit EPUBPackage(const css::uno::Reference &xContext, const css::uno::Sequence &rDescriptor); ~EPUBPackage() override; void openXMLFile(const char *pName) override; void openElement(const char *pName, const librevenge::RVNGPropertyList &rAttributes) override; void closeElement(const char *pName) override; void insertCharacters(const librevenge::RVNGString &rCharacters) override; void closeXMLFile() override; void openCSSFile(const char *pName) override; void insertRule(const librevenge::RVNGString &rSelector, const librevenge::RVNGPropertyList &rProperties) override; void closeCSSFile() override; void openBinaryFile(const char *pName) override; void insertBinaryData(const librevenge::RVNGBinaryData &rData) override; void closeBinaryFile() override; void openTextFile(const char *pName) override; void insertText(const librevenge::RVNGString &rCharacters) override; void insertLineBreak() override; void closeTextFile() override; }; } // namespace writerperfect #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */