2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-04 19:30:53 +00:00
qpdf/include/qpdf/InputSource.hh

44 lines
1.1 KiB
C++
Raw Normal View History

2015-05-24 21:11:36 +00:00
/* Copyright (c) 2005-2015 Jay Berkenbilt
*
* This file is part of qpdf. This software may be distributed under
* the terms of version 2 of the Artistic License which may be found
* in the source distribution. It is provided "as is" without express
* or implied warranty.
*/
#ifndef __QPDF_INPUTSOURCE_HH__
#define __QPDF_INPUTSOURCE_HH__
#include <qpdf/Types.h>
#include <stdio.h>
#include <string>
class InputSource
{
public:
InputSource() :
last_offset(0)
{
}
virtual ~InputSource()
{
}
void setLastOffset(qpdf_offset_t);
qpdf_offset_t getLastOffset() const;
std::string readLine(size_t max_line_length);
virtual qpdf_offset_t findAndSkipNextEOL() = 0;
virtual std::string const& getName() const = 0;
virtual qpdf_offset_t tell() = 0;
virtual void seek(qpdf_offset_t offset, int whence) = 0;
virtual void rewind() = 0;
virtual size_t read(char* buffer, size_t length) = 0;
virtual void unreadCh(char ch) = 0;
protected:
qpdf_offset_t last_offset;
};
#endif // __QPDF_INPUTSOURCE_HH__