[Libreoffice-commits] core.git: embeddedobj/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Fri Jul 19 19:50:11 UTC 2019


 embeddedobj/source/commonembedding/embedobj.cxx    |   31 ++-----------
 embeddedobj/source/commonembedding/miscobj.cxx     |   14 +----
 embeddedobj/source/commonembedding/persistence.cxx |   50 +++++++--------------
 embeddedobj/source/commonembedding/xfactory.cxx    |    5 --
 embeddedobj/source/general/docholder.cxx           |   36 +++++----------
 embeddedobj/source/general/xcreator.cxx            |    5 --
 embeddedobj/source/msole/oleembed.cxx              |   15 ++----
 embeddedobj/source/msole/olemisc.cxx               |   10 +---
 8 files changed, 56 insertions(+), 110 deletions(-)

New commits:
commit 5043421fdc527d18d18121ec5fe2d4e009c8191a
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Fri Jul 19 14:05:10 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Jul 19 21:49:20 2019 +0200

    loplugin:referencecasting in embeddedobj
    
    Change-Id: I11a80e540b2a7da8d8037ba45e176d5c4d85374c
    Reviewed-on: https://gerrit.libreoffice.org/75951
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

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& )
     {
diff --git a/embeddedobj/source/general/docholder.cxx b/embeddedobj/source/general/docholder.cxx
index f7b1044fff12..b48ffdfe5c64 100644
--- a/embeddedobj/source/general/docholder.cxx
+++ b/embeddedobj/source/general/docholder.cxx
@@ -229,14 +229,12 @@ void DocumentHolder::CloseFrame()
         catch( const uno::Exception& ) {
         }
     else {
-        uno::Reference<lang::XComponent> xComp( m_xFrame,uno::UNO_QUERY );
-        if( xComp.is() )
-            xComp->dispose();
+        if( m_xFrame.is() )
+            m_xFrame->dispose();
     }
 
-    uno::Reference< lang::XComponent > xComp( m_xHatchWindow, uno::UNO_QUERY );
-    if ( xComp.is() )
-        xComp->dispose();
+    if ( m_xHatchWindow.is() )
+        m_xHatchWindow->dispose();
 
     m_xHatchWindow.clear();
     m_xOwnWindow.clear();
@@ -272,8 +270,7 @@ void DocumentHolder::FreeOffice()
 
 void DocumentHolder::CloseDocument( bool bDeliverOwnership, bool bWaitForClose )
 {
-    uno::Reference< util::XCloseBroadcaster > xBroadcaster( m_xComponent, uno::UNO_QUERY );
-    if ( xBroadcaster.is() )
+    if ( m_xComponent.is() )
     {
         uno::Reference< document::XEventBroadcaster > xEventBroadcaster( m_xComponent, uno::UNO_QUERY );
         if ( xEventBroadcaster.is() )
@@ -287,13 +284,9 @@ void DocumentHolder::CloseDocument( bool bDeliverOwnership, bool bWaitForClose )
                 xModifyBroadcaster->removeModifyListener( static_cast<util::XModifyListener*>(this) );
         }
 
-        uno::Reference< util::XCloseable > xCloseable( xBroadcaster, uno::UNO_QUERY );
-        if ( xCloseable.is() )
-        {
-            m_bAllowClosing = true;
-            m_bWaitForClose = bWaitForClose;
-            xCloseable->close( bDeliverOwnership );
-        }
+        m_bAllowClosing = true;
+        m_bWaitForClose = bWaitForClose;
+        m_xComponent->close( bDeliverOwnership );
     }
 
     m_xComponent = nullptr;
@@ -718,7 +711,7 @@ bool DocumentHolder::ShowUI( const uno::Reference< css::frame::XLayoutManager >&
                     // by unlocking the LM each layout change will now resize the containers window; pending layouts will be processed now
                     xOwnLM->setVisible( true );
 
-                    uno::Reference< frame::XFramesSupplier > xSupp( m_xFrame->getCreator(), uno::UNO_QUERY );
+                    uno::Reference< frame::XFramesSupplier > xSupp = m_xFrame->getCreator();
                     if ( xSupp.is() )
                         xSupp->setActiveFrame( m_xFrame );
 
@@ -737,7 +730,7 @@ bool DocumentHolder::ShowUI( const uno::Reference< css::frame::XLayoutManager >&
                 // activation failed; reestablish old state
                 try
                 {
-                    uno::Reference< frame::XFramesSupplier > xSupp( m_xFrame->getCreator(), uno::UNO_QUERY );
+                    uno::Reference< frame::XFramesSupplier > xSupp = m_xFrame->getCreator();
                     if ( xSupp.is() )
                         xSupp->setActiveFrame( nullptr );
 
@@ -787,7 +780,7 @@ bool DocumentHolder::HideUI( const uno::Reference< css::frame::XLayoutManager >&
         if ( xOwnLM.is() )
         {
             try {
-                uno::Reference< frame::XFramesSupplier > xSupp( m_xFrame->getCreator(), uno::UNO_QUERY );
+                uno::Reference< frame::XFramesSupplier > xSupp = m_xFrame->getCreator();
                 if ( xSupp.is() )
                     xSupp->setActiveFrame( nullptr );
 
@@ -932,9 +925,8 @@ void DocumentHolder::SetComponent( const uno::Reference< util::XCloseable >& xDo
     m_bReadOnly = bReadOnly;
     m_bAllowClosing = false;
 
-    uno::Reference< util::XCloseBroadcaster > xBroadcaster( m_xComponent, uno::UNO_QUERY );
-    if ( xBroadcaster.is() )
-        xBroadcaster->addCloseListener( static_cast<util::XCloseListener*>(this) );
+    if ( m_xComponent.is() )
+        m_xComponent->addCloseListener( static_cast<util::XCloseListener*>(this) );
 
     uno::Reference< document::XEventBroadcaster > xEventBroadcaster( m_xComponent, uno::UNO_QUERY );
     if ( xEventBroadcaster.is() )
@@ -1277,7 +1269,7 @@ void SAL_CALL DocumentHolder::activated(  )
         }
         else
         {
-            uno::Reference< frame::XFramesSupplier > xSupp( m_xFrame->getCreator(), uno::UNO_QUERY );
+            uno::Reference< frame::XFramesSupplier > xSupp = m_xFrame->getCreator();
             if ( xSupp.is() )
                 xSupp->setActiveFrame( m_xFrame );
         }
diff --git a/embeddedobj/source/general/xcreator.cxx b/embeddedobj/source/general/xcreator.cxx
index 54d8476d5471..522cc07d7942 100644
--- a/embeddedobj/source/general/xcreator.cxx
+++ b/embeddedobj/source/general/xcreator.cxx
@@ -138,9 +138,8 @@ uno::Reference< uno::XInterface > SAL_CALL UNOEmbeddedObjectCreator::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& )
         {
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index 6dd539bd7a8e..5cf159dfdf17 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -129,15 +129,14 @@ void OleEmbeddedObject::MoveListeners()
                 m_pInterfaceContainer->getContainer( cppu::UnoType<embed::XStateChangeListener>::get());
             if ( pStateChangeContainer != nullptr )
             {
-                uno::Reference< embed::XStateChangeBroadcaster > xWrappedObject( m_xWrappedObject, uno::UNO_QUERY );
-                if ( xWrappedObject.is() )
+                if ( m_xWrappedObject.is() )
                 {
                     ::cppu::OInterfaceIteratorHelper pIterator( *pStateChangeContainer );
                     while ( pIterator.hasMoreElements() )
                     {
                         try
                         {
-                            xWrappedObject->addStateChangeListener( static_cast<embed::XStateChangeListener*>(pIterator.next()) );
+                            m_xWrappedObject->addStateChangeListener( static_cast<embed::XStateChangeListener*>(pIterator.next()) );
                         }
                         catch( const uno::RuntimeException& )
                         {
@@ -154,15 +153,14 @@ void OleEmbeddedObject::MoveListeners()
                 m_pInterfaceContainer->getContainer( cppu::UnoType<document::XEventListener>::get());
             if ( pEventContainer != nullptr )
             {
-                uno::Reference< document::XEventBroadcaster > xWrappedObject( m_xWrappedObject, uno::UNO_QUERY );
-                if ( xWrappedObject.is() )
+                if ( m_xWrappedObject.is() )
                 {
                     ::cppu::OInterfaceIteratorHelper pIterator( *pEventContainer );
                     while ( pIterator.hasMoreElements() )
                     {
                         try
                         {
-                            xWrappedObject->addEventListener( static_cast<document::XEventListener*>(pIterator.next()) );
+                            m_xWrappedObject->addEventListener( static_cast<document::XEventListener*>(pIterator.next()) );
                         }
                         catch( const uno::RuntimeException& )
                         {
@@ -179,15 +177,14 @@ void OleEmbeddedObject::MoveListeners()
                 m_pInterfaceContainer->getContainer( cppu::UnoType<util::XCloseListener>::get());
             if ( pCloseContainer != nullptr )
             {
-                uno::Reference< util::XCloseBroadcaster > xWrappedObject( m_xWrappedObject, uno::UNO_QUERY );
-                if ( xWrappedObject.is() )
+                if ( m_xWrappedObject.is() )
                 {
                     ::cppu::OInterfaceIteratorHelper pIterator( *pCloseContainer );
                     while ( pIterator.hasMoreElements() )
                     {
                         try
                         {
-                            xWrappedObject->addCloseListener( static_cast<util::XCloseListener*>(pIterator.next()) );
+                            m_xWrappedObject->addCloseListener( static_cast<util::XCloseListener*>(pIterator.next()) );
                         }
                         catch( const uno::RuntimeException& )
                         {
diff --git a/embeddedobj/source/msole/olemisc.cxx b/embeddedobj/source/msole/olemisc.cxx
index 9a22ec9982cb..66572c40be4d 100644
--- a/embeddedobj/source/msole/olemisc.cxx
+++ b/embeddedobj/source/msole/olemisc.cxx
@@ -392,11 +392,10 @@ uno::Reference< util::XCloseable > SAL_CALL OleEmbeddedObject::getComponent()
 void SAL_CALL OleEmbeddedObject::addStateChangeListener( const uno::Reference< embed::XStateChangeListener >& xListener )
 {
     // begin wrapping related part ====================
-    uno::Reference< embed::XStateChangeBroadcaster > xWrappedObject( m_xWrappedObject, uno::UNO_QUERY );
-    if ( xWrappedObject.is() )
+    if ( m_xWrappedObject.is() )
     {
         // the object was converted to OOo embedded object, the current implementation is now only a wrapper
-        xWrappedObject->addStateChangeListener( xListener );
+        m_xWrappedObject->addStateChangeListener( xListener );
         return;
     }
     // end wrapping related part ====================
@@ -417,11 +416,10 @@ void SAL_CALL OleEmbeddedObject::removeStateChangeListener(
                     const uno::Reference< embed::XStateChangeListener >& xListener )
 {
     // begin wrapping related part ====================
-    uno::Reference< embed::XStateChangeBroadcaster > xWrappedObject( m_xWrappedObject, uno::UNO_QUERY );
-    if ( xWrappedObject.is() )
+    if ( m_xWrappedObject.is() )
     {
         // the object was converted to OOo embedded object, the current implementation is now only a wrapper
-        xWrappedObject->removeStateChangeListener( xListener );
+        m_xWrappedObject->removeStateChangeListener( xListener );
         return;
     }
     // end wrapping related part ====================


More information about the Libreoffice-commits mailing list