summaryrefslogtreecommitdiff
path: root/framework/inc
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2016-03-14 10:49:08 +0200
committerNoel Grandin <noelgrandin@gmail.com>2016-03-14 11:06:48 +0000
commit218cd09611583437c05c33e2aa3b2b81cb416f98 (patch)
tree1b3b99677e6acff1f6224f9bd7441f161fcf2596 /framework/inc
parentf7965b0bcd559451c471a26bf5fd6f542887d95e (diff)
inline some use-once macros
Change-Id: I7ebd8fe70b083a772118a1aab8cdfbf795d6f1e5 Reviewed-on: https://gerrit.libreoffice.org/23235 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'framework/inc')
-rw-r--r--framework/inc/macros/xinterface.hxx64
-rw-r--r--framework/inc/macros/xtypeprovider.hxx107
2 files changed, 46 insertions, 125 deletions
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<TYPE1>::get(), \
+ cppu::UnoType<TYPE2>::get(), \
+ cppu::UnoType<TYPE3>::get(), \
+ cppu::UnoType<TYPE4>::get(), \
+ cppu::UnoType<TYPE5>::get(), \
+ cppu::UnoType<TYPE6>::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<TYPE7>::get(), \
+ cppu::UnoType<TYPE8>::get(), \
+ cppu::UnoType<TYPE9>::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<TYPE10>::get(), \
+ cppu::UnoType<TYPE11>::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<TYPE1>::get()
-
-#define PRIVATE_DEFINE_TYPE_2( TYPE1, TYPE2 ) \
- PRIVATE_DEFINE_TYPE_1( TYPE1 ), \
- cppu::UnoType<TYPE2>::get()
-
-#define PRIVATE_DEFINE_TYPE_3( TYPE1, TYPE2, TYPE3 ) \
- PRIVATE_DEFINE_TYPE_2( TYPE1, TYPE2 ), \
- cppu::UnoType<TYPE3>::get()
-
-#define PRIVATE_DEFINE_TYPE_4( TYPE1, TYPE2, TYPE3, TYPE4 ) \
- PRIVATE_DEFINE_TYPE_3( TYPE1, TYPE2, TYPE3 ), \
- cppu::UnoType<TYPE4>::get()
-
-#define PRIVATE_DEFINE_TYPE_5( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ) \
- PRIVATE_DEFINE_TYPE_4( TYPE1, TYPE2, TYPE3, TYPE4 ), \
- cppu::UnoType<TYPE5>::get()
-
-#define PRIVATE_DEFINE_TYPE_6( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6 ) \
- PRIVATE_DEFINE_TYPE_5( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5 ), \
- cppu::UnoType<TYPE6>::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<TYPE7>::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<TYPE8>::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<TYPE9>::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<TYPE10>::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<TYPE11>::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<TYPE12>::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<TYPE12>::get()), \
(PRIVATE_DEFINE_TYPE_9 ( TYPE13 , \
TYPE14 , \
TYPE15 , \