EPUBXMLSink.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libepubgen 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 #ifndef INCLUDED_EPUBXMLSINK_H
11 #define INCLUDED_EPUBXMLSINK_H
12 
13 #include <deque>
14 #include <memory>
15 
16 #include <librevenge/librevenge.h>
17 
18 #include <libepubgen/libepubgen.h>
19 
20 namespace libepubgen
21 {
22 
23 class EPUBXMLElement;
24 
26 {
27  typedef std::shared_ptr<EPUBXMLElement> EPUBXMLElementPtr_t;
28 
29 public:
30  EPUBXMLSink();
31 
32  void openElement(const char *name, const librevenge::RVNGPropertyList &attributes = librevenge::RVNGPropertyList());
33  void closeElement(const char *name);
34 
35  void insertEmptyElement(const char *name, const librevenge::RVNGPropertyList &attributes = librevenge::RVNGPropertyList());
36 
37  void insertCharacters(const librevenge::RVNGString &characters);
38 
39  void append(const EPUBXMLSink &other);
40 
41  void writeTo(EPUBPackage &package, const char *name);
42 
43  bool empty() const;
44 
45 private:
46  std::deque<EPUBXMLElementPtr_t> m_elements;
47 };
48 
49 }
50 
51 #endif // INCLUDED_EPUBXMLSINK_H
52 
53 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
m_characters
const RVNGString m_characters
Definition: EPUBXMLSink.cpp:112
libepubgen::EPUBTextGenerator::Impl::m_inPageSpan
bool m_inPageSpan
Definition: EPUBTextGenerator.cpp:72
libepubgen::EPUBXMLElement::writeTo
virtual void writeTo(EPUBPackage &package) const =0
EPUBGEN_DEBUG_MSG
#define EPUBGEN_DEBUG_MSG(M)
Definition: libepubgen_utils.h:42
libepubgen::EPUBXMLSink::m_elements
std::deque< EPUBXMLElementPtr_t > m_elements
Definition: EPUBXMLSink.h:46
libepubgen::EPUBTextGenerator::Impl::endHtmlFile
void endHtmlFile() override
Definition: EPUBTextGenerator.cpp:111
EPUBXMLSink.h
libepubgen::EPUBTextGenerator::Impl::m_inHeader
bool m_inHeader
Definition: EPUBTextGenerator.cpp:73
libepubgen::EPUBTextGenerator::Impl::m_inFooter
bool m_inFooter
Definition: EPUBTextGenerator.cpp:74
libepubgen::EPUBXMLElement
Definition: EPUBXMLSink.cpp:20
libepubgen::EPUBTextGenerator::Impl::m_imageHandlers
ImageHandlerMap_t m_imageHandlers
Definition: EPUBTextGenerator.cpp:81
m_name
const std::string m_name
Definition: EPUBXMLSink.cpp:48
libepubgen
Definition: EPUBBinarySink.cpp:12
libepubgen::EPUBTextGenerator::Impl::m_breakAfterPara
bool m_breakAfterPara
Definition: EPUBTextGenerator.cpp:83
libepubgen::EPUBXMLSink::append
void append(const EPUBXMLSink &other)
Definition: EPUBXMLSink.cpp:153
libepubgen::EPUBTextGenerator::Impl::operator=
Impl & operator=(const Impl &)
m_attributes
const RVNGPropertyList m_attributes
Definition: EPUBXMLSink.cpp:49
libepubgen::EPUBXMLSink::EPUBXMLElementPtr_t
std::shared_ptr< EPUBXMLElement > EPUBXMLElementPtr_t
Definition: EPUBXMLSink.h:27
libepubgen::EPUBTextGenerator::Impl::m_currentHeader
shared_ptr< EPUBTextElements > m_currentHeader
Definition: EPUBTextGenerator.cpp:77
libepubgen::EPUBTextGenerator::Impl::m_currentFooter
shared_ptr< EPUBTextElements > m_currentFooter
Definition: EPUBTextGenerator.cpp:78
libepubgen::EPUBXMLSink::insertCharacters
void insertCharacters(const librevenge::RVNGString &characters)
Definition: EPUBXMLSink.cpp:148
libepubgen::EPUBXMLSink::openElement
void openElement(const char *name, const librevenge::RVNGPropertyList &attributes=librevenge::RVNGPropertyList())
Definition: EPUBXMLSink.cpp:132
libepubgen::EPUBGenerator
Definition: EPUBGenerator.h:29
libepubgen::EPUBXMLSink::writeTo
void writeTo(EPUBPackage &package, const char *name)
Definition: EPUBXMLSink.cpp:163
libepubgen::EPUBTextGenerator::Impl::m_pageSpanProps
RVNGPropertyList m_pageSpanProps
Definition: EPUBTextGenerator.cpp:76
libepubgen::EPUBTextGenerator::Impl::startHtmlFile
void startHtmlFile() override
Definition: EPUBTextGenerator.cpp:105
libepubgen::EPUBXMLSink::empty
bool empty() const
Definition: EPUBXMLSink.cpp:158
libepubgen::EPUBXMLElement::~EPUBXMLElement
virtual ~EPUBXMLElement()=0
Definition: EPUBXMLSink.cpp:28
libepubgen::EPUBTextGenerator::Impl
Definition: EPUBTextGenerator.cpp:63
libepubgen::EPUBTextGenerator::Impl::m_currentHeaderOrFooter
shared_ptr< EPUBTextElements > m_currentHeaderOrFooter
Definition: EPUBTextGenerator.cpp:79
EPUBPath.h
EPUBTextElements.h
libepubgen::EPUBXMLSink::EPUBXMLSink
EPUBXMLSink()
Definition: EPUBXMLSink.cpp:127
EPUBGenerator.h
libepubgen::EPUBXMLSink::closeElement
void closeElement(const char *name)
Definition: EPUBXMLSink.cpp:137
libepubgen::EPUBTextGenerator::Impl::Impl
Impl(EPUBPackage *package, int version)
Definition: EPUBTextGenerator.cpp:91
libepubgen::EPUBXMLSink
Definition: EPUBXMLSink.h:25
libepubgen_utils.h
libepubgen::isValidMimeType
static bool isValidMimeType(const RVNGString &mediaType)
Checks if the media type is an EPUB 3 Core Media Type or not.
Definition: EPUBTextGenerator.cpp:616
libepubgen::EPUBXMLSink::insertEmptyElement
void insertEmptyElement(const char *name, const librevenge::RVNGPropertyList &attributes=librevenge::RVNGPropertyList())
Definition: EPUBXMLSink.cpp:142

Generated for libepubgen by doxygen 1.8.16