7#ifndef PDF_OBJECT_STREAM_PROVIDER_H
8#define PDF_OBJECT_STREAM_PROVIDER_H
10#include "PdfEncrypt.h"
11#include <podofo/auxiliary/InputStream.h>
12#include <podofo/auxiliary/OutputStream.h>
18class PODOFO_API PdfObjectStreamProvider
21 virtual ~PdfObjectStreamProvider();
23 virtual void Init(PdfObject& obj) = 0;
25 virtual void Clear() = 0;
27 virtual bool TryCopyFrom(
const PdfObjectStreamProvider& rhs) = 0;
29 virtual bool TryMoveFrom(PdfObjectStreamProvider&& rhs) = 0;
31 virtual std::unique_ptr<InputStream> GetInputStream(PdfObject& obj) = 0;
33 virtual std::unique_ptr<OutputStream> GetOutputStream(PdfObject& obj) = 0;
35 virtual void Write(OutputStream& stream,
const PdfStatefulEncrypt* encrypt) = 0;
37 virtual size_t GetLength()
const = 0;
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition basetypes.h:16