EPUBManifest.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_EPUBMANIFEST_H
11 #define INCLUDED_EPUBMANIFEST_H
12
13 #include <string>
14 #include <unordered_map>
15 #include <utility>
16
17 namespace libepubgen
18 {
19
20 class EPUBPath;
21 class EPUBXMLSink;
22
23 class EPUBManifest
24 {
25 // disable copying
26 EPUBManifest(const EPUBManifest &);
27 EPUBManifest &operator=(const EPUBManifest &);
28
29 // media-type, id, properties
30 typedef std::tuple<std::string, std::string, std::string> ValueType_t;
31 typedef std::unordered_map<std::string, ValueType_t> MapType_t;
32
33 public:
34 EPUBManifest();
35
36 void insert(const EPUBPath &path, const std::string &mimetype, const std::string &id, const std::string &properties);
37
38 void writeTo(EPUBXMLSink &sink);
39
40 private:
41 MapType_t m_map;
42 };
43
44 }
45
46 #endif // INCLUDED_EPUBMANIFEST_H
47
48 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libepubgen
Definition: EPUBBinarySink.cpp:12
libepubgen::EPUBManifest::EPUBManifest
EPUBManifest()
Definition: EPUBManifest.cpp:19
libepubgen::EPUBManifest::m_map
MapType_t m_map
Definition: EPUBManifest.h:41
libepubgen::EPUBManifest
Definition: EPUBManifest.h:23
libepubgen::EPUBManifest::insert
void insert(const EPUBPath &path, const std::string &mimetype, const std::string &id, const std::string &properties)
Definition: EPUBManifest.cpp:24
libepubgen::EPUBManifest::operator=
EPUBManifest & operator=(const EPUBManifest &)
libepubgen::EPUBPath
Representation of a path in the package.
Definition: EPUBPath.h:21
libepubgen::EPUBManifest::MapType_t
std::unordered_map< std::string, ValueType_t > MapType_t
Definition: EPUBManifest.h:31
libepubgen::EPUBManifest::ValueType_t
std::tuple< std::string, std::string, std::string > ValueType_t
Definition: EPUBManifest.h:30
libepubgen::EPUBXMLSink
Definition: EPUBXMLSink.h:25
libepubgen::EPUBManifest::writeTo
void writeTo(EPUBXMLSink &sink)
Definition: EPUBManifest.cpp:32