mirror of
https://github.com/qpdf/qpdf.git
synced 2024-09-22 18:19:08 +00:00
8843e499b8
Also add copyright notice to a few public headers that were missing one.
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
/* Copyright (c) 2005-2013 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__
|