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...
|
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 | resolveArray (IPDFArrayPtr &array) const =0 |
| For the given array, if there are any indirect objects in the top level of the array, allocate a new array and replace the objects with their resolved versions. Otherwise, the object is unedited. An exception will be thrown if there are indirect objects and the store does not have the target object.
|
|
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.
|
|
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.
|
|
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.