EPUBGenerator.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_EPUBGENERATOR_H
11 #define INCLUDED_EPUBGENERATOR_H
12 
13 #include "EPUBHTMLManager.h"
14 #include "EPUBHTMLGenerator.h"
15 #include "EPUBImageManager.h"
16 #include "EPUBListStyleManager.h"
17 #include "EPUBManifest.h"
19 #include "EPUBPath.h"
20 #include "EPUBSpanStyleManager.h"
21 #include "EPUBSplitGuard.h"
22 #include "EPUBTableStyleManager.h"
23 
24 namespace libepubgen
25 {
26 
27 class EPUBPackage;
28 
30 {
31  // disable copying
34 
35 public:
36  EPUBGenerator(EPUBPackage *package, EPUBSplitMethod method);
37  virtual ~EPUBGenerator();
38 
39  void startDocument(const librevenge::RVNGPropertyList &props);
40  void endDocument();
41 
42  void setDocumentMetaData(const librevenge::RVNGPropertyList &props);
43 
44  void startNewHtmlFile();
45 
46  const EPUBHTMLGeneratorPtr_t &getHtml() const;
47 
48  const EPUBSplitGuard &getSplitGuard() const;
50 
51 private:
52  virtual void startHtmlFile() = 0;
53  virtual void endHtmlFile() = 0;
54 
55 private:
56  void writeContainer();
57  void writeNavigation();
58  void writeStylesheet();
59  void writeRoot();
60 
61 private:
62  EPUBPackage *m_package;
71 
72  librevenge::RVNGPropertyList m_documentProps;
73  librevenge::RVNGPropertyList m_metadata;
74 
76 
78 };
79 
80 }
81 
82 #endif // INCLUDED_EPUBGENERATOR
83 
84 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void startNewHtmlFile()
Definition: EPUBGenerator.cpp:74
EPUBGenerator & operator=(const EPUBGenerator &)
Small class to manage the span style.
Definition: EPUBSpanStyleManager.h:29
librevenge::RVNGPropertyList m_metadata
Definition: EPUBGenerator.h:73
Definition: EPUBBinarySink.cpp:12
EPUBListStyleManager m_listStyleManager
Definition: EPUBGenerator.h:66
Small class to manage the paragraph style.
Definition: EPUBParagraphStyleManager.h:29
Small class to manage the list style.
Definition: EPUBListStyleManager.h:31
Definition: EPUBHTMLManager.h:34
const EPUBHTMLGeneratorPtr_t & getHtml() const
Definition: EPUBGenerator.cpp:94
void endDocument()
Definition: EPUBGenerator.cpp:53
virtual void startHtmlFile()=0
librevenge::RVNGPropertyList m_documentProps
Definition: EPUBGenerator.h:72
Small class to manage the tables style.
Definition: EPUBTableStyleManager.h:29
EPUBSpanStyleManager m_spanStyleManager
Definition: EPUBGenerator.h:68
void startDocument(const librevenge::RVNGPropertyList &props)
Definition: EPUBGenerator.cpp:43
const EPUBPath m_stylesheetPath
Definition: EPUBGenerator.h:70
Definition: EPUBManifest.h:23
std::shared_ptr< EPUBHTMLGenerator > EPUBHTMLGeneratorPtr_t
Definition: EPUBHTMLGenerator.h:121
Definition: EPUBSplitGuard.h:18
EPUBParagraphStyleManager m_paragraphStyleManager
Definition: EPUBGenerator.h:67
EPUBPackage * m_package
Definition: EPUBGenerator.h:62
Representation of a path in the package.
Definition: EPUBPath.h:21
EPUBManifest m_manifest
Definition: EPUBGenerator.h:63
const EPUBSplitGuard & getSplitGuard() const
Definition: EPUBGenerator.cpp:99
virtual void endHtmlFile()=0
EPUBTableStyleManager m_tableStyleManager
Definition: EPUBGenerator.h:69
EPUBGenerator(const EPUBGenerator &)
EPUBHTMLGeneratorPtr_t m_currentHtml
Definition: EPUBGenerator.h:75
void writeContainer()
Definition: EPUBGenerator.cpp:109
void setDocumentMetaData(const librevenge::RVNGPropertyList &props)
Definition: EPUBGenerator.cpp:69
EPUBHTMLManager m_htmlManager
Definition: EPUBGenerator.h:64
void writeRoot()
Definition: EPUBGenerator.cpp:176
EPUBImageManager m_imageManager
Definition: EPUBGenerator.h:65
Definition: EPUBGenerator.h:29
void writeStylesheet()
Definition: EPUBGenerator.cpp:164
virtual ~EPUBGenerator()
Definition: EPUBGenerator.cpp:39
void writeNavigation()
Definition: EPUBGenerator.cpp:132
EPUBSplitGuard m_splitGuard
Definition: EPUBGenerator.h:77
Definition: EPUBImageManager.h:26

Generated for libepubgen by doxygen 1.8.11