diff options
Diffstat (limited to 'include/qpdf/BufferInputSource.hh')
-rw-r--r-- | include/qpdf/BufferInputSource.hh | 28 |
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__ |