PoDoFo  0.9.4
Public Member Functions | Protected Member Functions | List of all members
PoDoFo::PdfDataType Class Referenceabstract

#include <PdfDataType.h>

Inheritance diagram for PoDoFo::PdfDataType:
PoDoFo::PdfArray PoDoFo::PdfData PoDoFo::PdfDictionary PoDoFo::PdfName PoDoFo::PdfReference PoDoFo::PdfString

Public Member Functions

virtual void Write (PdfOutputDevice *pDevice, EPdfWriteMode eWriteMode, const PdfEncrypt *pEncrypt=NULL) const =0
 
virtual bool IsDirty () const
 
virtual void SetDirty (bool bDirty)
 
void SetImmutable (bool bImmutable)
 
bool GetImmutable () const
 

Protected Member Functions

 PdfDataType ()
 
void AssertMutable () const
 

Detailed Description

An interface for all PDF datatype classes.

See also
PdfName
PdfArray
PdfReference
PdfVariant
PdfDictionary
PdfString

Constructor & Destructor Documentation

PoDoFo::PdfDataType::PdfDataType ( )
protected

Create a new PdfDataType. Can only be called by subclasses

Member Function Documentation

void PoDoFo::PdfDataType::AssertMutable ( ) const
inlineprotected

Will throw an exception if called on an immutable object, so this should be called before actually changing a value!

bool PoDoFo::PdfDataType::GetImmutable ( ) const
inline

Retrieve if an object is immutable.

This is used by PdfImmediateWriter and PdfStreamedDocument so that no keys can be added to an object after setting stream data on it.

Returns
true if the object is immutable
bool PoDoFo::PdfDataType::IsDirty ( ) const
virtual

The dirty flag is set if this variant has been modified after construction.

Usually the dirty flag is also set if you call any non-const member function as we cannot determine if you actually changed something or not.

Returns
true if the value is dirty and has been modified since construction

Reimplemented in PoDoFo::PdfArray, and PoDoFo::PdfDictionary.

void PoDoFo::PdfDataType::SetDirty ( bool  bDirty)
virtual

Sets the dirty flag of this PdfVariant

Parameters
bDirtytrue if this PdfVariant has been modified from the outside
See also
IsDirty

Reimplemented in PoDoFo::PdfArray, and PoDoFo::PdfDictionary.

void PoDoFo::PdfDataType::SetImmutable ( bool  bImmutable)
inline

Sets this object to immutable, so that no keys can be edited or changed.

Parameters
bImmutableif true set the object to be immutable

This is used by PdfImmediateWriter and PdfStreamedDocument so that no keys can be added to an object after setting stream data on it.

virtual void PoDoFo::PdfDataType::Write ( PdfOutputDevice pDevice,
EPdfWriteMode  eWriteMode,
const PdfEncrypt pEncrypt = NULL 
) const
pure virtual

Write the complete datatype to a file.

Parameters
pDevicewrite the object to this device
eWriteModeadditional options for writing this object
pEncryptan encryption object which is used to encrypt this object or NULL to not encrypt this object

Implemented in PoDoFo::PdfString, PoDoFo::PdfDictionary, PoDoFo::PdfName, PoDoFo::PdfReference, PoDoFo::PdfArray, and PoDoFo::PdfData.