1 // -*- mode: c++; tab-width: 4; indent-tabs-mode: t; eval: (progn (c-set-style "stroustrup") (c-set-offset 'innamespace 0)); -*-
2 // vi:set ts=4 sts=4 sw=4 noet :
3 //
4 // Copyright 2010-2020 wkhtmltopdf authors
5 //
6 // This file is part of wkhtmltopdf.
7 //
8 // wkhtmltopdf is free software: you can redistribute it and/or modify
9 // it under the terms of the GNU Lesser General Public License as published by
10 // the Free Software Foundation, either version 3 of the License, or
11 // (at your option) any later version.
12 //
13 // wkhtmltopdf is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public License
19 // along with wkhtmltopdf.  If not, see <http://www.gnu.org/licenses/>.
20 
21 #ifndef __PDF_C_BINDINGS_P_HH__
22 #define __PDF_C_BINDINGS_P_HH__
23 
24 #include "pdf.h"
25 #include "pdfconverter.hh"
26 #include <QObject>
27 #include <QHash>
28 #include <vector>
29 
30 #include "dllbegin.inc"
31 
32 class DLL_LOCAL MyPdfConverter: public QObject {
33     Q_OBJECT
34 public:
35 	wkhtmltopdf_str_callback warning_cb;
36 	wkhtmltopdf_str_callback error_cb;
37 	wkhtmltopdf_void_callback phase_changed;
38 	wkhtmltopdf_int_callback progress_changed;
39 	wkhtmltopdf_int_callback finished_cb;
40 
41 	wkhtmltopdf::PdfConverter converter;
42 
43 	wkhtmltopdf::settings::PdfGlobal * globalSettings;
44 	std::vector<wkhtmltopdf::settings::PdfObject *> objectSettings;
45   QHash<QString, QByteArray> utf8StringCache;
46 
47 	MyPdfConverter(wkhtmltopdf::settings::PdfGlobal * gs);
48 	~MyPdfConverter();
49 public slots:
50     void warning(const QString & message);
51     void error(const QString & message);
52     void phaseChanged();
53     void progressChanged(int progress);
54     void finished(bool ok);
55 private:
56     MyPdfConverter(const MyPdfConverter&);
57 };
58 
59 #include "dllend.inc"
60 #endif //__PDF_C_BINDINGS_P_HH__
61