SmartContent::~SmartContent()
{ /* This destructor originally contained the following blurb: "Do notdeletethecontent.Becausethecontentwillbeusedby thecache."Thisisjustplainsilly,becauseitrelieson theprovidercachingcreatedcontents(whichisdoneby ucbhelper::ContentProviderImplHelper,butwedonotactually expectallproviderstousethat,right?)Otherwiseweare justleakingmemory.
if ( !m_sURL.isEmpty() )
{ try
{
m_oContent.emplace( _rURL, m_xCmdEnv, comphelper::getProcessComponentContext() );
m_eState = UNKNOWN; // from now on, the state is unknown -> we cannot know for sure if the content // is really valid (some UCP's only tell this when asking for properties, not upon // creation)
} catch( const ContentCreationException& )
{
} catch( const Exception& )
{
TOOLS_WARN_EXCEPTION( "fpicker", "SmartContent::bindTo: unexpected exception caught!");
}
} else
{
m_eState = NOT_BOUND;
}
// don't forget to reset the may internal used interaction handler ... // But do it only for our own specialized interaction helper!
::svt::OFilePickerInteractionHandler* pHandler = getOwnInteractionHandler(); if (pHandler)
{
pHandler->resetUseState();
pHandler->forgetRequest();
}
}
bool SmartContent::implIs( const OUString& _rURL, Type _eType )
{ // bind to this content
bindTo( _rURL );
// did we survive this? if ( isInvalid() || !isBound() ) returnfalse;
assert( m_oContent && "SmartContent::implIs: inconsistence!" ); // if, after a bindTo, we don't have a content, then we should be INVALID, or at least // NOT_BOUND (the latter happens, for example, if somebody tries to ask for an empty URL)
bool bIs = false; try
{ if ( Folder == _eType )
bIs = m_oContent->isFolder(); else
bIs = m_oContent->isDocument();
// from here on, we definitely know that the content is valid
m_eState = VALID;
} catch( const Exception& )
{ // now we're definitely invalid
m_eState = INVALID;
} return bIs;
}
// from here on, we definitely know that the content is valid
m_eState = VALID;
} catch( const css::uno::Exception& )
{ // now we're definitely invalid
m_eState = INVALID;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.