LibreOffice Module writerperfect (master) 1
EPUBPackage.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#pragma once
11
12#include <libepubgen/EPUBPackage.h>
13
14#include <com/sun/star/uno/Sequence.h>
15#include <com/sun/star/uno/Reference.h>
16
17namespace com::sun::star
18{
19namespace beans
20{
21struct PropertyValue;
22}
23namespace embed
24{
25class XHierarchicalStorageAccess;
26}
27namespace io
28{
29class XOutputStream;
30}
31namespace uno
32{
33class XComponentContext;
34}
35namespace xml::sax
36{
37class XWriter;
38}
39}
40
41namespace writerperfect
42{
44class EPUBPackage : public libepubgen::EPUBPackage
45{
46 css::uno::Reference<css::uno::XComponentContext> mxContext;
47 css::uno::Reference<css::embed::XHierarchicalStorageAccess> mxStorage;
48 css::uno::Reference<css::io::XOutputStream> mxOutputStream;
49 css::uno::Reference<css::xml::sax::XWriter> mxOutputWriter;
50
51public:
52 explicit EPUBPackage(css::uno::Reference<css::uno::XComponentContext> xContext,
53 const css::uno::Sequence<css::beans::PropertyValue>& rDescriptor);
54
55 ~EPUBPackage() override;
56
57 void openXMLFile(const char* pName) override;
58
59 void openElement(const char* pName, const librevenge::RVNGPropertyList& rAttributes) override;
60 void closeElement(const char* pName) override;
61
62 void insertCharacters(const librevenge::RVNGString& rCharacters) override;
63
64 void closeXMLFile() override;
65
66 void openCSSFile(const char* pName) override;
67
68 void insertRule(const librevenge::RVNGString& rSelector,
69 const librevenge::RVNGPropertyList& rProperties) override;
70
71 void closeCSSFile() override;
72
73 void openBinaryFile(const char* pName) override;
74
75 void insertBinaryData(const librevenge::RVNGBinaryData& rData) override;
76
77 void closeBinaryFile() override;
78
79 void openTextFile(const char* pName) override;
80
81 void insertText(const librevenge::RVNGString& rCharacters) override;
82
83 void insertLineBreak() override;
84
85 void closeTextFile() override;
86};
87
88} // namespace writerperfect
89
90/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
The epub package has direct access to the resulting ZIP file.
Definition: EPUBPackage.hxx:45
void insertRule(const librevenge::RVNGString &rSelector, const librevenge::RVNGPropertyList &rProperties) override
void insertBinaryData(const librevenge::RVNGBinaryData &rData) override
css::uno::Reference< css::embed::XHierarchicalStorageAccess > mxStorage
Definition: EPUBPackage.hxx:47
void closeTextFile() override
void closeElement(const char *pName) override
Definition: EPUBPackage.cxx:93
void insertCharacters(const librevenge::RVNGString &rCharacters) override
css::uno::Reference< css::xml::sax::XWriter > mxOutputWriter
Definition: EPUBPackage.hxx:49
void openCSSFile(const char *pName) override
void insertText(const librevenge::RVNGString &rCharacters) override
css::uno::Reference< css::uno::XComponentContext > mxContext
Definition: EPUBPackage.hxx:46
void openXMLFile(const char *pName) override
Definition: EPUBPackage.cxx:65
void closeBinaryFile() override
void insertLineBreak() override
void openTextFile(const char *pName) override
void closeCSSFile() override
css::uno::Reference< css::io::XOutputStream > mxOutputStream
Definition: EPUBPackage.hxx:48
void closeXMLFile() override
void openBinaryFile(const char *pName) override
EPUBPackage(css::uno::Reference< css::uno::XComponentContext > xContext, const css::uno::Sequence< css::beans::PropertyValue > &rDescriptor)
Definition: EPUBPackage.cxx:29
void openElement(const char *pName, const librevenge::RVNGPropertyList &rAttributes) override
Definition: EPUBPackage.cxx:79