EPUBHTMLManager.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_EPUBHTMLMANAGER_H
11 #define INCLUDED_EPUBHTMLMANAGER_H
12 
13 #include <string>
14 #include <vector>
15 
16 #include <librevenge/librevenge.h>
17 
18 #include "EPUBCounter.h"
19 #include "EPUBHTMLGenerator.h"
20 #include "EPUBPath.h"
21 #include "EPUBXMLSink.h"
22 
23 namespace libepubgen
24 {
25 
26 class EPUBImageManager;
27 class EPUBListStyleManager;
28 class EPUBParagraphStyleManager;
29 class EPUBSpanStyleManager;
30 class EPUBTableStyleManager;
31 class EPUBManifest;
32 class EPUBPackage;
33 
35 {
36  // disable copying
39 
40 public:
41  explicit EPUBHTMLManager(EPUBManifest &manifest);
42 
43  const EPUBHTMLGeneratorPtr_t create(EPUBImageManager &imageManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &stylesheetPath);
44 
45  void writeTo(EPUBPackage &package);
46 
47  void writeSpineTo(EPUBXMLSink &sink);
48  void writeTocTo(EPUBXMLSink &sink, const EPUBPath &tocPath);
49 
50 private:
52  std::vector<EPUBPath> m_paths;
53  std::vector<EPUBXMLSink> m_contents;
54  std::vector<std::string> m_ids;
56 };
57 
58 }
59 
60 #endif // INCLUDED_EPUBHTMLMANAGER
61 
62 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void writeTocTo(EPUBXMLSink &sink, const EPUBPath &tocPath)
Definition: EPUBHTMLManager.cpp:68
Small class to manage the span style.
Definition: EPUBSpanStyleManager.h:28
Definition: EPUBBinarySink.cpp:12
Small class to manage the paragraph style.
Definition: EPUBParagraphStyleManager.h:28
Small class to manage the list style.
Definition: EPUBListStyleManager.h:30
Definition: EPUBHTMLManager.h:34
void writeTo(EPUBPackage &package)
Definition: EPUBHTMLManager.cpp:47
Small class to manage the tables style.
Definition: EPUBTableStyleManager.h:28
std::vector< EPUBXMLSink > m_contents
Definition: EPUBHTMLManager.h:53
void writeSpineTo(EPUBXMLSink &sink)
Definition: EPUBHTMLManager.cpp:58
EPUBHTMLManager & operator=(const EPUBHTMLManager &)
Definition: EPUBManifest.h:24
EPUBManifest & m_manifest
Definition: EPUBHTMLManager.h:51
Representation of a path in the package.
Definition: EPUBPath.h:21
EPUBHTMLManager(const EPUBHTMLManager &)
boost::shared_ptr< EPUBHTMLGenerator > EPUBHTMLGeneratorPtr_t
Definition: EPUBHTMLGenerator.h:121
std::vector< EPUBPath > m_paths
Definition: EPUBHTMLManager.h:52
const EPUBHTMLGeneratorPtr_t create(EPUBImageManager &imageManager, EPUBListStyleManager &listStyleManager, EPUBParagraphStyleManager &paragraphStyleManager, EPUBSpanStyleManager &spanStyleManager, EPUBTableStyleManager &tableStyleManager, const EPUBPath &stylesheetPath)
Definition: EPUBHTMLManager.cpp:28
EPUBCounter m_number
Definition: EPUBHTMLManager.h:55
std::vector< std::string > m_ids
Definition: EPUBHTMLManager.h:54
Definition: EPUBCounter.h:16
Definition: EPUBXMLSink.h:26
Definition: EPUBImageManager.h:26

Generated for libepubgen by doxygen 1.8.8