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

void PoDoFo::PdfVariant::DelayedLoad (  ) const [inline, protected, inherited]

Dynamically load the contents of this object from a PDF file by calling the virtual method DelayedLoadImpl() if the object is not already loaded.

For objects complete created in memory and those that do not support deferred loading this function does nothing, since deferred loading will not be enabled.

Definition at line 522 of file PdfVariant.h.

References PoDoFo::PdfVariant::DelayedLoadImpl(), PoDoFo::ePdfError_InternalLogic, and PODOFO_RAISE_ERROR_INFO.

Referenced by PoDoFo::PdfObject::DelayedStreamLoad(), PoDoFo::PdfVariant::GetArray(), PoDoFo::PdfVariant::GetBool(), PoDoFo::PdfVariant::GetDataType(), PoDoFo::PdfVariant::GetDictionary(), PoDoFo::PdfVariant::GetName(), PoDoFo::PdfVariant::GetNumber(), PoDoFo::PdfVariant::GetRawData(), PoDoFo::PdfVariant::GetReal(), PoDoFo::PdfVariant::GetReference(), PoDoFo::PdfVariant::GetString(), PoDoFo::PdfVariant::IsEmpty(), PoDoFo::PdfVariant::operator=(), PoDoFo::PdfParserObject::ParseFile(), PoDoFo::PdfVariant::SetBool(), PoDoFo::PdfVariant::SetNumber(), and PoDoFo::PdfVariant::SetReal().

{
#if defined(PODOFO_EXTRA_CHECKS)
    // Whoops! Delayed loading triggered during delayed loading. Someone probably
    // used a public method that calls DelayedLoad() from a delayed load.
    if (m_bDelayedLoadInProgress)
        PODOFO_RAISE_ERROR_INFO( ePdfError_InternalLogic, "Recursive DelayedLoad() detected" );
#endif
    if( !m_bDelayedLoadDone)
    {
#if defined(PODOFO_EXTRA_CHECKS)
        m_bDelayedLoadInProgress = true;
#endif
        const_cast<PdfVariant*>(this)->DelayedLoadImpl();
        // Nothing was thrown, so if the implementer of DelayedLoadImpl()
        // following the rules we're done.
        m_bDelayedLoadDone = true;
#if defined(PODOFO_EXTRA_CHECKS)
        m_bDelayedLoadInProgress = 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