sw/source/core/access/acccell.cxx | 45 ---------------- sw/source/core/access/acccell.hxx | 27 +-------- sw/source/core/access/accdoc.cxx | 36 ------------- sw/source/core/access/accdoc.hxx | 26 +-------- sw/source/core/access/accnotextframe.cxx | 30 ---------- sw/source/core/access/accnotextframe.hxx | 23 +------- sw/source/core/access/accpara.cxx | 85 ------------------------------- sw/source/core/access/accpara.hxx | 38 +++---------- sw/source/core/access/acctable.cxx | 48 ----------------- sw/source/core/access/acctable.hxx | 33 +----------- ucb/source/core/provprox.cxx | 42 +-------------- ucb/source/core/provprox.hxx | 19 +----- 12 files changed, 42 insertions(+), 410 deletions(-)
New commits: commit 045a98c9ee0a0b9f1366064f3e57bdce977cb056 Author: Mike Kaganski <[email protected]> AuthorDate: Sun Dec 8 21:07:07 2024 +0500 Commit: Mike Kaganski <[email protected]> CommitDate: Sun Dec 8 20:19:47 2024 +0100 Simplify SwAccessible* Change-Id: I2994161bfa8fa3a88b3e66a9f4f12e4de6d5b025 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178096 Tested-by: Jenkins Reviewed-by: Mike Kaganski <[email protected]> diff --git a/sw/source/core/access/acccell.cxx b/sw/source/core/access/acccell.cxx index fe58dfc07e43..2ce7b0302ea7 100644 --- a/sw/source/core/access/acccell.cxx +++ b/sw/source/core/access/acccell.cxx @@ -98,7 +98,7 @@ void SwAccessibleCell::GetStates( sal_Int64& rStateSet ) SwAccessibleCell::SwAccessibleCell(std::shared_ptr<SwAccessibleMap> const& pInitMap, const SwCellFrame *pCellFrame ) - : SwAccessibleContext( pInitMap, AccessibleRole::TABLE_CELL, pCellFrame ) + : SwAccessibleCell_BASE(pInitMap, AccessibleRole::TABLE_CELL, pCellFrame) , m_aSelectionHelper( *this ) , m_bIsSelected( false ) { @@ -271,49 +271,6 @@ void SwAccessibleCell::InvalidatePosOrSize( const SwRect& rOldBox ) SwAccessibleContext::InvalidatePosOrSize( rOldBox ); } -// XAccessibleInterface - -uno::Any SwAccessibleCell::queryInterface( const uno::Type& rType ) -{ - if (rType == cppu::UnoType<XAccessibleExtendedAttributes>::get()) - { - uno::Any aR; - aR <<= uno::Reference<XAccessibleExtendedAttributes>(this); - return aR; - } - - if (rType == cppu::UnoType<XAccessibleSelection>::get()) - { - uno::Any aR; - aR <<= uno::Reference<XAccessibleSelection>(this); - return aR; - } - if ( rType == ::cppu::UnoType<XAccessibleValue>::get() ) - { - uno::Reference<XAccessibleValue> xValue = this; - uno::Any aRet; - aRet <<= xValue; - return aRet; - } - else - { - return SwAccessibleContext::queryInterface( rType ); - } -} - -// XTypeProvider -uno::Sequence< uno::Type > SAL_CALL SwAccessibleCell::getTypes() -{ - return cppu::OTypeCollection( - ::cppu::UnoType<XAccessibleValue>::get(), - SwAccessibleContext::getTypes() ).getTypes(); -} - -uno::Sequence< sal_Int8 > SAL_CALL SwAccessibleCell::getImplementationId() -{ - return css::uno::Sequence<sal_Int8>(); -} - // XAccessibleValue SwFrameFormat* SwAccessibleCell::GetTableBoxFormat() const diff --git a/sw/source/core/access/acccell.hxx b/sw/source/core/access/acccell.hxx index 5d607d4c4531..3b5b503fd029 100644 --- a/sw/source/core/access/acccell.hxx +++ b/sw/source/core/access/acccell.hxx @@ -27,10 +27,11 @@ class SwCellFrame; class SwAccessibleTable; class SwFrameFormat; -class SwAccessibleCell : public SwAccessibleContext, - public css::accessibility::XAccessibleValue, - public css::accessibility::XAccessibleSelection, - public css::accessibility::XAccessibleExtendedAttributes +using SwAccessibleCell_BASE = cppu::ImplInheritanceHelper<SwAccessibleContext, + css::accessibility::XAccessibleValue, + css::accessibility::XAccessibleSelection, + css::accessibility::XAccessibleExtendedAttributes>; +class SwAccessibleCell : public SwAccessibleCell_BASE { // Implementation for XAccessibleSelection interface SwAccessibleSelectionHelper m_aSelectionHelper; @@ -83,24 +84,6 @@ public: virtual void InvalidatePosOrSize( const SwRect& rFrame ) override; - // XInterface - - // (XInterface methods need to be implemented to disambiguate - // between those inherited through SwAccessibleContext and - // XAccessibleValue). - - virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType ) override; - - virtual void SAL_CALL acquire( ) noexcept override - { SwAccessibleContext::acquire(); }; - - virtual void SAL_CALL release( ) noexcept override - { SwAccessibleContext::release(); }; - - // XTypeProvider - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override; - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) override; - // XAccessibleExtendedAttributes css::uno::Any SAL_CALL getExtendedAttributes() override ; private: diff --git a/sw/source/core/access/accdoc.cxx b/sw/source/core/access/accdoc.cxx index e2d4bea133e0..30c2a500cad9 100644 --- a/sw/source/core/access/accdoc.cxx +++ b/sw/source/core/access/accdoc.cxx @@ -346,7 +346,7 @@ void SwAccessibleDocument::GetStates( sal_Int64& rStateSet ) SwAccessibleDocument::SwAccessibleDocument( std::shared_ptr<SwAccessibleMap> const& pInitMap) - : SwAccessibleDocumentBase(pInitMap) + : SwAccessibleDocument_BASE(pInitMap) , maSelectionHelper(*this) { SetName(pInitMap->GetDocName()); @@ -433,40 +433,6 @@ uno::Sequence< OUString > SAL_CALL SwAccessibleDocument::getSupportedServiceName return { sServiceName, sAccessibleServiceName }; } -// XInterface - -uno::Any SwAccessibleDocument::queryInterface( - const uno::Type& rType ) -{ - uno::Any aRet; - if ( rType == cppu::UnoType<XAccessibleSelection>::get() ) - { - uno::Reference<XAccessibleSelection> aSelect = this; - aRet <<= aSelect; - } - else if ( rType == cppu::UnoType<XAccessibleExtendedAttributes>::get()) - { - uno::Reference<XAccessibleExtendedAttributes> aAttribute = this; - aRet <<= aAttribute; - } - else - aRet = SwAccessibleContext::queryInterface( rType ); - return aRet; -} - -// XTypeProvider -uno::Sequence< uno::Type > SAL_CALL SwAccessibleDocument::getTypes() -{ - return cppu::OTypeCollection( - cppu::UnoType<XAccessibleSelection>::get(), - SwAccessibleDocumentBase::getTypes() ).getTypes(); -} - -uno::Sequence< sal_Int8 > SAL_CALL SwAccessibleDocument::getImplementationId() -{ - return css::uno::Sequence<sal_Int8>(); -} - // XAccessibleSelection void SwAccessibleDocument::selectAccessibleChild( diff --git a/sw/source/core/access/accdoc.hxx b/sw/source/core/access/accdoc.hxx index 735dc822cd81..e2012558382c 100644 --- a/sw/source/core/access/accdoc.hxx +++ b/sw/source/core/access/accdoc.hxx @@ -86,12 +86,13 @@ public: virtual css::awt::Size SAL_CALL getSize() override; }; +using SwAccessibleDocument_BASE = cppu::ImplInheritanceHelper<SwAccessibleDocumentBase, + css::accessibility::XAccessibleSelection, + css::accessibility::XAccessibleExtendedAttributes>; /** * access to an accessible Writer document */ -class SwAccessibleDocument : public SwAccessibleDocumentBase, - public css::accessibility::XAccessibleSelection, - public css::accessibility::XAccessibleExtendedAttributes +class SwAccessibleDocument : public SwAccessibleDocument_BASE { // Implementation for XAccessibleSelection interface SwAccessibleSelectionHelper maSelectionHelper; @@ -123,25 +124,6 @@ public: virtual css::uno::Sequence< OUString> SAL_CALL getSupportedServiceNames() override; - // XInterface - - // XInterface is inherited through SwAccessibleContext and - // XAccessibleSelection. These methods are needed to avoid - // ambiguities. - - virtual css::uno::Any SAL_CALL queryInterface( - const css::uno::Type& aType ) override; - - virtual void SAL_CALL acquire( ) noexcept override - { SwAccessibleContext::acquire(); }; - - virtual void SAL_CALL release( ) noexcept override - { SwAccessibleContext::release(); }; - - // XTypeProvider - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override; - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) override; - // XAccessibleSelection virtual void SAL_CALL selectAccessibleChild( diff --git a/sw/source/core/access/accnotextframe.cxx b/sw/source/core/access/accnotextframe.cxx index d3f7c38bae77..0191da39aa18 100644 --- a/sw/source/core/access/accnotextframe.cxx +++ b/sw/source/core/access/accnotextframe.cxx @@ -58,7 +58,7 @@ SwAccessibleNoTextFrame::SwAccessibleNoTextFrame( std::shared_ptr<SwAccessibleMap> const& pInitMap, sal_Int16 nInitRole, const SwFlyFrame* pFlyFrame ) : - SwAccessibleFrameBase( pInitMap, nInitRole, pFlyFrame ) + SwAccessibleNoTextFrame_BASE( pInitMap, nInitRole, pFlyFrame ) { const SwNoTextNode* pNd = GetNoTextNode(); // #i73249# @@ -157,34 +157,6 @@ OUString SAL_CALL SwAccessibleNoTextFrame::getAccessibleDescription() return msDesc; } -// XInterface - -uno::Any SAL_CALL SwAccessibleNoTextFrame::queryInterface( const uno::Type& aType ) -{ - if( aType == - ::cppu::UnoType<XAccessibleImage>::get() ) - { - uno::Reference<XAccessibleImage> xImage = this; - return uno::Any(xImage); - } - else if ( aType == cppu::UnoType<XAccessibleHypertext>::get()) - { - uno::Reference<XAccessibleHypertext> aAccHypertext = this; - return uno::Any( aAccHypertext ); - } - else - return SwAccessibleContext::queryInterface( aType ); -} - -// XTypeProvider - -uno::Sequence< uno::Type > SAL_CALL SwAccessibleNoTextFrame::getTypes() -{ - return cppu::OTypeCollection( - ::cppu::UnoType<XAccessibleImage>::get(), - SwAccessibleFrameBase::getTypes() ).getTypes(); -} - /// XAccessibleImage /** implementation of the XAccessibleImage methods is a no-brainer, as all relevant information is already accessible through other diff --git a/sw/source/core/access/accnotextframe.hxx b/sw/source/core/access/accnotextframe.hxx index 4383c8df7bfd..4b01d1f5d008 100644 --- a/sw/source/core/access/accnotextframe.hxx +++ b/sw/source/core/access/accnotextframe.hxx @@ -29,9 +29,10 @@ class SwFlyFrame; class SwNoTextNode; class SwAccessibleNoTextHyperlink; -class SwAccessibleNoTextFrame : public SwAccessibleFrameBase, - public css::accessibility::XAccessibleImage, - public css::accessibility::XAccessibleHypertext//Added by yangzhh for HyperLink +using SwAccessibleNoTextFrame_BASE = cppu::ImplInheritanceHelper<SwAccessibleFrameBase, + css::accessibility::XAccessibleImage, + css::accessibility::XAccessibleHypertext>; +class SwAccessibleNoTextFrame : public SwAccessibleNoTextFrame_BASE { friend class SwAccessibleNoTextHyperlink; rtl::Reference< SwAccessibleNoTextHyperlink > m_xHyperlink; @@ -60,22 +61,6 @@ public: virtual OUString SAL_CALL getAccessibleDescription() override; - // XInterface methods need to be implemented to disambiguate - // between those inherited through SwAccessibleContext and - // XAccessibleImage. - - virtual css::uno::Any SAL_CALL queryInterface( - const css::uno::Type& aType ) override; - - virtual void SAL_CALL acquire( ) noexcept override - { SwAccessibleContext::acquire(); }; - - virtual void SAL_CALL release( ) noexcept override - { SwAccessibleContext::release(); }; - - // XTypeProvider - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override; - // XAccessibleImage virtual OUString SAL_CALL getAccessibleImageDescription( ) override; diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx index b41583a78a38..b07ba95b6822 100644 --- a/sw/source/core/access/accpara.cxx +++ b/sw/source/core/access/accpara.cxx @@ -403,7 +403,7 @@ void SwAccessibleParagraph::InvalidateFocus_() SwAccessibleParagraph::SwAccessibleParagraph( std::shared_ptr<SwAccessibleMap> const& pInitMap, const SwTextFrame& rTextFrame ) - : SwAccessibleContext( pInitMap, AccessibleRole::PARAGRAPH, &rTextFrame ) + : SwAccessibleParagraph_BASE(pInitMap, AccessibleRole::PARAGRAPH, &rTextFrame) , m_nOldCaretPos( -1 ) , m_bIsBlockQuote(false) , m_bIsHeading( false ) @@ -931,89 +931,6 @@ static uno::Sequence< OUString > const & getSupplementalAttributeNames() return aNames; } -// XInterface - -uno::Any SwAccessibleParagraph::queryInterface( const uno::Type& rType ) -{ - uno::Any aRet; - if ( rType == cppu::UnoType<XAccessibleText>::get()) - { - uno::Reference<XAccessibleText> aAccText = static_cast<XAccessibleText *>(*this); // resolve ambiguity - aRet <<= aAccText; - } - else if ( rType == cppu::UnoType<XAccessibleEditableText>::get()) - { - uno::Reference<XAccessibleEditableText> aAccEditText = this; - aRet <<= aAccEditText; - } - else if ( rType == cppu::UnoType<XAccessibleSelection>::get()) - { - uno::Reference<XAccessibleSelection> aAccSel = this; - aRet <<= aAccSel; - } - else if ( rType == cppu::UnoType<XAccessibleHypertext>::get()) - { - uno::Reference<XAccessibleHypertext> aAccHyp = this; - aRet <<= aAccHyp; - } - // #i63870# - // add interface com::sun:star:accessibility::XAccessibleTextAttributes - else if ( rType == cppu::UnoType<XAccessibleTextAttributes>::get()) - { - uno::Reference<XAccessibleTextAttributes> aAccTextAttr = this; - aRet <<= aAccTextAttr; - } - // #i89175# - // add interface com::sun:star:accessibility::XAccessibleTextMarkup - else if ( rType == cppu::UnoType<XAccessibleTextMarkup>::get()) - { - uno::Reference<XAccessibleTextMarkup> aAccTextMarkup = this; - aRet <<= aAccTextMarkup; - } - // add interface com::sun:star:accessibility::XAccessibleMultiLineText - else if ( rType == cppu::UnoType<XAccessibleMultiLineText>::get()) - { - uno::Reference<XAccessibleMultiLineText> aAccMultiLineText = this; - aRet <<= aAccMultiLineText; - } - else if ( rType == cppu::UnoType<XAccessibleTextSelection>::get()) - { - uno::Reference< css::accessibility::XAccessibleTextSelection > aTextExtension = this; - aRet <<= aTextExtension; - } - else if ( rType == cppu::UnoType<XAccessibleExtendedAttributes>::get()) - { - uno::Reference<XAccessibleExtendedAttributes> xAttr = this; - aRet <<= xAttr; - } - else - { - aRet = SwAccessibleContext::queryInterface(rType); - } - - return aRet; -} - -// XTypeProvider -uno::Sequence< uno::Type > SAL_CALL SwAccessibleParagraph::getTypes() -{ - // #i63870# - add type accessibility::XAccessibleTextAttributes - // #i89175# - add type accessibility::XAccessibleTextMarkup and - return cppu::OTypeCollection( - cppu::UnoType<XAccessibleEditableText>::get(), - cppu::UnoType<XAccessibleTextAttributes>::get(), - ::cppu::UnoType<XAccessibleSelection>::get(), - cppu::UnoType<XAccessibleTextMarkup>::get(), - cppu::UnoType<XAccessibleMultiLineText>::get(), - cppu::UnoType<XAccessibleHypertext>::get(), - SwAccessibleContext::getTypes() ).getTypes(); -} - -uno::Sequence< sal_Int8 > SAL_CALL SwAccessibleParagraph::getImplementationId() -{ - return css::uno::Sequence<sal_Int8>(); -} - // XAccessibleText sal_Int32 SwAccessibleParagraph::getCaretPosition() diff --git a/sw/source/core/access/accpara.hxx b/sw/source/core/access/accpara.hxx index 357c4f17c77d..6cef4039e915 100644 --- a/sw/source/core/access/accpara.hxx +++ b/sw/source/core/access/accpara.hxx @@ -50,17 +50,18 @@ namespace com::sun::star { typedef std::unordered_map< OUString, css::beans::PropertyValue > tAccParaPropValMap; +using SwAccessibleParagraph_BASE = cppu::ImplInheritanceHelper<SwAccessibleContext, + css::accessibility::XAccessibleEditableText, + css::accessibility::XAccessibleSelection, + css::accessibility::XAccessibleHypertext, + css::accessibility::XAccessibleTextMarkup, + css::accessibility::XAccessibleMultiLineText, + css::accessibility::XAccessibleTextAttributes, + css::accessibility::XAccessibleTextSelection, + css::accessibility::XAccessibleExtendedAttributes>; class SwAccessibleParagraph : public SfxListener, - public SwAccessibleContext, - public css::accessibility::XAccessibleEditableText, - public css::accessibility::XAccessibleSelection, - public css::accessibility::XAccessibleHypertext, - public css::accessibility::XAccessibleTextMarkup, - public css::accessibility::XAccessibleMultiLineText, - public css::accessibility::XAccessibleTextAttributes, - public css::accessibility::XAccessibleTextSelection, - public css::accessibility::XAccessibleExtendedAttributes + public SwAccessibleParagraph_BASE { friend class SwAccessibleHyperlink; @@ -279,25 +280,6 @@ public: virtual css::uno::Sequence< OUString> SAL_CALL getSupportedServiceNames() override; - // XInterface - - // (XInterface methods need to be implemented to disambiguate - // between those inherited through SwAccessibleContext and - // XAccessibleEditableText). - - virtual css::uno::Any SAL_CALL queryInterface( - const css::uno::Type& aType ) override; - - virtual void SAL_CALL acquire( ) noexcept override - { SwAccessibleContext::acquire(); }; - - virtual void SAL_CALL release( ) noexcept override - { SwAccessibleContext::release(); }; - - // XTypeProvider - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override; - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) override; - // XAccessibleText virtual sal_Int32 SAL_CALL getCaretPosition() override; virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex ) override; diff --git a/sw/source/core/access/acctable.cxx b/sw/source/core/access/acctable.cxx index dfd78370847b..360241005559 100644 --- a/sw/source/core/access/acctable.cxx +++ b/sw/source/core/access/acctable.cxx @@ -608,7 +608,7 @@ void SwAccessibleTable::GetStates( sal_Int64& rStateSet ) SwAccessibleTable::SwAccessibleTable( std::shared_ptr<SwAccessibleMap> const& pInitMap, const SwTabFrame* pTabFrame ) : - SwAccessibleContext( pInitMap, AccessibleRole::TABLE, pTabFrame ) + SwAccessibleTable_BASE( pInitMap, AccessibleRole::TABLE, pTabFrame ) { const SwFrameFormat* pFrameFormat = pTabFrame->GetFormat(); StartListening(const_cast<SwFrameFormat*>(pFrameFormat)->GetNotifier()); @@ -667,46 +667,6 @@ void SwAccessibleTable::Notify(const SfxHint& rHint) } } -uno::Any SwAccessibleTable::queryInterface( const uno::Type& rType ) -{ - uno::Any aRet; - if ( rType == cppu::UnoType<XAccessibleTable>::get() ) - { - uno::Reference<XAccessibleTable> xThis( this ); - aRet <<= xThis; - } - else if ( rType == cppu::UnoType<XAccessibleSelection>::get() ) - { - uno::Reference<XAccessibleSelection> xSelection( this ); - aRet <<= xSelection; - } - else if ( rType == cppu::UnoType<XAccessibleTableSelection>::get() ) - { - uno::Reference<XAccessibleTableSelection> xTableExtent( this ); - aRet <<= xTableExtent; - } - else - { - aRet = SwAccessibleContext::queryInterface(rType); - } - - return aRet; -} - -// XTypeProvider -uno::Sequence< uno::Type > SAL_CALL SwAccessibleTable::getTypes() -{ - return cppu::OTypeCollection( - cppu::UnoType<XAccessibleSelection>::get(), - cppu::UnoType<XAccessibleTable>::get(), - SwAccessibleContext::getTypes() ).getTypes(); -} - -uno::Sequence< sal_Int8 > SAL_CALL SwAccessibleTable::getImplementationId() -{ - return css::uno::Sequence<sal_Int8>(); -} - // #i77106# std::unique_ptr<SwAccessibleTableData_Impl> SwAccessibleTable::CreateNewTableData() { @@ -1647,12 +1607,6 @@ void SwAccessibleTableColHeaders::Notify(const SfxHint& ) { } -// XInterface -uno::Any SAL_CALL SwAccessibleTableColHeaders::queryInterface( const uno::Type& aType ) -{ - return SwAccessibleTable::queryInterface( aType ); -} - // XAccessibleContext sal_Int64 SAL_CALL SwAccessibleTableColHeaders::getAccessibleChildCount() { diff --git a/sw/source/core/access/acctable.hxx b/sw/source/core/access/acctable.hxx index 9996ffa33b0d..dd835d85b1c6 100644 --- a/sw/source/core/access/acctable.hxx +++ b/sw/source/core/access/acctable.hxx @@ -38,11 +38,12 @@ namespace sw::access { class SwAccessibleChild; } +using SwAccessibleTable_BASE = cppu::ImplInheritanceHelper<SwAccessibleContext, + css::accessibility::XAccessibleTable, + css::accessibility::XAccessibleSelection, + css::accessibility::XAccessibleTableSelection>; class SwAccessibleTable : - public SwAccessibleContext, - public css::accessibility::XAccessibleTable, - public css::accessibility::XAccessibleSelection, - public css::accessibility::XAccessibleTableSelection, + public SwAccessibleTable_BASE, public SvtListener { std::unique_ptr<SwAccessibleTableData_Impl> mpTableData; // the table's data, protected by SolarMutex @@ -95,25 +96,6 @@ public: SwAccessibleTable(std::shared_ptr<SwAccessibleMap> const& pInitMap, const SwTabFrame* pTableFrame); - // XInterface - - // (XInterface methods need to be implemented to disambiguate - // between those inherited through SwAccessibleContext and - // XAccessibleTable). - - virtual css::uno::Any SAL_CALL queryInterface( - const css::uno::Type& aType ) override; - - virtual void SAL_CALL acquire( ) noexcept override - { SwAccessibleContext::acquire(); }; - - virtual void SAL_CALL release( ) noexcept override - { SwAccessibleContext::release(); }; - - // XTypeProvider - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override; - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) override; - // XAccessibleContext /// Return this object's description. @@ -244,11 +226,6 @@ public: SwAccessibleTableColHeaders(std::shared_ptr<SwAccessibleMap> const& pMap, const SwTabFrame *pTabFrame); - // XInterface - - virtual css::uno::Any SAL_CALL queryInterface( - const css::uno::Type& aType ) override; - // XAccessibleContext /// Return the number of currently visible children. commit 76cf7c6fc071c76675fef80bf55be473efef6296 Author: Mike Kaganski <[email protected]> AuthorDate: Sun Dec 8 21:43:14 2024 +0500 Commit: Mike Kaganski <[email protected]> CommitDate: Sun Dec 8 20:19:34 2024 +0100 Simplify UcbContentProviderProxy Change-Id: I7366e31dc167707adf2c614049cee852e44d7ac1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178097 Reviewed-by: Mike Kaganski <[email protected]> Tested-by: Jenkins diff --git a/ucb/source/core/provprox.cxx b/ucb/source/core/provprox.cxx index 54ba56b33165..863e3c1469b1 100644 --- a/ucb/source/core/provprox.cxx +++ b/ucb/source/core/provprox.cxx @@ -108,31 +108,12 @@ UcbContentProviderProxy::~UcbContentProviderProxy() // XInterface methods. -void SAL_CALL UcbContentProviderProxy::acquire() - noexcept -{ - OWeakObject::acquire(); -} - -void SAL_CALL UcbContentProviderProxy::release() - noexcept -{ - OWeakObject::release(); -} // virtual Any SAL_CALL UcbContentProviderProxy::queryInterface( const Type & rType ) { - Any aRet = cppu::queryInterface( rType, - static_cast< XTypeProvider * >( this ), - static_cast< XServiceInfo * >( this ), - static_cast< XContentProvider * >( this ), - static_cast< XParameterizedContentProvider * >( this ), - static_cast< XContentProviderSupplier * >( this ) ); - - if ( !aRet.hasValue() ) - aRet = OWeakObject::queryInterface( rType ); + Any aRet = UcbContentProviderProxy_BASE::queryInterface(rType); if ( !aRet.hasValue() ) { @@ -148,28 +129,13 @@ UcbContentProviderProxy::queryInterface( const Type & rType ) // XTypeProvider methods. - -XTYPEPROVIDER_COMMON_IMPL( UcbContentProviderProxy ); - - Sequence< Type > SAL_CALL UcbContentProviderProxy::getTypes() { // Get original provider and forward the call... - Reference< XTypeProvider > xProvider( getContentProvider(), UNO_QUERY ); - if ( xProvider.is() ) - { + if (Reference<XTypeProvider> xProvider{ getContentProvider(), UNO_QUERY }) return xProvider->getTypes(); - } - else - { - static cppu::OTypeCollection s_aCollection( - CPPU_TYPE_REF( XTypeProvider ), - CPPU_TYPE_REF( XServiceInfo ), - CPPU_TYPE_REF( XContentProvider ), - CPPU_TYPE_REF( XParameterizedContentProvider ), - CPPU_TYPE_REF( XContentProviderSupplier ) ); - return s_aCollection.getTypes(); - } + + return UcbContentProviderProxy_BASE::getTypes(); } diff --git a/ucb/source/core/provprox.hxx b/ucb/source/core/provprox.hxx index 746c9b63d801..a5486a48f81e 100644 --- a/ucb/source/core/provprox.hxx +++ b/ucb/source/core/provprox.hxx @@ -55,16 +55,12 @@ public: - -class UcbContentProviderProxy : - public cppu::OWeakObject, - public css::lang::XTypeProvider, - public css::lang::XServiceInfo, - public css::ucb::XContentProviderSupplier, - public css::ucb::XContentProvider, - public css::ucb::XParameterizedContentProvider +using UcbContentProviderProxy_BASE = comphelper::WeakImplHelper<css::lang::XServiceInfo, + css::ucb::XContentProviderSupplier, + css::ucb::XContentProvider, + css::ucb::XParameterizedContentProvider>; +class UcbContentProviderProxy : public UcbContentProviderProxy_BASE { - std::mutex m_aMutex; OUString m_aService; OUString m_aTemplate; OUString m_aArguments; @@ -86,13 +82,8 @@ public: // XInterface virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type & rType ) override; - virtual void SAL_CALL acquire() - noexcept override; - virtual void SAL_CALL release() - noexcept override; // XTypeProvider - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override; virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override; // XServiceInfo
