[Libreoffice-commits] core.git: comphelper/source include/comphelper

Arnaud Versini (via logerrit) logerrit at kemper.freedesktop.org
Mon Aug 23 19:55:18 UTC 2021


 comphelper/source/misc/accessiblecontexthelper.cxx |   63 +++++----------------
 include/comphelper/accessiblecontexthelper.hxx     |    6 +-
 2 files changed, 19 insertions(+), 50 deletions(-)

New commits:
commit 0ce90e777721f11048d366b58e760b60aabf2eaa
Author:     Arnaud Versini <arnaud.versini at libreoffice.org>
AuthorDate: Sun Aug 22 14:24:38 2021 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Mon Aug 23 21:54:40 2021 +0200

    comphelper : remove useless OContextHelper_Impl
    
    Change-Id: I41fc571695a64b432d6abf4979b99ef141a12b28
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120842
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/comphelper/source/misc/accessiblecontexthelper.cxx b/comphelper/source/misc/accessiblecontexthelper.cxx
index a4d11cb59c1a..ad2c63b1a1c0 100644
--- a/comphelper/source/misc/accessiblecontexthelper.cxx
+++ b/comphelper/source/misc/accessiblecontexthelper.cxx
@@ -31,40 +31,9 @@ namespace comphelper
     using namespace ::com::sun::star::lang;
     using namespace ::com::sun::star::accessibility;
 
-    /** implementation class for OAccessibleContextHelper. No own thread safety!
-    */
-    class OContextHelper_Impl
-    {
-    private:
-        WeakReference< XAccessible >        m_aCreator;         // the XAccessible which created our XAccessibleContext
-
-        AccessibleEventNotifier::TClientId  m_nClientId;
-
-    public:
-        Reference< XAccessible >    getCreator( ) const                 { return m_aCreator; }
-        inline  void                        setCreator( const Reference< XAccessible >& _rAcc );
-
-        AccessibleEventNotifier::TClientId
-                                            getClientId() const                 { return m_nClientId; }
-        void                        setClientId( const AccessibleEventNotifier::TClientId _nId )
-                                                                                { m_nClientId = _nId; }
-
-    public:
-        OContextHelper_Impl()
-            :m_nClientId( 0 )
-        {
-        }
-    };
-
-
-    inline  void OContextHelper_Impl::setCreator( const Reference< XAccessible >& _rAcc )
-    {
-        m_aCreator = _rAcc;
-    }
-
     OAccessibleContextHelper::OAccessibleContextHelper( )
         :OAccessibleContextHelper_Base( GetMutex() )
-        ,m_pImpl(new OContextHelper_Impl)
+        ,m_nClientId( 0 )
     {
     }
 
@@ -84,10 +53,10 @@ namespace comphelper
         // do not lock m_Mutex because it may cause deadlock
         osl::Guard<SolarMutex> aGuard(SolarMutex::get());
 
-        if ( m_pImpl->getClientId( ) )
+        if ( m_nClientId )
         {
-            AccessibleEventNotifier::revokeClientNotifyDisposing( m_pImpl->getClientId( ), *this );
-            m_pImpl->setClientId( 0 );
+            AccessibleEventNotifier::revokeClientNotifyDisposing( m_nClientId, *this );
+            m_nClientId=0;
         }
     }
 
@@ -107,10 +76,10 @@ namespace comphelper
 
         if ( _rxListener.is() )
         {
-            if ( !m_pImpl->getClientId( ) )
-                m_pImpl->setClientId( AccessibleEventNotifier::registerClient( ) );
+            if ( !m_nClientId )
+                m_nClientId = AccessibleEventNotifier::registerClient( );
 
-            AccessibleEventNotifier::addEventListener( m_pImpl->getClientId( ), _rxListener );
+            AccessibleEventNotifier::addEventListener( m_nClientId, _rxListener );
         }
     }
 
@@ -124,18 +93,18 @@ namespace comphelper
         if ( !isAlive() )
             return;
 
-        if ( !(_rxListener.is() && m_pImpl->getClientId()) )
+        if ( !(_rxListener.is() && m_nClientId) )
             return;
 
