MLBookProc 2.1
Loading...
Searching...
No Matches
DJVUParser.h
1/*
2 * Copyright (C) 2026 Yury Bobylev <bobilev_yury@mail.ru>
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the Free
6 * Software Foundation, version 3.
7 *
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License along with
14 * this program. If not, see <https://www.gnu.org/licenses/>.
15 */
16#ifndef DJVUPARSER_H
17#define DJVUPARSER_H
18
19#include <BaseID.h>
20#include <MLBookProc.h>
21#include <UDBase.h>
22#include <libdjvu/ddjvuapi.h>
23
31{
32public:
37 DJVUParser(const std::shared_ptr<MLBookProc> &mlbp);
38
45 UDBElement
46 parseBook(const std::string &book_content);
47
54 UDBase
55 getBookInfo(const std::string &book_content);
56
57private:
58 bool
59 setBookContentToStream(const std::shared_ptr<DJVUContext> &ctx,
60 const std::shared_ptr<ddjvu_document_t> &doc,
61 const std::string &book_content);
62
63 bool
64 waitDocumentInfo(const std::shared_ptr<DJVUContext> &ctx,
65 const std::shared_ptr<ddjvu_document_t> &doc);
66
67 std::shared_ptr<ddjvu_page_t>
68 getFirstPage(const std::shared_ptr<DJVUContext> &ctx,
69 const std::shared_ptr<ddjvu_document_t> &doc);
70
71 void
72 getTag(const std::string &exp, const std::string &tag, std::string &line);
73
74 std::shared_ptr<MLBookProc> mlbp;
75
76 BaseID bid;
77};
78
79#endif // DJVUPARSER_H
The BaseID class.
Definition BaseID.h:28
DJVUParser(const std::shared_ptr< MLBookProc > &mlbp)
DJVUParser constructor.
UDBase getBookInfo(const std::string &book_content)
UDBElement parseBook(const std::string &book_content)