Logo Search packages:      
Sourcecode: libpodofo version File versions  Download package

void PoDoFo::PdfObject::DelayedStreamLoad (  ) const [inline, inherited]

Dynamically load this object and any associated stream from a PDF file by calling the virtual method DelayedStreamLoadImpl if the stream is not already loaded. Will call DelayedLoad() first if it is required.

Call graph:

DelayedStreamLoad ---> DelayedLoad() --> DelayedLoadImpl() | --> DelayedStreamLoadImpl()

For objects complete created in memory this function does nothing.

Definition at line 433 of file PdfObject.h.

References PoDoFo::PdfVariant::DelayedLoad(), PoDoFo::PdfObject::DelayedStreamLoadImpl(), PoDoFo::ePdfError_InternalLogic, and PODOFO_RAISE_ERROR_INFO.

Referenced by PoDoFo::PdfObject::FlateCompressStream(), PoDoFo::PdfObject::GetStream(), PoDoFo::PdfObject::HasStream(), PoDoFo::PdfObject::operator=(), PoDoFo::PdfObject::PdfObject(), and PoDoFo::PdfObject::WriteObject().

{
    DelayedLoad();

#if defined(PODOFO_EXTRA_CHECKS)
    if( m_bDelayedStreamLoadInProgress )
        PODOFO_RAISE_ERROR_INFO( ePdfError_InternalLogic, "Recursive DelayedStreamLoad() detected" );
#endif

    if( !m_bDelayedStreamLoadDone )
    {
#if defined(PODOFO_EXTRA_CHECKS)
        m_bDelayedStreamLoadInProgress = true;
#endif
        const_cast<PdfObject*>(this)->DelayedStreamLoadImpl();
        // Nothing was thrown, so if the implementer of DelayedstreamLoadImpl() is
        // following the rules we're done.
        m_bDelayedStreamLoadDone = true;
#if defined(PODOFO_EXTRA_CHECKS)
        m_bDelayedStreamLoadInProgress = false;
#endif
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:


Generated by  Doxygen 1.6.0   Back to index