From 218cd09611583437c05c33e2aa3b2b81cb416f98 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 14 Mar 2016 10:49:08 +0200 Subject: inline some use-once macros Change-Id: I7ebd8fe70b083a772118a1aab8cdfbf795d6f1e5 Reviewed-on: https://gerrit.libreoffice.org/23235 Tested-by: Jenkins Reviewed-by: Noel Grandin --- framework/inc/macros/xinterface.hxx | 64 +++++--------------- framework/inc/macros/xtypeprovider.hxx | 107 +++++++++------------------------ 2 files changed, 46 insertions(+), 125 deletions(-) (limited to 'framework/inc/macros') diff --git a/framework/inc/macros/xinterface.hxx b/framework/inc/macros/xinterface.hxx index 4adf324cbfcc..36396856a66f 100644 --- a/framework/inc/macros/xinterface.hxx +++ b/framework/inc/macros/xinterface.hxx @@ -63,9 +63,10 @@ ________________________________________________________________________________ } // private -// implementation of XInterface::queryInterface() with max. 12 other interfaces! +// complete implementation of XInterface with max. 12 other interfaces! -#define PRIVATE_DEFINE_XINTERFACE_QUERYINTERFACE( CLASS, BASECLASS, INTERFACES ) \ +#define PRIVATE_DEFINE_XINTERFACE( CLASS, BASECLASS, INTERFACES ) \ + PRIVATE_DEFINE_XINTERFACE_ACQUIRE_RELEASE( CLASS, BASECLASS ) \ css::uno::Any SAL_CALL CLASS::queryInterface( const css::uno::Type& aType ) throw( css::uno::RuntimeException, std::exception ) \ { \ /* Attention: Don't use mutex or guard in this method!!! Is a method of XInterface. */ \ @@ -82,10 +83,11 @@ ________________________________________________________________________________ return aReturn; \ } + // private // implementation of XInterface::queryInterface() with more than 12 other interfaces! - -#define PRIVATE_DEFINE_XINTERFACE_QUERYINTERFACE_LARGE( CLASS, BASECLASS, INTERFACES_FIRST, INTERFACES_SECOND ) \ +#define PRIVATE_DEFINE_XINTERFACE_LARGE( CLASS, BASECLASS, INTERFACES_FIRST, INTERFACES_SECOND ) \ + PRIVATE_DEFINE_XINTERFACE_ACQUIRE_RELEASE( CLASS, BASECLASS ) \ css::uno::Any SAL_CALL CLASS::queryInterface( const css::uno::Type& aType ) throw( css::uno::RuntimeException, std::exception ) \ { \ /* Attention: Don't use mutex or guard in this method!!! Is a method of XInterface. */ \ @@ -108,16 +110,6 @@ ________________________________________________________________________________ return aReturn; \ } -// private -// complete implementation of XInterface for different use cases - -#define PRIVATE_DEFINE_XINTERFACE( CLASS, BASECLASS, INTERFACES ) \ - PRIVATE_DEFINE_XINTERFACE_ACQUIRE_RELEASE( CLASS, BASECLASS ) \ - PRIVATE_DEFINE_XINTERFACE_QUERYINTERFACE( CLASS, BASECLASS, INTERFACES ) - -#define PRIVATE_DEFINE_XINTERFACE_LARGE( CLASS, BASECLASS, INTERFACES_FIRST, INTERFACES_SECOND ) \ - PRIVATE_DEFINE_XINTERFACE_ACQUIRE_RELEASE( CLASS, BASECLASS ) \ - PRIVATE_DEFINE_XINTERFACE_QUERYINTERFACE_LARGE( CLASS, BASECLASS, INTERFACES_FIRST, INTERFACES_SECOND ) // private // help macros to replace INTERFACES in queryInterface() [see before] @@ -133,44 +125,20 @@ ________________________________________________________________________________ INTERFACE1 //#endif // #ifdef ENABLE_SERVICEDEBUG -#define PRIVATE_DEFINE_INTERFACE_2( INTERFACE1, INTERFACE2 ) \ - PRIVATE_DEFINE_INTERFACE_1( INTERFACE1 ), \ - INTERFACE2 - -#define PRIVATE_DEFINE_INTERFACE_3( INTERFACE1, INTERFACE2, INTERFACE3 ) \ - PRIVATE_DEFINE_INTERFACE_2( INTERFACE1, INTERFACE2 ), \ - INTERFACE3 - -#define PRIVATE_DEFINE_INTERFACE_4( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4 ) \ - PRIVATE_DEFINE_INTERFACE_3( INTERFACE1, INTERFACE2, INTERFACE3 ), \ - INTERFACE4 - -#define PRIVATE_DEFINE_INTERFACE_5( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5 ) \ - PRIVATE_DEFINE_INTERFACE_4( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4 ), \ - INTERFACE5 - #define PRIVATE_DEFINE_INTERFACE_6( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6 ) \ - PRIVATE_DEFINE_INTERFACE_5( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5 ), \ + PRIVATE_DEFINE_INTERFACE_1( INTERFACE1 ), \ + INTERFACE2, \ + INTERFACE3, \ + INTERFACE4, \ + INTERFACE5, \ INTERFACE6 -#define PRIVATE_DEFINE_INTERFACE_7( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7 ) \ - PRIVATE_DEFINE_INTERFACE_6( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6 ), \ - INTERFACE7 - -#define PRIVATE_DEFINE_INTERFACE_8( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8 ) \ - PRIVATE_DEFINE_INTERFACE_7( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7 ), \ - INTERFACE8 - -#define PRIVATE_DEFINE_INTERFACE_9( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9 ) \ - PRIVATE_DEFINE_INTERFACE_8( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8 ), \ - INTERFACE9 - -#define PRIVATE_DEFINE_INTERFACE_10( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10 ) \ - PRIVATE_DEFINE_INTERFACE_9( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9 ), \ - INTERFACE10 - #define PRIVATE_DEFINE_INTERFACE_11( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10, INTERFACE11 ) \ - PRIVATE_DEFINE_INTERFACE_10( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, INTERFACE10 ), \ + PRIVATE_DEFINE_INTERFACE_6( INTERFACE1, INTERFACE2, INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6 ), \ + INTERFACE7, \ + INTERFACE8, \ + INTERFACE9, \ + INTERFACE10, \ INTERFACE11 // public diff --git a/framework/inc/macros/xtypeprovider.hxx b/framework/inc/macros/xtypeprovider.hxx index 21dc77b53f61..73a9e5dba7bf 100644 --- a/framework/inc/macros/xtypeprovider.hxx +++ b/framework/inc/macros/xtypeprovider.hxx @@ -59,9 +59,32 @@ ________________________________________________________________________________ } // private -// implementation of XTypeProvider::getTypes() with max. 12 interfaces! +// help macros to replace TYPES in getTypes() [see before] + +#define PRIVATE_DEFINE_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ) \ + cppu::UnoType::get(), \ + cppu::UnoType::get(), \ + cppu::UnoType::get(), \ + cppu::UnoType::get(), \ + cppu::UnoType::get(), \ + cppu::UnoType::get() -#define PRIVATE_DEFINE_XTYPEPROVIDER_GETTYPES( CLASS, TYPES ) \ +#define PRIVATE_DEFINE_TYPE_9( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ) \ + PRIVATE_DEFINE_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ), \ + cppu::UnoType::get(), \ + cppu::UnoType::get(), \ + cppu::UnoType::get() + +#define PRIVATE_DEFINE_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ) \ + PRIVATE_DEFINE_TYPE_9( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ), \ + cppu::UnoType::get(), \ + cppu::UnoType::get() + +// private +// complete implementation of XTypeProvider with max. 12 interfaces! + +#define PRIVATE_DEFINE_XTYPEPROVIDER( CLASS, TYPES ) \ + PRIVATE_DEFINE_XTYPEPROVIDER_GETIMPLEMENTATIONID( CLASS ) \ css::uno::Sequence< css::uno::Type > SAL_CALL CLASS::getTypes() throw( css::uno::RuntimeException, std::exception ) \ { \ /* Optimize this method ! */ \ @@ -87,10 +110,11 @@ ________________________________________________________________________________ return pTypeCollection->getTypes(); \ } + // private // implementation of XTypeProvider::getTypes() with more than 12 interfaces! - -#define PRIVATE_DEFINE_XTYPEPROVIDER_GETTYPES_LARGE( CLASS, TYPES_FIRST, TYPES_SECOND ) \ +#define PRIVATE_DEFINE_XTYPEPROVIDER_LARGE( CLASS, TYPES_FIRST, TYPES_SECOND ) \ + PRIVATE_DEFINE_XTYPEPROVIDER_GETIMPLEMENTATIONID( CLASS ) \ css::uno::Sequence< css::uno::Type > SAL_CALL CLASS::getTypes() throw( css::uno::RuntimeException, std::exception ) \ { \ /* Optimize this method ! */ \ @@ -138,66 +162,6 @@ ________________________________________________________________________________ return *pTypeCollection; \ } -// private -// help macros to replace TYPES in getTypes() [see before] - -#define PRIVATE_DEFINE_TYPE_1( TYPE1 ) \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_2( TYPE1, TYPE2 ) \ - PRIVATE_DEFINE_TYPE_1( TYPE1 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_3( TYPE1, TYPE2, TYPE3 ) \ - PRIVATE_DEFINE_TYPE_2( TYPE1, TYPE2 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_4( TYPE1, TYPE2, TYPE3, TYPE4 ) \ - PRIVATE_DEFINE_TYPE_3( TYPE1, TYPE2, TYPE3 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_5( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ) \ - PRIVATE_DEFINE_TYPE_4( TYPE1, TYPE2, TYPE3, TYPE4 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ) \ - PRIVATE_DEFINE_TYPE_5( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_7( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7 ) \ - PRIVATE_DEFINE_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_8( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8 ) \ - PRIVATE_DEFINE_TYPE_7( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_9( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ) \ - PRIVATE_DEFINE_TYPE_8( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_10( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10 ) \ - PRIVATE_DEFINE_TYPE_9( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ) \ - PRIVATE_DEFINE_TYPE_10( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10 ), \ - cppu::UnoType::get() - -#define PRIVATE_DEFINE_TYPE_12( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12 ) \ - PRIVATE_DEFINE_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ), \ - cppu::UnoType::get() - -// private -// complete implementation of XTypeProvider - -#define PRIVATE_DEFINE_XTYPEPROVIDER( CLASS, TYPES ) \ - PRIVATE_DEFINE_XTYPEPROVIDER_GETIMPLEMENTATIONID( CLASS ) \ - PRIVATE_DEFINE_XTYPEPROVIDER_GETTYPES( CLASS, TYPES ) - -#define PRIVATE_DEFINE_XTYPEPROVIDER_LARGE( CLASS, TYPES_FIRST, TYPES_SECOND ) \ - PRIVATE_DEFINE_XTYPEPROVIDER_GETIMPLEMENTATIONID( CLASS ) \ - PRIVATE_DEFINE_XTYPEPROVIDER_GETTYPES_LARGE( CLASS, TYPES_FIRST, TYPES_SECOND ) // public // declaration of XTypeProvider @@ -245,19 +209,8 @@ ________________________________________________________________________________ // implementation of XTypeProvider with 20 additional interfaces for getTypes() #define DEFINE_XTYPEPROVIDER_21( CLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11, TYPE12, TYPE13, TYPE14, TYPE15, TYPE16, TYPE17, TYPE18, TYPE19, TYPE20, TYPE21 ) \ PRIVATE_DEFINE_XTYPEPROVIDER_LARGE ( CLASS, \ - (PRIVATE_DEFINE_TYPE_12 ( TYPE1 , \ - TYPE2 , \ - TYPE3 , \ - TYPE4 , \ - TYPE5 , \ - TYPE6 , \ - TYPE7 , \ - TYPE8 , \ - TYPE9 , \ - TYPE10 , \ - TYPE11 , \ - TYPE12 \ - )), \ + (PRIVATE_DEFINE_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ), \ + cppu::UnoType::get()), \ (PRIVATE_DEFINE_TYPE_9 ( TYPE13 , \ TYPE14 , \ TYPE15 , \ -- cgit