dbaccess/source/core/dataaccess/documenteventexecutor.cxx | 19 +++++--------- dbaccess/source/core/dataaccess/documenteventexecutor.hxx | 8 +++-- 2 files changed, 13 insertions(+), 14 deletions(-)
New commits: commit fff43a2e76dd6e6892a9c447edf60a44ba1a345e Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri Sep 20 15:30:38 2024 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Sep 24 12:13:47 2024 +0200 use more concrete UNO types in dbaccess Change-Id: Ibcf54e3bbdad4888c5da1f52f636951356e0aa51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173818 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/dbaccess/source/core/dataaccess/documenteventexecutor.cxx b/dbaccess/source/core/dataaccess/documenteventexecutor.cxx index dca584d5b054..aebaf385e64b 100644 --- a/dbaccess/source/core/dataaccess/documenteventexecutor.cxx +++ b/dbaccess/source/core/dataaccess/documenteventexecutor.cxx @@ -18,6 +18,7 @@ */ #include "documenteventexecutor.hxx" +#include "databasedocument.hxx" #include <com/sun/star/document/XDocumentEventBroadcaster.hpp> #include <com/sun/star/util/URLTransformer.hpp> @@ -60,11 +61,11 @@ namespace dbaccess namespace { void lcl_dispatchScriptURL_throw( - css::uno::WeakReference< css::document::XEventsSupplier > const & xWeakDocument, + ::unotools::WeakReference< ODatabaseDocument > const & xWeakDocument, css::uno::Reference< css::util::XURLTransformer > const & xURLTransformer, const OUString& _rScriptURL, const DocumentEvent& _rTrigger ) { - Reference< XModel > xDocument( xWeakDocument.get(), UNO_QUERY_THROW ); + rtl::Reference< ODatabaseDocument > xDocument( xWeakDocument.get() ); Reference< XController > xController( xDocument->getCurrentController() ); Reference< XDispatchProvider > xDispProv; @@ -102,14 +103,12 @@ namespace dbaccess // DocumentEventExecutor DocumentEventExecutor::DocumentEventExecutor( const Reference<XComponentContext> & _rContext, - const Reference< XEventsSupplier >& _rxDocument ) + const rtl::Reference< ODatabaseDocument >& _rxDocument ) :mxDocument( _rxDocument ) { - Reference< XDocumentEventBroadcaster > xBroadcaster( _rxDocument, UNO_QUERY_THROW ); - osl_atomic_increment( &m_refCount ); { - xBroadcaster->addDocumentEventListener( this ); + _rxDocument->addDocumentEventListener( this ); } osl_atomic_decrement( &m_refCount ); @@ -129,18 +128,16 @@ namespace dbaccess void SAL_CALL DocumentEventExecutor::documentEventOccured( const DocumentEvent& Event ) { - Reference< XEventsSupplier > xEventsSupplier( mxDocument.get(), UNO_QUERY ); - if ( !xEventsSupplier ) + rtl::Reference< ODatabaseDocument > xDocument( mxDocument.get() ); + if ( !xDocument ) { OSL_FAIL( "DocumentEventExecutor::documentEventOccurred: no document anymore, but still being notified?" ); return; } - Reference< XModel > xDocument( xEventsSupplier, UNO_QUERY_THROW ); - try { - Reference< XNameAccess > xDocEvents( xEventsSupplier->getEvents(), UNO_SET_THROW ); + Reference< XNameAccess > xDocEvents( xDocument->getEvents(), UNO_SET_THROW ); if ( !xDocEvents->hasByName( Event.EventName ) ) { // this is worth an assertion: We are listener at the very same document which we just asked diff --git a/dbaccess/source/core/dataaccess/documenteventexecutor.hxx b/dbaccess/source/core/dataaccess/documenteventexecutor.hxx index 58aee4bcd590..e012846c83e9 100644 --- a/dbaccess/source/core/dataaccess/documenteventexecutor.hxx +++ b/dbaccess/source/core/dataaccess/documenteventexecutor.hxx @@ -23,13 +23,15 @@ #include <com/sun/star/document/XEventsSupplier.hpp> #include <cppuhelper/implbase.hxx> -#include <cppuhelper/weakref.hxx> +#include <unotools/weakref.hxx> namespace com::sun::star::uno { class XComponentContext; } namespace com::sun::star::util { class XURLTransformer; } namespace dbaccess { + class ODatabaseDocument; + // DocumentEventExecutor typedef ::cppu::WeakImplHelper < css::document::XDocumentEventListener > DocumentEventExecutor_Base; @@ -38,7 +40,7 @@ namespace dbaccess public: DocumentEventExecutor( const css::uno::Reference< css::uno::XComponentContext >& _rContext, - const css::uno::Reference< css::document::XEventsSupplier >& _rxDocument ); + const rtl::Reference< ODatabaseDocument >& _rxDocument ); protected: virtual ~DocumentEventExecutor() override; @@ -49,7 +51,7 @@ namespace dbaccess virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) override; private: - css::uno::WeakReference< css::document::XEventsSupplier > mxDocument; + unotools::WeakReference< ODatabaseDocument > mxDocument; css::uno::Reference< css::util::XURLTransformer > mxURLTransformer; };