mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 10:58:58 +00:00
Add new _qpdf_data constructor taking a std::unique_ptr<QPDF>
Also, move _qpdf_data and to new header filer _qpdf_error to new header file qpdf-c_impl.hh
This commit is contained in:
parent
a2edf27b76
commit
c78f44798a
@ -12,6 +12,7 @@
|
||||
#include <qpdf/QPDFWriter.hh>
|
||||
#include <qpdf/QTC.hh>
|
||||
#include <qpdf/QUtil.hh>
|
||||
#include <qpdf/qpdf-c_impl.hh>
|
||||
#include <qpdf/qpdflogger-c_impl.hh>
|
||||
|
||||
#include <cstring>
|
||||
@ -20,42 +21,6 @@
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
struct _qpdf_error
|
||||
{
|
||||
std::shared_ptr<QPDFExc> exc;
|
||||
};
|
||||
|
||||
struct _qpdf_data
|
||||
{
|
||||
_qpdf_data() = default;
|
||||
~_qpdf_data() = default;
|
||||
|
||||
std::shared_ptr<QPDF> qpdf;
|
||||
std::shared_ptr<QPDFWriter> qpdf_writer;
|
||||
|
||||
std::shared_ptr<QPDFExc> error;
|
||||
_qpdf_error tmp_error;
|
||||
std::list<QPDFExc> warnings;
|
||||
std::string tmp_string;
|
||||
|
||||
// Parameters for functions we call
|
||||
char const* filename{nullptr}; // or description
|
||||
char const* buffer{nullptr};
|
||||
unsigned long long size{0};
|
||||
char const* password{nullptr};
|
||||
bool write_memory{false};
|
||||
std::shared_ptr<Buffer> output_buffer;
|
||||
|
||||
// QPDFObjectHandle support
|
||||
bool silence_errors{false};
|
||||
bool oh_error_occurred{false};
|
||||
std::map<qpdf_oh, std::shared_ptr<QPDFObjectHandle>> oh_cache;
|
||||
qpdf_oh next_oh{0};
|
||||
std::set<std::string> cur_iter_dict_keys;
|
||||
std::set<std::string>::const_iterator dict_iter;
|
||||
std::string cur_dict_key;
|
||||
};
|
||||
|
||||
// must set qpdf->filename and qpdf->password
|
||||
static void
|
||||
call_read(qpdf_data qpdf)
|
||||
|
47
libqpdf/qpdf/qpdf-c_impl.hh
Normal file
47
libqpdf/qpdf/qpdf-c_impl.hh
Normal file
@ -0,0 +1,47 @@
|
||||
#include <qpdf/qpdf-c.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include <qpdf/QPDF.hh>
|
||||
#include <qpdf/QPDFExc.hh>
|
||||
#include <qpdf/QPDFWriter.hh>
|
||||
|
||||
struct _qpdf_error
|
||||
{
|
||||
std::shared_ptr<QPDFExc> exc;
|
||||
};
|
||||
|
||||
struct _qpdf_data
|
||||
{
|
||||
_qpdf_data() = default;
|
||||
|
||||
_qpdf_data(std::unique_ptr<QPDF>&& qpdf) :
|
||||
qpdf(std::move(qpdf)){};
|
||||
|
||||
~_qpdf_data() = default;
|
||||
|
||||
std::shared_ptr<QPDF> qpdf;
|
||||
std::shared_ptr<QPDFWriter> qpdf_writer;
|
||||
|
||||
std::shared_ptr<QPDFExc> error;
|
||||
_qpdf_error tmp_error;
|
||||
std::list<QPDFExc> warnings;
|
||||
std::string tmp_string;
|
||||
|
||||
// Parameters for functions we call
|
||||
char const* filename{nullptr}; // or description
|
||||
char const* buffer{nullptr};
|
||||
unsigned long long size{0};
|
||||
char const* password{nullptr};
|
||||
bool write_memory{false};
|
||||
std::shared_ptr<Buffer> output_buffer;
|
||||
|
||||
// QPDFObjectHandle support
|
||||
bool silence_errors{false};
|
||||
bool oh_error_occurred{false};
|
||||
std::map<qpdf_oh, std::shared_ptr<QPDFObjectHandle>> oh_cache;
|
||||
qpdf_oh next_oh{0};
|
||||
std::set<std::string> cur_iter_dict_keys;
|
||||
std::set<std::string>::const_iterator dict_iter;
|
||||
std::string cur_dict_key;
|
||||
};
|
Loading…
Reference in New Issue
Block a user