aboutsummaryrefslogtreecommitdiffstats
path: root/include/qpdf/BufferInputSource.hh
diff options
context:
space:
mode:
Diffstat (limited to 'include/qpdf/BufferInputSource.hh')
-rw-r--r--include/qpdf/BufferInputSource.hh28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/qpdf/BufferInputSource.hh b/include/qpdf/BufferInputSource.hh
new file mode 100644
index 00000000..63c14def
--- /dev/null
+++ b/include/qpdf/BufferInputSource.hh
@@ -0,0 +1,28 @@
+#ifndef __QPDF_BUFFERINPUTSOURCE_HH__
+#define __QPDF_BUFFERINPUTSOURCE_HH__
+
+#include <qpdf/InputSource.hh>
+#include <qpdf/Buffer.hh>
+
+class BufferInputSource: public InputSource
+{
+ public:
+ BufferInputSource(std::string const& description, Buffer* buf,
+ bool own_memory = false);
+ virtual ~BufferInputSource();
+ virtual qpdf_offset_t findAndSkipNextEOL();
+ virtual std::string const& getName() const;
+ virtual qpdf_offset_t tell();
+ virtual void seek(qpdf_offset_t offset, int whence);
+ virtual void rewind();
+ virtual size_t read(char* buffer, size_t length);
+ virtual void unreadCh(char ch);
+
+ private:
+ bool own_memory;
+ std::string description;
+ Buffer* buf;
+ qpdf_offset_t cur_offset;
+};
+
+#endif // __QPDF_BUFFERINPUTSOURCE_HH__