9#include "PdfMemDocument.h"
10#include "PdfSignature.h"
16 class PODOFO_API PdfSigner
27 virtual void ValidateSignatureDate(
const nullable<PdfDate>& date);
33 virtual void Reset() = 0;
38 virtual void AppendData(
const bufferview& data) = 0;
46 virtual void ComputeSignature(charbuff& contents,
bool dryrun) = 0;
53 virtual void FetchIntermediateResult(charbuff& result);
63 virtual void ComputeSignatureDeferred(
const bufferview& processedResult, charbuff& contents,
bool dryrun);
67 virtual bool SkipBufferClear()
const;
70 virtual std::string GetSignatureFilter()
const;
73 virtual std::string GetSignatureSubFilter()
const = 0;
76 virtual std::string GetSignatureType()
const = 0;
80 virtual unsigned GetSignerIdentityCount()
const;
84 virtual void UnpackIntermediateResult(
const bufferview& processedResult,
unsigned signerIdx, charbuff& result);
88 virtual void AssembleProcessedResult(
const bufferview& processedResult,
unsigned signerIdx, charbuff& result);
91 PdfSigner(
const PdfSigner&) =
delete;
92 PdfSigner& operator=(
const PdfSigner&) =
delete;
101 PODOFO_API
void SignDocument(PdfMemDocument& doc, StreamDevice& device, PdfSigner& signer,
102 PdfSignature& signature,
PdfSaveOptions saveOptions = PdfSaveOptions::None);
This file should be included as the FIRST file in every header of PoDoFo lib.
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13
PODOFO_API void SignDocument(PdfMemDocument &doc, StreamDevice &device, PdfSigner &signer, PdfSignature &signature, PdfSaveOptions saveOptions=PdfSaveOptions::None)
Sign the document on the given signature field.
Definition PdfSigner.cpp:48
PdfSaveOptions
Definition PdfDeclarations.h:429