|
virtual AutoPtr< Chunk > | getRedirectionTarget ()=0 |
|
virtual AutoPtr< const Chunk > | getRedirectionTarget () const =0 |
|
virtual void | setRedirectionTarget (const Chunk *inChunk)=0 |
|
virtual String | getRedirectionId () const =0 |
|
virtual void | setRedirectionId (const String &inRedirectionId)=0 |
|
virtual String | getId () const =0 |
|
virtual const Data * | getData () const =0 |
|
virtual void | setData (const Data *inData)=0 |
|
virtual const Array & | getChildren () const =0 |
|
virtual Array & | getChildren ()=0 |
|
virtual size_t | find (const String &inIdentifier, size_t inPrevPos=(size_t) 0-1, bool inOnlyAvailable=false) const =0 |
|
virtual size_t | find (const String &inId1, const String &inId2, size_t inPrevPos=(size_t) 0-1, bool inOnlyAvailable=false) const =0 |
|
virtual bool | isIncluded () const =0 |
|
virtual bool | isAvailable () const =0 |
|
virtual bool | isCollection () const =0 |
|
virtual void | preload (OnChunkCallback inOnChunkCallback=NULL, void *inContext=NULL)=0 |
|
virtual void | prepareForMerger (const Chunk *inChunkMergeTo, std::map< String, String > *outNameRemappings=NULL, bool inDoingAutoNavmAnnoRemapping=true, RenameFunc inRenameFunc=NULL, void *inRenameContext=NULL)=0 |
|
virtual void | compact ()=0 |
|
virtual void | disconnectFromOriginalSources (DisconnectMethod inDisconnectMethod=dm_OnTempFile, OnChunkCallback inOnChunkCallback=NULL, void *inContext=NULL, Storage *inTemporaryStorage=NULL)=0 |
|
virtual void | setSecurityProvider (const SecurityProvider *inSecProv)=0 |
|
virtual const SecurityProvider * | getSecurityProvider () const =0 |
|
virtual void | lock () const =0 |
|
virtual void | unlock () const =0 |
|
virtual Chunk * | getDirectPointer ()=0 |
|
virtual String | getName () const =0 |
|
| Referable () |
|
void | addRef () const |
|
void | releaseRef () const |
|
size_t | getReferenceCount () const |
|
ChunkRedirector is used for representing INCL
chunk used in DjVu file.
ChunkRedirector behaves as if it were a normal chunk and usually, the user of ChunkRedirector don't have to know it's a special "redirector" of the Chunk instance. In other words, without dynamic_cast<ChunkRedirector>
, the user cannot determine that it's a ChunkRedirector.
The DjVu serializers treats ChunkRedirector as a special chunk and it automatically checks whether a redirection target is shared by multiple 'redirector' chunks or not. And if a redirection target is shared by multiple chunks, the serializers inserts INCL
and DJVI
automatically; otherwise ChunkRedirector is removed on the serialization phase and the output DjVu file uses no INCL
chunk.