Class Manager¶
Defined in File manager.h
Class Documentation¶
-
class
kiwix
::
Manager
¶ A tool to manage a
Library
.Public Types
-
typedef std::vector<std::string>
Paths
¶
Public Functions
-
explicit
Manager
(LibraryManipulator *manipulator)¶
-
bool
readFile
(const std::string &path, bool readOnly = true, bool trustLibrary = true)¶ Read a
library.xml
and add book in the file to the library.- Parameters
path – The (utf8) path to the
library.xml
.readOnly – Set if the libray path could be overwritten latter with updated content.
trustLibrary – use book metadata coming from XML.
- Returns
True if file has been properly parsed.
-
void
reload
(const Paths &paths)¶ Sync the contents of the library with one or more
library.xml
files.The metadata of the library files is trusted unconditionally. Any books not present in the input library.xml files are removed from the library.
- Parameters
paths – The (utf8) paths to the
library.xml
files.
-
bool
readXml
(const std::string &xml, const bool readOnly = true, const std::string &libraryPath = "", bool trustLibrary = true)¶ Load a library content store in the string.
- Parameters
xml – The content corresponding of the library xml
readOnly – Set if the libray path could be overwritten latter with updated content.
libraryPath – The library path (used to resolve relative path)
- Returns
True if the content has been properly parsed.
-
bool
readOpds
(const std::string &content, const std::string &urlHost)¶ Load a library content stored in a OPDS stream.
- Parameters
content – The content of the OPDS stream.
readOnly – Set if the library path could be overwritten later with updated content.
libraryPath – The library path (used to resolve relative path)
- Returns
True if the content has been properly parsed.
-
bool
readBookmarkFile
(const std::string &path)¶ Load a bookmark file.
- Parameters
path – The path of the file to read.
- Returns
True if the content has been properly parsed.
-
std::string
addBookFromPathAndGetId
(const std::string &pathToOpen, const std::string &pathToSave = "", const std::string &url = "", const bool checkMetaData = false)¶ Add a book to the library.
- Parameters
pathToOpen – The path to the zim file to add.
pathToSave – The path to store in the library in place of pathToOpen.
url – The url of the book to store in the library.
checMetaData – Tell if we check metadata before adding book to the library.
- Returns
The id of the book if the book has been added to the library. Else, an empty string.
-
bool
addBookFromPath
(const std::string &pathToOpen, const std::string &pathToSave = "", const std::string &url = "", const bool checkMetaData = false)¶ Add a book to the library.
- Parameters
pathToOpen – The path to the zim file to add.
pathToSave – The path to store in the library in place of pathToOpen.
url – The url of the book to store in the library.
checMetaData – Tell if we check metadata before adding book to the library.
- Returns
True if the book has been added to the library.
Public Members
-
std::string
writableLibraryPath
¶
-
bool
m_hasSearchResult
= false¶
-
uint64_t
m_totalBooks
= 0¶
-
uint64_t
m_startIndex
= 0¶
-
uint64_t
m_itemsPerPage
= 0¶
Protected Functions
-
bool
parseXmlDom
(const pugi::xml_document &doc, bool readOnly, const std::string &libraryPath, bool trustLibrary)¶
-
bool
parseOpdsDom
(const pugi::xml_document &doc, const std::string &urlHost)¶
Protected Attributes
-
std::shared_ptr<kiwix::LibraryManipulator>
manipulator
¶
-
typedef std::vector<std::string>