aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-05 22:13:43 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commit2394dd8519feed0fd6e04eb903d75029316b36e7 (patch)
treeb82b5a17f9ae7d0568b55164e50368c2961717dc /include
parente2975b9ed0f675d1f740d65fd67c6cd99812bd1e (diff)
downloadqpdf-2394dd8519feed0fd6e04eb903d75029316b36e7.tar.zst
QPDFJob increment: static functions to member functions
Convert remaining static functions that take QPDFJob& as a parameter to member functions. Utility functions that don't take QPDFJob& remain static functions and can probably just stay that way since the keep extra complexity out of QPDFJob.hh.
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDFJob.hh37
1 files changed, 36 insertions, 1 deletions
diff --git a/include/qpdf/QPDFJob.hh b/include/qpdf/QPDFJob.hh
index 52a93284..190dd3a3 100644
--- a/include/qpdf/QPDFJob.hh
+++ b/include/qpdf/QPDFJob.hh
@@ -23,9 +23,10 @@
#define QPDFJOB_HH
#include <qpdf/DLL.h>
+#include <qpdf/Constants.h>
#include <qpdf/PointerHolder.hh>
#include <qpdf/QPDF.hh>
-#include <qpdf/Constants.h>
+#include <qpdf/QPDFPageObjectHelper.hh>
#include <string>
#include <list>
@@ -169,6 +170,12 @@ class QPDFJob
std::string prefix;
};
+ PointerHolder<QPDF> doProcessOnce(
+ std::function<void(QPDF*, char const*)> fn,
+ char const* password, bool empty);
+ PointerHolder<QPDF> doProcess(
+ std::function<void(QPDF*, char const*)> fn,
+ char const* password, bool empty);
PointerHolder<QPDF> processFile(
char const* filename, char const* password);
void validateUnderOverlay(QPDF& pdf, QPDFJob::UnderOverlay* uo);
@@ -181,6 +188,7 @@ class QPDFJob
void writeOutfile(QPDF& pdf);
void doJSON(QPDF& pdf);
void doInspection(QPDF& pdf);
+ void setQPDFOptions(QPDF& pdf);
void showEncryption(QPDF& pdf);
void doCheck(QPDF& pdf);
void doShowObj(QPDF& pdf);
@@ -189,6 +197,33 @@ class QPDFJob
void setEncryptionOptions(QPDF&, QPDFWriter&);
void maybeFixWritePassword(int R, std::string& password);
+ void doShowAttachment(QPDF& pdf);
+ std::set<QPDFObjGen> getWantedJSONObjects();
+ void doJSONObjects(QPDF& pdf, JSON& j);
+ void doJSONObjectinfo(QPDF& pdf, JSON& j);
+ void doJSONPages(QPDF& pdf, JSON& j);
+ void doJSONPageLabels(QPDF& pdf, JSON& j);
+ void doJSONOutlines(QPDF& pdf, JSON& j);
+ void doJSONAcroform(QPDF& pdf, JSON& j);
+ void doJSONEncrypt(QPDF& pdf, JSON& j);
+ void doJSONAttachments(QPDF& pdf, JSON& j);
+ PointerHolder<QPDF> processInputSource(
+ PointerHolder<InputSource> is, char const* password);
+ void doUnderOverlayForPage(
+ QPDF& pdf,
+ QPDFJob::UnderOverlay& uo,
+ std::map<int, std::vector<int> >& pagenos,
+ size_t page_idx,
+ std::map<int, QPDFObjectHandle>& fo,
+ std::vector<QPDFPageObjectHelper>& pages,
+ QPDFPageObjectHelper& dest_page,
+ bool before);
+ bool shouldRemoveUnreferencedResources(QPDF& pdf);
+ void handlePageSpecs(
+ QPDF& pdf, bool& warnings,
+ std::vector<PointerHolder<QPDF>>& page_heap);
+ void handleRotations(QPDF& pdf);
+
enum remove_unref_e { re_auto, re_yes, re_no };
char const* password;