summaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf/SF_ASCIIHexDecode.hh
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/qpdf/SF_ASCIIHexDecode.hh')
-rw-r--r--libqpdf/qpdf/SF_ASCIIHexDecode.hh30
1 files changed, 30 insertions, 0 deletions
diff --git a/libqpdf/qpdf/SF_ASCIIHexDecode.hh b/libqpdf/qpdf/SF_ASCIIHexDecode.hh
new file mode 100644
index 00000000..869d0722
--- /dev/null
+++ b/libqpdf/qpdf/SF_ASCIIHexDecode.hh
@@ -0,0 +1,30 @@
+#include <qpdf/QPDFStreamFilter.hh>
+#include <qpdf/Pl_ASCIIHexDecoder.hh>
+#include <memory>
+
+#ifndef SF_ASCIIHEXDECODE_HH
+#define SF_ASCIIHEXDECODE_HH
+
+class SF_ASCIIHexDecode: public QPDFStreamFilter
+{
+ public:
+ SF_ASCIIHexDecode() = default;
+ virtual ~SF_ASCIIHexDecode() = default;
+
+ virtual Pipeline* getDecodePipeline(Pipeline* next) override
+ {
+ this->pipeline = std::make_shared<Pl_ASCIIHexDecoder>(
+ "asciiHex decode", next);
+ return this->pipeline.get();
+ }
+
+ static std::shared_ptr<QPDFStreamFilter> factory()
+ {
+ return std::make_shared<SF_ASCIIHexDecode>();
+ }
+
+ private:
+ std::shared_ptr<Pipeline> pipeline;
+};
+
+#endif // SF_ASCIIHEXDECODE_HH