diff options
Diffstat (limited to 'embeddedobj/source/commonembedding')
-rw-r--r-- | embeddedobj/source/commonembedding/embedobj.cxx | 31 | ||||
-rw-r--r-- | embeddedobj/source/commonembedding/miscobj.cxx | 14 | ||||
-rw-r--r-- | embeddedobj/source/commonembedding/persistence.cxx | 50 | ||||
-rw-r--r-- | embeddedobj/source/commonembedding/xfactory.cxx | 5 |
4 files changed, 30 insertions, 70 deletions
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx index 8c888df48a9e..a34020d354e1 100644 --- a/embeddedobj/source/commonembedding/embedobj.cxx +++ b/embeddedobj/source/commonembedding/embedobj.cxx @@ -174,32 +174,13 @@ void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState ) } else { - uno::Reference < embed::XEmbedPersist > xPersist( static_cast < embed::XClassifiedObject* > (this), uno::UNO_QUERY ); - if ( xPersist.is() ) - { - // in case embedded object is in loaded state the contents must - // be stored in the related storage and the storage - // must be created already - if ( !m_xObjectStorage.is() ) - throw io::IOException(); //TODO: access denied + // in case embedded object is in loaded state the contents must + // be stored in the related storage and the storage + // must be created already + if ( !m_xObjectStorage.is() ) + throw io::IOException(); //TODO: access denied - m_xDocHolder->SetComponent( LoadDocumentFromStorage_Impl(), m_bReadOnly ); - } - else - { - // objects without persistence will be initialized internally - uno::Sequence < uno::Any > aArgs(1); - aArgs[0] <<= uno::Reference < embed::XEmbeddedObject >( this ); - uno::Reference< util::XCloseable > xDocument( - m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext( GetDocumentServiceName(), aArgs, m_xContext), - uno::UNO_QUERY ); - - uno::Reference < container::XChild > xChild( xDocument, uno::UNO_QUERY ); - if ( xChild.is() ) - xChild->setParent( m_xParent ); - - m_xDocHolder->SetComponent( xDocument, m_bReadOnly ); - } + m_xDocHolder->SetComponent( LoadDocumentFromStorage_Impl(), m_bReadOnly ); } if ( !m_xDocHolder->GetComponent().is() ) diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx index 48da9abdeaf7..557e21e2646a 100644 --- a/embeddedobj/source/commonembedding/miscobj.cxx +++ b/embeddedobj/source/commonembedding/miscobj.cxx @@ -439,7 +439,7 @@ uno::Reference< util::XCloseable > SAL_CALL OCommonEmbeddedObject::getComponent( static_cast< ::cppu::OWeakObject* >(this) ); } - return uno::Reference< util::XCloseable >( m_xDocHolder->GetComponent(), uno::UNO_QUERY ); + return m_xDocHolder->GetComponent(); } @@ -550,15 +550,9 @@ void SAL_CALL OCommonEmbeddedObject::close( sal_Bool bDeliverOwnership ) // will use the storage, the storage will be disposed by the document and recreated by the object if ( m_xObjectStorage.is() ) { - uno::Reference< lang::XComponent > xComp( m_xObjectStorage, uno::UNO_QUERY ); - OSL_ENSURE( xComp.is(), "Storage does not support XComponent!" ); - - if ( xComp.is() ) - { - try { - xComp->dispose(); - } catch ( const uno::Exception& ) {} - } + try { + m_xObjectStorage->dispose(); + } catch ( const uno::Exception& ) {} m_xObjectStorage.clear(); m_xRecoveryStorage.clear(); diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx index cba1be7c4d19..b4a4de81f3c5 100644 --- a/embeddedobj/source/commonembedding/persistence.cxx +++ b/embeddedobj/source/commonembedding/persistence.cxx @@ -149,10 +149,8 @@ static uno::Reference< io::XInputStream > createTempInpStreamFromStor( } try { - uno::Reference< lang::XComponent > xComponent( xTempStorage, uno::UNO_QUERY ); - SAL_WARN_IF( !xComponent.is(), "embeddedobj.common", "Wrong storage implementation!" ); - if ( xComponent.is() ) - xComponent->dispose(); + if ( xTempStorage.is() ) + xTempStorage->dispose(); } catch ( const uno::Exception& ) { @@ -252,9 +250,7 @@ void OCommonEmbeddedObject::SwitchOwnPersistence( const uno::Reference< embed::X return; } - uno::Reference< lang::XComponent > xComponent( m_xObjectStorage, uno::UNO_QUERY ); - OSL_ENSURE( !m_xObjectStorage.is() || xComponent.is(), "Wrong storage implementation!" ); - + auto xOldObjectStorage = m_xObjectStorage; m_xObjectStorage = xNewObjectStorage; m_xParentStorage = xNewParentStorage; m_aEntryName = aNewName; @@ -268,8 +264,8 @@ void OCommonEmbeddedObject::SwitchOwnPersistence( const uno::Reference< embed::X } try { - if ( xComponent.is() ) - xComponent->dispose(); + if ( xOldObjectStorage.is() ) + xOldObjectStorage->dispose(); } catch ( const uno::Exception& ) { @@ -348,12 +344,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::InitNewDocument_Impl() } catch( const uno::Exception& ) { - uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY ); - if ( xCloseable.is() ) + if ( xDocument.is() ) { try { - xCloseable->close( true ); + xDocument->close( true ); } catch( const uno::Exception& ) { @@ -417,12 +412,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::LoadLink_Impl() } catch( const uno::Exception& ) { - uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY ); - if ( xCloseable.is() ) + if ( xDocument.is() ) { try { - xCloseable->close( true ); + xDocument->close( true ); } catch( const uno::Exception& ) { @@ -549,12 +543,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::LoadDocumentFromStorag } catch( const uno::Exception& ) { - uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY ); - if ( xCloseable.is() ) + if ( xDocument.is() ) { try { - xCloseable->close( true ); + xDocument->close( true ); } catch( const uno::Exception& ) { @@ -834,12 +827,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::CreateDocFromMediaDesc } catch( const uno::Exception& ) { - uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY ); - if ( xCloseable.is() ) + if ( xDocument.is() ) { try { - xCloseable->close( true ); + xDocument->close( true ); } catch( const uno::Exception& ) { @@ -1456,10 +1448,7 @@ void SAL_CALL OCommonEmbeddedObject::saveCompleted( sal_Bool bUseNew ) else { try { - uno::Reference< lang::XComponent > xComponent( m_xNewObjectStorage, uno::UNO_QUERY ); - SAL_WARN_IF( !xComponent.is(), "embeddedobj.common", "Wrong storage implementation!" ); - if ( xComponent.is() ) - xComponent->dispose(); + m_xNewObjectStorage->dispose(); } catch ( const uno::Exception& ) { @@ -1740,10 +1729,8 @@ void SAL_CALL OCommonEmbeddedObject::reload( { // close own storage try { - uno::Reference< lang::XComponent > xComponent( m_xObjectStorage, uno::UNO_QUERY ); - OSL_ENSURE( !m_xObjectStorage.is() || xComponent.is(), "Wrong storage implementation!" ); - if ( xComponent.is() ) - xComponent->dispose(); + if ( m_xObjectStorage.is() ) + m_xObjectStorage->dispose(); } catch ( const uno::Exception& ) { @@ -1756,11 +1743,10 @@ void SAL_CALL OCommonEmbeddedObject::reload( sal_Bool SAL_CALL OCommonEmbeddedObject::isStored() { - uno::Reference<container::XNameAccess> xNA(m_xObjectStorage, uno::UNO_QUERY); - if (!xNA.is()) + if (!m_xObjectStorage.is()) return false; - return xNA->getElementNames().hasElements(); + return m_xObjectStorage->getElementNames().hasElements(); } diff --git a/embeddedobj/source/commonembedding/xfactory.cxx b/embeddedobj/source/commonembedding/xfactory.cxx index ce36832027ba..856335181a98 100644 --- a/embeddedobj/source/commonembedding/xfactory.cxx +++ b/embeddedobj/source/commonembedding/xfactory.cxx @@ -100,9 +100,8 @@ uno::Reference< uno::XInterface > SAL_CALL OOoEmbeddedObjectFactory::createInsta } try { - uno::Reference< lang::XComponent > xComp( xSubStorage, uno::UNO_QUERY ); - if ( xComp.is() ) - xComp->dispose(); + if ( xSubStorage.is() ) + xSubStorage->dispose(); } catch ( const uno::Exception& ) { |