#ifndef QPDF_OFFSETINPUTSOURCE_HH #define QPDF_OFFSETINPUTSOURCE_HH // This class implements an InputSource that proxies for an underlying // input source but offset a specific number of bytes. #include #include class OffsetInputSource: public InputSource { public: OffsetInputSource(PointerHolder, qpdf_offset_t global_offset); virtual ~OffsetInputSource(); 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: PointerHolder proxied; qpdf_offset_t global_offset; }; #endif // QPDF_OFFSETINPUTSOURCE_HH