Mako 7.4.0 API
Loading...
Searching...
No Matches
JawsMako::IPDFObjectStore Class Referenceabstract

A store of IPDFObjects holding a subset/subtree of an entire PDF object database, allowing storage, resolution and editing thereof. Every object store will have a "root" object from which the subtree or subset stems. More...

#include <pdfobjects.h>

Inheritance diagram for JawsMako::IPDFObjectStore:

Public Member Functions

virtual IPDFObjectStorePtr clone () const =0
 Return a clone of this object store.
 
virtual IPDFFarReferencePtr getRootObjectReference () const =0
 Get the far reference for the root object in this store.
 
virtual IPDFObjectPtr getRootObject () const =0
 Get the root object from the store.
 
virtual bool hasReferencedObject (const IPDFObjectPtr &reference) const =0
 Is the object referred to by the given IPDFReference or IPDFFarReference present in this store?
 
virtual IPDFObjectPtr resolve (const IPDFObjectPtr &object) const =0
 Resolve the given object, if an IPDFReference or IPDFFarReference to the object it points to. This can take any object, and for objects that are not a reference, the original object will be returned. An exception will be thrown if the input is a reference and the store does not have the target object. hasReferencedObject() can be used to check this.
 
virtual void dirtyObject (const IPDFObjectPtr &object)=0
 Mark the given object as dirty so that PDF output will know that it has changed. Only mutable objects (arrays, dictionarys, streams) and references can be marked dirty, as only they can be edited. Use this function whenever you edit an item present inside the store.
 
virtual void dirtyRootObject ()=0
 Convenience to mark the root object as dirty. See dirtyObject() above.
 
virtual IPDFReferencePtr newReference ()=0
 Allocate a new indirect reference to use for a stored object.
 
virtual void store (const IPDFObjectPtr &object, const IPDFReferencePtr &reference, bool markDirty=true)=0
 Store an object in the store under the given reference.
 
virtual IPDFReferencePtr storeUsingNewReference (const IPDFObjectPtr &object)
 Store an object and return a new indirect reference to that object. A convenience that performs newReference() and store() in a single member.
 
virtual IPDFFarReferencePtr getFarReferenceForReference (const IPDFReferencePtr &reference) const =0
 For a given resource present in this store, produce a far reference that can be used to point to it from another store.
 
- Public Member Functions inherited from IRCObject
virtual void addRef () const =0
 Increases the reference count of the actual object pointed to. This would take place during an assignment or copying.
 
virtual bool decRef () const =0
 Decreases the reference count of the actual object pointed to. When the reference count falls to Zero, it deletes the actual object pointed to.
 
virtual int32 getRefCount () const =0
 Retrieve the current reference count of the actual object pointed to.
 

Additional Inherited Members

- Protected Member Functions inherited from IRCObject
virtual ~IRCObject ()
 Virtual destructor.
 

Detailed Description

A store of IPDFObjects holding a subset/subtree of an entire PDF object database, allowing storage, resolution and editing thereof. Every object store will have a "root" object from which the subtree or subset stems.

Member Function Documentation

◆ clone()

virtual IPDFObjectStorePtr JawsMako::IPDFObjectStore::clone ( ) const
pure virtual

Return a clone of this object store.

Returns
IPDFObjectStorePtr The clone

◆ dirtyObject()

virtual void JawsMako::IPDFObjectStore::dirtyObject ( const IPDFObjectPtr & object)
pure virtual

Mark the given object as dirty so that PDF output will know that it has changed. Only mutable objects (arrays, dictionarys, streams) and references can be marked dirty, as only they can be edited. Use this function whenever you edit an item present inside the store.

Parameters
objectThe edited object.

◆ getFarReferenceForReference()

virtual IPDFFarReferencePtr JawsMako::IPDFObjectStore::getFarReferenceForReference ( const IPDFReferencePtr & reference) const
pure virtual

For a given resource present in this store, produce a far reference that can be used to point to it from another store.

Parameters
referenceThe reference to use.
Returns
IPDFFarReferencePtr The resulting far reference.

◆ getRootObject()

virtual IPDFObjectPtr JawsMako::IPDFObjectStore::getRootObject ( ) const
pure virtual

Get the root object from the store.

Returns
IPDFObjectPtr The root object

◆ getRootObjectReference()

virtual IPDFFarReferencePtr JawsMako::IPDFObjectStore::getRootObjectReference ( ) const
pure virtual

Get the far reference for the root object in this store.

Returns
IPDFFarReferencePtr The far reference to the root object

◆ hasReferencedObject()

virtual bool JawsMako::IPDFObjectStore::hasReferencedObject ( const IPDFObjectPtr & reference) const
pure virtual

Is the object referred to by the given IPDFReference or IPDFFarReference present in this store?

Parameters
referenceEither an IPDFFarReference or IPDFReference to check
Returns
bool True if the referenced object is present, false otherwise.

◆ newReference()

virtual IPDFReferencePtr JawsMako::IPDFObjectStore::newReference ( )
pure virtual

Allocate a new indirect reference to use for a stored object.

Returns
IPDFReferencePtr The new reference.

◆ store()

virtual void JawsMako::IPDFObjectStore::store ( const IPDFObjectPtr & object,
const IPDFReferencePtr & reference,
bool markDirty = true )
pure virtual

Store an object in the store under the given reference.

Parameters
objectThe object to store
referenceThe reference under which the object is stored. Must have previously been allocated using newReference() above.
markDirtyIf true, mark the object as dirty.

◆ storeUsingNewReference()

virtual IPDFReferencePtr JawsMako::IPDFObjectStore::storeUsingNewReference ( const IPDFObjectPtr & object)
inlinevirtual

Store an object and return a new indirect reference to that object. A convenience that performs newReference() and store() in a single member.

Parameters
objectThe object to store.
Returns
IPDFReferencePtr The new reference under which the object was stored.

The documentation for this class was generated from the following file: