4#ifndef PDF_OBJECT_STREAM_PROVIDER_H
5#define PDF_OBJECT_STREAM_PROVIDER_H
8#include <podofo/auxiliary/InputStream.h>
9#include <podofo/auxiliary/OutputStream.h>
15class PODOFO_API PdfObjectStreamProvider
18 virtual ~PdfObjectStreamProvider();
20 virtual void Init(PdfObject& obj) = 0;
22 virtual void Clear() = 0;
24 virtual bool TryCopyFrom(
const PdfObjectStreamProvider& rhs) = 0;
26 virtual bool TryMoveFrom(PdfObjectStreamProvider&& rhs) = 0;
28 virtual std::unique_ptr<InputStream> GetInputStream(PdfObject& obj) = 0;
30 virtual std::unique_ptr<OutputStream> GetOutputStream(PdfObject& obj) = 0;
32 virtual void Write(OutputStream& stream,
const PdfStatefulEncrypt* encrypt) = 0;
34 virtual size_t GetLength()
const = 0;
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13