From 61eed5f1b9889ba3b6c0e484f0847cdf52ab3871 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 22 Jul 2013 16:06:20 +0200 Subject: convert sfx2 UNO services to WeakImplHelper ...removing the SFX_ UNO-related macros as a result. Change-Id: I56542885847ff0adc604f309ed7e2582b7529f3f --- include/sfx2/appuno.hxx | 17 +- include/sfx2/sfxstatuslistener.hxx | 11 +- include/sfx2/sfxuno.hxx | 350 ------------------------------------- include/sfx2/unoctitm.hxx | 19 +- 4 files changed, 16 insertions(+), 381 deletions(-) (limited to 'include') diff --git a/include/sfx2/appuno.hxx b/include/sfx2/appuno.hxx index ff2313fd040d..1845867acc99 100644 --- a/include/sfx2/appuno.hxx +++ b/include/sfx2/appuno.hxx @@ -39,21 +39,20 @@ #include #include #include -#include #include #include +#include #include #include class SfxObjectShell; -class SfxMacroLoader : public ::com::sun::star::frame::XDispatchProvider, - public ::com::sun::star::frame::XNotifyingDispatch, - public ::com::sun::star::frame::XSynchronousDispatch, - public ::com::sun::star::lang::XTypeProvider, - public ::com::sun::star::lang::XServiceInfo, - public ::com::sun::star::lang::XInitialization, - public ::cppu::OWeakObject +class SfxMacroLoader : public ::cppu::WeakImplHelper5< + css::frame::XDispatchProvider, + css::frame::XNotifyingDispatch, + css::frame::XSynchronousDispatch, + css::lang::XServiceInfo, + css::lang::XInitialization > { ::com::sun::star::uno::WeakReference < ::com::sun::star::frame::XFrame > m_xFrame; @@ -61,7 +60,7 @@ class SfxMacroLoader : public ::com::sun::star::frame::XDispatchProvider, public: // XInterface, XTypeProvider, XServiceInfo - SFX_DECL_XINTERFACE_XTYPEPROVIDER_XSERVICEINFO + SFX_DECL_XSERVICEINFO SfxMacroLoader( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ) {} diff --git a/include/sfx2/sfxstatuslistener.hxx b/include/sfx2/sfxstatuslistener.hxx index 9e6be020db10..9913b911ffed 100644 --- a/include/sfx2/sfxstatuslistener.hxx +++ b/include/sfx2/sfxstatuslistener.hxx @@ -30,7 +30,7 @@ #include #include -#include +#include // Interface for implementations which needs to get notifications about state changes class SfxStatusListenerInterface @@ -42,14 +42,11 @@ class SfxStatusListenerInterface ~SfxStatusListenerInterface() {} }; -class SFX2_DLLPUBLIC SfxStatusListener : - public ::com::sun::star::frame::XStatusListener , - public ::com::sun::star::lang::XTypeProvider , - public ::com::sun::star::lang::XComponent , - public ::cppu::OWeakObject +class SFX2_DLLPUBLIC SfxStatusListener : public ::cppu::WeakImplHelper2< + css::frame::XStatusListener, + css::lang::XComponent> { public: - SFX_DECL_XINTERFACE_XTYPEPROVIDER SfxStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider >& rDispatchProvider, sal_uInt16 nSlotId, const OUString& aCommand ); virtual ~SfxStatusListener(); diff --git a/include/sfx2/sfxuno.hxx b/include/sfx2/sfxuno.hxx index 6b0a2763497e..3dee2babe33c 100644 --- a/include/sfx2/sfxuno.hxx +++ b/include/sfx2/sfxuno.hxx @@ -75,27 +75,6 @@ bool GetEncryptionData_Impl( const SfxItemSet* pSet, css::uno::Sequence< css::be // macros for declaration and definition of uno-services //________________________________________________________________________________________________________________________ -//************************************************************************************************************************ -// declaration of XInterface::queryInterface() -// XInterface::aquire() -// XInterface::release() -// XTypeProvider::getTypes() -// XTypeProvider::getImplementationId() -//************************************************************************************************************************ -#define SFX_DECL_XINTERFACE \ - virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType ) throw( css::uno::RuntimeException ); \ - virtual void SAL_CALL acquire() throw(); \ - virtual void SAL_CALL release() throw(); - -#define SFX_DECL_XTYPEPROVIDER \ - /* XTypeProvider */ \ - virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() throw( css::uno::RuntimeException ); \ - virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw( css::uno::RuntimeException ); - -#define SFX_DECL_XINTERFACE_XTYPEPROVIDER \ - SFX_DECL_XINTERFACE \ - SFX_DECL_XTYPEPROVIDER - //************************************************************************************************************************ // declaration of XInterface::queryInterface() // XInterface::aquire() @@ -140,335 +119,6 @@ bool GetEncryptionData_Impl( const SfxItemSet* pSet, css::uno::Sequence< css::be SFX_DECL_XSERVICEINFO_NOFACTORY \ static css::uno::Reference< css::lang::XSingleServiceFactory > impl_createFactory( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager ); -#define SFX_DECL_XINTERFACE_XTYPEPROVIDER_XSERVICEINFO \ - \ - /* XInterface + XTypeProvider */ \ - SFX_DECL_XINTERFACE_XTYPEPROVIDER \ - SFX_DECL_XSERVICEINFO - -//************************************************************************************************************************ -// implementation of XInterface::queryInterface() -// XInterface::aquire() -// XInterface::release() -//************************************************************************************************************************ -/*_________________________________________________________________________________________________________________________*/ -// DON'T USE FOLLOW MACROS DIRECTLY!!! -#define SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, IMPLINTERFACES ) \ - \ - void SAL_CALL IMPLCLASS::acquire() throw() \ - { \ - /* Don't use mutex in methods of XInterface! */ \ - BASECLASS::acquire(); \ - } \ - \ - void SAL_CALL IMPLCLASS::release() throw() \ - { \ - /* Don't use mutex in methods of XInterface! */ \ - BASECLASS::release(); \ - } \ - \ - css::uno::Any SAL_CALL IMPLCLASS::queryInterface( const css::uno::Type& rType ) throw( css::uno::RuntimeException ) \ - { \ - /* Attention: Don't use mutex or guard in this method!!! Is a method of XInterface. */ \ - /* Ask for my own supported interfaces ... */ \ - css::uno::Any aReturn ( ::cppu::queryInterface( rType, \ - IMPLINTERFACES \ - ) \ - ); \ - /* If searched interface supported by this class ... */ \ - if ( aReturn.hasValue() == sal_True ) \ - { \ - /* ... return this information. */ \ - return aReturn ; \ - } \ - else \ - { \ - /* Else; ... ask baseclass for interfaces! */ \ - return BASECLASS::queryInterface( rType ); \ - } \ - } - -#define SFX_IMPL_INTERFACE_0 \ - static_cast< css::lang::XTypeProvider* >( this ) - -#define SFX_IMPL_INTERFACE_1( INTERFACE1 ) \ - SFX_IMPL_INTERFACE_0, \ - static_cast< INTERFACE1* >( this ) - -#define SFX_IMPL_INTERFACE_2( INTERFACE1, INTERFACE2 ) \ - SFX_IMPL_INTERFACE_1( INTERFACE1 ), \ - static_cast< INTERFACE2* >( this ) - -#define SFX_IMPL_INTERFACE_3( INTERFACE1, INTERFACE2, INTERFACE3 ) \ - SFX_IMPL_INTERFACE_2( INTERFACE1, INTERFACE2 ), \ - static_cast< INTERFACE3* >( this ) - -#define SFX_IMPL_INTERFACE_4( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4 ) \ - SFX_IMPL_INTERFACE_3( INTERFACE1, INTERFACE2, INTERFACE3 ), \ - static_cast< INTERFACE4* >( this ) - -#define SFX_IMPL_INTERFACE_5( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5 ) \ - SFX_IMPL_INTERFACE_4( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4 ), \ - static_cast< INTERFACE5* >( this ) - -#define SFX_IMPL_INTERFACE_6( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6 ) \ - SFX_IMPL_INTERFACE_5( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5 ), \ - static_cast< INTERFACE6* >( this ) - -#define SFX_IMPL_INTERFACE_7( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7 ) \ - SFX_IMPL_INTERFACE_6( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6 ), \ - static_cast< INTERFACE7* >( this ) - -#define SFX_IMPL_INTERFACE_8( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8 ) \ - SFX_IMPL_INTERFACE_7( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7 ), \ - static_cast< INTERFACE8* >( this ) - -#define SFX_IMPL_INTERFACE_9( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9 ) \ - SFX_IMPL_INTERFACE_8( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8 ), \ - static_cast< INTERFACE9* >( this ) - -#define SFX_IMPL_INTERFACE_10( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10 ) \ - SFX_IMPL_INTERFACE_9( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9 ), \ - static_cast< INTERFACE10* >( this ) - -#define SFX_IMPL_INTERFACE_11( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11 ) \ - SFX_IMPL_INTERFACE_10( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10 ), \ - static_cast< INTERFACE11* >( this ) - -#define SFX_IMPL_INTERFACE_12( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11, INTERFACE12 ) \ - SFX_IMPL_INTERFACE_11( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11 ), \ - static_cast< INTERFACE12* >( this ) - -#define SFX_IMPL_INTERFACE_13( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11, INTERFACE12, INTERFACE13 ) \ - SFX_IMPL_INTERFACE_12( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11, INTERFACE12 ), \ - static_cast< INTERFACE13* >( this ) -/*_________________________________________________________________________________________________________________________*/ - -// Follow macros can used directly :-) -// implementation of XInterface with 0 additional interface for queryInterface() -#define SFX_IMPL_XINTERFACE_0( IMPLCLASS, BASECLASS ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_0 ) - -// implementation of XInterface with 1 additional interface for queryInterface() -#define SFX_IMPL_XINTERFACE_1( IMPLCLASS, BASECLASS, INTERFACE1 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_1( INTERFACE1 ) ) - -// implementation of XInterface with 2 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_2( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_2( INTERFACE1, INTERFACE2 ) ) - -// implementation of XInterface with 3 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_3( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_3( INTERFACE1, INTERFACE2, INTERFACE3 ) ) - -// implementation of XInterface with 4 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_4( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_4( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4 ) ) - -// implementation of XInterface with 5 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_5( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_5( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5 ) ) - -// implementation of XInterface with 6 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_6( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_6( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6 ) ) - -// implementation of XInterface with 7 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_7( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_7( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7 ) ) - -// implementation of XInterface with 8 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_8( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_8( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8 ) ) - -// implementation of XInterface with 9 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_9( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_9( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9 ) ) - -// implementation of XInterface with 10 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_10( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_10( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10 ) ) - -// implementation of XInterface with 11 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_11( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_11( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11 ) ) - -// implementation of XInterface with 11 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_12( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11, INTERFACE12 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_12( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11, INTERFACE12 ) ) - -// implementation of XInterface with 11 additional interfaces for queryInterface() -#define SFX_IMPL_XINTERFACE_13( IMPLCLASS, BASECLASS, INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11, INTERFACE12, INTERFACE13 ) \ - SFX_IMPL_XINTERFACE_BASE( IMPLCLASS, BASECLASS, SFX_IMPL_INTERFACE_13( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11, INTERFACE12, INTERFACE13 ) ) - -//************************************************************************************************************************ -// implementation of XTypeProvider::getTypes() -// XTypeProvider::getImplementationId() -//************************************************************************************************************************ -/*_________________________________________________________________________________________________________________________*/ -// DON'T USE FOLLOW MACROS DIRECTLY!!! -#define SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, IMPLTYPES ) \ - \ - css::uno::Sequence< sal_Int8 > SAL_CALL IMPLCLASS::getImplementationId() throw( css::uno::RuntimeException ) \ - { \ - /* Create one Id for all instances of this class. */ \ - /* Use ethernet address to do this! (sal_True) */ \ - /* Optimize this method */ \ - /* We initialize a static variable only one time. And we don't must use a mutex at every call! */ \ - /* For the first call; pID is NULL - for the second call pID is different from NULL! */ \ - static ::cppu::OImplementationId* pID = NULL ; \ - if ( pID == NULL ) \ - { \ - /* Ready for multithreading; get global mutex for first call of this method only! see before */ \ - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); \ - /* Control these pointer again ... it can be, that another instance will be faster then these! */ \ - if ( pID == NULL ) \ - { \ - /* Create a new static ID ... */ \ - static ::cppu::OImplementationId aID( sal_False ); \ - /* ... and set his address to static pointer! */ \ - pID = &aID ; \ - } \ - } \ - return pID->getImplementationId(); \ - } \ - \ - css::uno::Sequence< css::uno::Type > SAL_CALL IMPLCLASS::getTypes() throw( css::uno::RuntimeException ) \ - { \ - /* Optimize this method ! */ \ - /* We initialize a static variable only one time. And we don't must use a mutex at every call! */ \ - /* For the first call; pTypeCollection is NULL - for the second call pTypeCollection is different from NULL!*/ \ - static ::cppu::OTypeCollection* pTypeCollection = NULL ; \ - if ( pTypeCollection == NULL ) \ - { \ - /* Ready for multithreading; get global mutex for first call of this method only! see before */ \ - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); \ - /* Control these pointer again ... it can be, that another instance will be faster then these! */ \ - if ( pTypeCollection == NULL ) \ - { \ - /* Create a static typecollection ... */ \ - static ::cppu::OTypeCollection aTypeCollection( IMPLTYPES ); \ - /* ... and set his address to static pointer! */ \ - pTypeCollection = &aTypeCollection ; \ - } \ - } \ - return pTypeCollection->getTypes(); \ - } - -#define SFX_IMPL_TYPE_0 \ - ::getCppuType(( const css::uno::Reference< css::lang::XTypeProvider >*)NULL ) - -#define SFX_IMPL_TYPE_1( TYPE1 ) \ - SFX_IMPL_TYPE_0, \ - ::getCppuType(( const css::uno::Reference< TYPE1 >*)NULL ) - -#define SFX_IMPL_TYPE_2( TYPE1, TYPE2 ) \ - SFX_IMPL_TYPE_1( TYPE1 ), \ - ::getCppuType(( const css::uno::Reference< TYPE2 >*)NULL ) - -#define SFX_IMPL_TYPE_3( TYPE1, TYPE2, TYPE3 ) \ - SFX_IMPL_TYPE_2( TYPE1, TYPE2 ), \ - ::getCppuType(( const css::uno::Reference< TYPE3 >*)NULL ) - -#define SFX_IMPL_TYPE_4( TYPE1, TYPE2, TYPE3, TYPE4 ) \ - SFX_IMPL_TYPE_3( TYPE1, TYPE2, TYPE3 ), \ - ::getCppuType(( const css::uno::Reference< TYPE4 >*)NULL ) - -#define SFX_IMPL_TYPE_5( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ) \ - SFX_IMPL_TYPE_4( TYPE1, TYPE2, TYPE3, TYPE4 ), \ - ::getCppuType(( const css::uno::Reference< TYPE5 >*)NULL ) - -#define SFX_IMPL_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ) \ - SFX_IMPL_TYPE_5( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ), \ - ::getCppuType(( const css::uno::Reference< TYPE6 >*)NULL ) - -#define SFX_IMPL_TYPE_7( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7 ) \ - SFX_IMPL_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ), \ - ::getCppuType(( const css::uno::Reference< TYPE7 >*)NULL ) - -#define SFX_IMPL_TYPE_8( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8 ) \ - SFX_IMPL_TYPE_7( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7 ), \ - ::getCppuType(( const css::uno::Reference< TYPE8 >*)NULL ) - -#define SFX_IMPL_TYPE_9( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ) \ - SFX_IMPL_TYPE_8( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8 ), \ - ::getCppuType(( const css::uno::Reference< TYPE9 >*)NULL ) - -#define SFX_IMPL_TYPE_10( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10 ) \ - SFX_IMPL_TYPE_9( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ), \ - ::getCppuType(( const css::uno::Reference< TYPE10 >*)NULL ) - -#define SFX_IMPL_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ) \ - SFX_IMPL_TYPE_10( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10 ), \ - ::getCppuType(( const css::uno::Reference< TYPE11 >*)NULL ) - -#define SFX_IMPL_TYPE_12( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12 ) \ - SFX_IMPL_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ), \ - ::getCppuType(( const css::uno::Reference< TYPE12 >*)NULL ) - -#define SFX_IMPL_TYPE_13( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12, TYPE13 ) \ - SFX_IMPL_TYPE_12( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12 ), \ - ::getCppuType(( const css::uno::Reference< TYPE13 >*)NULL ) -/*_________________________________________________________________________________________________________________________*/ - -// FOLLOW MACROS CAN USED DIRECTLY :-) - -// implementation of XInterface with 1 additional interface for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_0( IMPLCLASS ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_0 ) - -// implementation of XInterface with 1 additional interface for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_1( IMPLCLASS, TYPE1 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_1( TYPE1 ) ) - -// implementation of XInterface with 2 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_2( IMPLCLASS, TYPE1, TYPE2 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_2( TYPE1, TYPE2 ) ) - -// implementation of XInterface with 3 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_3( IMPLCLASS, TYPE1, TYPE2, TYPE3 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_3( TYPE1, TYPE2, TYPE3 ) ) - -// implementation of XInterface with 4 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_4( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_4( TYPE1, TYPE2, TYPE3, TYPE4 ) ) - -// implementation of XInterface with 5 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_5( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_5( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ) ) - -// implementation of XInterface with 6 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_6( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ) ) - -// implementation of XInterface with 7 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_7( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_7( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7 ) ) - -// implementation of XInterface with 8 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_8( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_8( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8 ) ) - -// implementation of XInterface with 9 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_9( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_9( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ) ) - -// implementation of XInterface with 10 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_10( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_10( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10 ) ) - -// implementation of XInterface with 11 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_11( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ) ) - -// implementation of XInterface with 11 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_12( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_12( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12 ) ) - -// implementation of XInterface with 11 additional interfaces for queryInterface() -#define SFX_IMPL_XTYPEPROVIDER_13( IMPLCLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12, TYPE13 ) \ - SFX_IMPL_XTYPEPROVIDER_BASE( IMPLCLASS, SFX_IMPL_TYPE_13( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12, TYPE13 ) ) - //************************************************************************************************************************ // implementation of XServiceInfo::getImplementationName() // XServiceInfo::supportsService() diff --git a/include/sfx2/unoctitm.hxx b/include/sfx2/unoctitm.hxx index d1d41b8ae689..591f7bba0054 100644 --- a/include/sfx2/unoctitm.hxx +++ b/include/sfx2/unoctitm.hxx @@ -33,10 +33,9 @@ #include #include #include -#include +#include #include -#include #include #include @@ -44,9 +43,7 @@ class SfxBindings; class SfxFrame; class SfxDispatcher; -class SfxUnoControllerItem : public ::com::sun::star::frame::XStatusListener , - public ::com::sun::star::lang::XTypeProvider , - public ::cppu::OWeakObject +class SfxUnoControllerItem : public ::cppu::WeakImplHelper1< css::frame::XStatusListener > { ::com::sun::star::util::URL aCommand; ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > xDispatch; @@ -56,8 +53,6 @@ class SfxUnoControllerItem : public ::com::sun::star::frame::XStatusListener ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > TryGetDispatch( SfxFrame* pFrame ); public: - SFX_DECL_XINTERFACE_XTYPEPROVIDER - SfxUnoControllerItem( SfxControllerItem*, SfxBindings&, const String& ); ~SfxUnoControllerItem(); @@ -84,15 +79,12 @@ struct SfxStatusDispatcher_Impl_hashType typedef ::cppu::OMultiTypeInterfaceContainerHelperVar< OUString, SfxStatusDispatcher_Impl_hashType, std::equal_to< OUString > > SfxStatusDispatcher_Impl_ListenerContainer ; -class SfxStatusDispatcher : public ::com::sun::star::frame::XNotifyingDispatch, - public ::com::sun::star::lang::XTypeProvider, - public ::cppu::OWeakObject +class SfxStatusDispatcher : public ::cppu::WeakImplHelper1< css::frame::XNotifyingDispatch > { ::osl::Mutex aMutex; SfxStatusDispatcher_Impl_ListenerContainer aListeners; public: - SFX_DECL_XINTERFACE_XTYPEPROVIDER SfxStatusDispatcher(); @@ -112,8 +104,7 @@ public: class SfxSlotServer; class SfxDispatchController_Impl; -class SfxOfficeDispatch : public SfxStatusDispatcher - , public ::com::sun::star::lang::XUnoTunnel +class SfxOfficeDispatch : public ::cppu::ImplInheritanceHelper1< SfxStatusDispatcher, css::lang::XUnoTunnel > { friend class SfxDispatchController_Impl; SfxDispatchController_Impl* pControllerItem; @@ -127,8 +118,6 @@ public: const ::com::sun::star::util::URL& rURL ); ~SfxOfficeDispatch(); - SFX_DECL_XINTERFACE_XTYPEPROVIDER - virtual void SAL_CALL dispatchWithNotification( const ::com::sun::star::util::URL& aURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchResultListener >& rListener ) -- cgit