From 02333ba1e9670ff1f7fe7170d3e0cc229755dc7b Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 27 Sep 2009 03:11:29 +0000 Subject: checkpoint -- first crack at C API, minor refactoring of encryption functions git-svn-id: svn+q:///qpdf/trunk@720 71b93d88-0707-0410-a8cf-f5a4172ac649 --- libqpdf/QPDFWriter.cc | 2 +- libqpdf/QPDF_encryption.cc | 18 +++++++++++++++++- libqpdf/build.mk | 3 ++- libqpdf/qpdf-c.cc | 18 ++++++++++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 libqpdf/qpdf-c.cc (limited to 'libqpdf') diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index 88dc9e8f..4191e906 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -277,7 +277,7 @@ QPDFWriter::copyEncryptionParameters() encrypt.getKey("/O").getStringValue(), encrypt.getKey("/U").getStringValue(), this->id1, // this->id1 == the other file's id1 - pdf.getUserPassword()); + pdf.getPaddedUserPassword()); } } diff --git a/libqpdf/QPDF_encryption.cc b/libqpdf/QPDF_encryption.cc index 00766b60..2e0e59e7 100644 --- a/libqpdf/QPDF_encryption.cc +++ b/libqpdf/QPDF_encryption.cc @@ -443,7 +443,23 @@ QPDF::compute_encryption_O_U( DLL_EXPORT std::string const& -QPDF::getUserPassword() const +QPDF::getPaddedUserPassword() const { return this->user_password; } + +DLL_EXPORT +std::string +QPDF::getTrimmedUserPassword() const +{ + std::string result = this->user_password; + trim_user_password(result); + return result; +} + +DLL_EXPORT +bool +QPDF::isEncrypted() const +{ + return this->encrypted; +} diff --git a/libqpdf/build.mk b/libqpdf/build.mk index 6d807a6a..da87b7db 100644 --- a/libqpdf/build.mk +++ b/libqpdf/build.mk @@ -43,7 +43,8 @@ SRCS_libqpdf = \ libqpdf/QPDF_optimization.cc \ libqpdf/QTC.cc \ libqpdf/QUtil.cc \ - libqpdf/RC4.cc + libqpdf/RC4.cc \ + libqpdf/qpdf-c.cc # ----- diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc new file mode 100644 index 00000000..3dd7fbe7 --- /dev/null +++ b/libqpdf/qpdf-c.cc @@ -0,0 +1,18 @@ +#include + +class _qpdf_data +{ +}; + +DLL_EXPORT +qpdf_data qpdf_init() +{ + return new _qpdf_data(); +} + +DLL_EXPORT +void qpdf_cleanup(qpdf_data* qpdf) +{ + delete *qpdf; + *qpdf = 0; +} -- cgit v1.2.3-70-g09d2