PoDoFo 1.0.0-dev
Loading...
Searching...
No Matches
PdfObjectStreamProvider.h
1
7#ifndef PDF_OBJECT_STREAM_PROVIDER_H
8#define PDF_OBJECT_STREAM_PROVIDER_H
9
10#include "PdfEncrypt.h"
11#include <podofo/auxiliary/InputStream.h>
12#include <podofo/auxiliary/OutputStream.h>
13
14namespace PoDoFo {
15
16class PdfObject;
17
18class PODOFO_API PdfObjectStreamProvider
19{
20public:
21 virtual ~PdfObjectStreamProvider();
22
23 virtual void Init(PdfObject& obj) = 0;
24
25 virtual void Clear() = 0;
26
27 virtual bool TryCopyFrom(const PdfObjectStreamProvider& rhs) = 0;
28
29 virtual bool TryMoveFrom(PdfObjectStreamProvider&& rhs) = 0;
30
31 virtual std::unique_ptr<InputStream> GetInputStream(PdfObject& obj) = 0;
32
33 virtual std::unique_ptr<OutputStream> GetOutputStream(PdfObject& obj) = 0;
34
35 virtual void Write(OutputStream& stream, const PdfStatefulEncrypt* encrypt) = 0;
36
37 virtual size_t GetLength() const = 0;
38};
39
40};
41
42#endif // PDF_OBJECT_STREAM_PROVIDER_H
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition basetypes.h:16