-        sal_Int32 nListenerCount = AccessibleEventNotifier::removeEventListener( m_pImpl->getClientId( ), _rxListener );
+        sal_Int32 nListenerCount = AccessibleEventNotifier::removeEventListener( m_nClientId, _rxListener );
         if ( !nListenerCount )
         {
             // no listeners anymore
             // -> revoke ourself. This may lead to the notifier thread dying (if we were the last client),
             // and at least to us not firing any events anymore, in case somebody calls
             // NotifyAccessibleEvent, again
-            AccessibleEventNotifier::revokeClient( m_pImpl->getClientId( ) );
-            m_pImpl->setClientId( 0 );
+            AccessibleEventNotifier::revokeClient( m_nClientId );
+            m_nClientId = 0;
         }
     }
 
@@ -143,7 +112,7 @@ namespace comphelper
     void OAccessibleContextHelper::NotifyAccessibleEvent( const sal_Int16 _nEventId,
         const Any& _rOldValue, const Any& _rNewValue )
     {
-        if ( !m_pImpl->getClientId( ) )
+        if ( !m_nClientId )
             // if we don't have a client id for the notifier, then we don't have listeners, then
             // we don't need to notify anything
             return;
@@ -156,7 +125,7 @@ namespace comphelper
         aEvent.NewValue = _rNewValue;
 
         // let the notifier handle this event
-        AccessibleEventNotifier::addEvent( m_pImpl->getClientId( ), aEvent );
+        AccessibleEventNotifier::addEvent( m_nClientId, aEvent );
     }
 
 
@@ -186,13 +155,13 @@ namespace comphelper
 
     void OAccessibleContextHelper::lateInit( const Reference< XAccessible >& _rxAccessible )
     {
-        m_pImpl->setCreator( _rxAccessible );
+        m_aCreator = _rxAccessible;
     }
 
 
     Reference< XAccessible > OAccessibleContextHelper::getAccessibleCreator( ) const
     {
-        return m_pImpl->getCreator();
+        return m_aCreator;
     }
 
 
@@ -218,7 +187,7 @@ namespace comphelper
             if ( xParentContext.is() )
             {
                 // our own XAccessible for comparing with the children of our parent
-                Reference< XAccessible > xCreator( m_pImpl->getCreator() );
+                Reference< XAccessible > xCreator( m_aCreator);
 
                 OSL_ENSURE( xCreator.is(), "OAccessibleContextHelper::getAccessibleIndexInParent: invalid creator!" );
                     // two ideas why this could be NULL:
diff --git a/include/comphelper/accessiblecontexthelper.hxx b/include/comphelper/accessiblecontexthelper.hxx
index e22dacbe6411..dc367fbe1703 100644
--- a/include/comphelper/accessiblecontexthelper.hxx
+++ b/include/comphelper/accessiblecontexthelper.hxx
@@ -24,9 +24,9 @@
 #include <cppuhelper/basemutex.hxx>
 #include <com/sun/star/accessibility/XAccessibleContext2.hpp>
 #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
+#include <comphelper/accessibleeventnotifier.hxx>
 #include <comphelper/comphelperdllapi.h>
 #include <comphelper/solarmutex.hxx>
-#include <memory>
 
 
 namespace comphelper
@@ -36,7 +36,6 @@ namespace comphelper
     //= OAccessibleContextHelper
 
 
-    class OContextHelper_Impl;
     typedef ::cppu::WeakAggComponentImplHelper2 <   css::accessibility::XAccessibleContext2,
                                                     css::accessibility::XAccessibleEventBroadcaster
                                                 >   OAccessibleContextHelper_Base;
@@ -49,7 +48,8 @@ namespace comphelper
     {
         friend class OContextEntryGuard;
     private:
-        std::unique_ptr<OContextHelper_Impl>    m_pImpl;
+        css::uno::WeakReference< css::accessibility::XAccessible > m_aCreator;         // the XAccessible which created our XAccessibleContext
+        AccessibleEventNotifier::TClientId m_nClientId;
 
     protected:
         virtual ~OAccessibleContextHelper( ) override;


More information about the Libreoffice-commits mailing list