[Libreoffice-commits] core.git: include/cppuhelper include/toolkit svtools/source toolkit/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Mar 1 10:49:22 UTC 2019


 include/cppuhelper/typeprovider.hxx               |    2 
 include/toolkit/awt/vclxwindows.hxx               |    3 
 include/toolkit/helper/macros.hxx                 |   12 -
 svtools/source/uno/unoiface.cxx                   |   81 +++++--
 toolkit/source/awt/vclxbitmap.cxx                 |   15 -
 toolkit/source/awt/vclxcontainer.cxx              |   17 +
 toolkit/source/awt/vclxdevice.cxx                 |   15 -
 toolkit/source/awt/vclxfont.cxx                   |   13 -
 toolkit/source/awt/vclxgraphics.cxx               |   13 -
 toolkit/source/awt/vclxregion.cxx                 |   13 -
 toolkit/source/awt/vclxsystemdependentwindow.cxx  |   15 -
 toolkit/source/awt/vclxwindows.cxx                |  252 +++++++++++++++-------
 toolkit/source/controls/dialogcontrol.cxx         |   16 -
 toolkit/source/controls/stdtabcontroller.cxx      |   15 -
 toolkit/source/controls/stdtabcontrollermodel.cxx |   17 +
 toolkit/source/controls/tkscrollbar.cxx           |   17 +
 toolkit/source/controls/unocontrols.cxx           |  158 +++++++++----
 17 files changed, 467 insertions(+), 207 deletions(-)

New commits:
commit d559c28e9e65f3be415ec2e36ee90aa147e65b84
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Thu Feb 28 16:36:52 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Mar 1 11:48:54 2019 +0100

    expand out IMPL_XTYPEPROVIDER_START macro
    
    and make cppu::OTypeCollection::getTypes be const
    
    Change-Id: I2dd1c0bacb2e1872f8b7a0da72f73013b04bef3c
    Reviewed-on: https://gerrit.libreoffice.org/68536
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/include/cppuhelper/typeprovider.hxx b/include/cppuhelper/typeprovider.hxx
index eed17d4925d1..2cc776c78fcd 100644
--- a/include/cppuhelper/typeprovider.hxx
+++ b/include/cppuhelper/typeprovider.hxx
@@ -158,7 +158,7 @@ public:
 
         @return type collection
     */
-    css::uno::Sequence< css::uno::Type > SAL_CALL getTypes()
+    css::uno::Sequence< css::uno::Type > const & SAL_CALL getTypes() const
         { return _aTypes; }
 };
 
diff --git a/include/toolkit/awt/vclxwindows.hxx b/include/toolkit/awt/vclxwindows.hxx
index 6c6288975fb8..025238ecedbe 100644
--- a/include/toolkit/awt/vclxwindows.hxx
+++ b/include/toolkit/awt/vclxwindows.hxx
@@ -338,7 +338,6 @@ public:
     void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
 
     // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
     css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
 
     // css::awt::XView
@@ -407,7 +406,6 @@ public:
     void                                        SAL_CALL release() throw() override  { OWeakObject::release(); }
 
     // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() override;
     css::uno::Sequence< sal_Int8 >                     SAL_CALL getImplementationId() override;
 
     // css::awt::XView
@@ -438,7 +436,6 @@ public:
     void SAL_CALL release() throw() override { OWeakObject::release(); }
 
     // css::lang::XTypeProvider
-    css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
     css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
 
     // css::lang::XComponent
diff --git a/include/toolkit/helper/macros.hxx b/include/toolkit/helper/macros.hxx
index fc20ee8c0009..d06988b18fde 100644
--- a/include/toolkit/helper/macros.hxx
+++ b/include/toolkit/helper/macros.hxx
@@ -56,18 +56,6 @@ css::uno::Sequence< sal_Int8 > ClassName::getImplementationId() \
     return css::uno::Sequence<sal_Int8>(); \
 }
 
-#define IMPL_XTYPEPROVIDER_START( ClassName )   \
-IMPL_IMPLEMENTATION_ID( ClassName ) \
-css::uno::Sequence< css::uno::Type > ClassName::getTypes() \
-{ \
-    static ::cppu::OTypeCollection collection( \
-            cppu::UnoType<css::lang::XTypeProvider>::get(),
-
-#define IMPL_XTYPEPROVIDER_END \
-            ); \
-    return collection.getTypes(); \
-}
-
 
 #define DECL_LISTENERMULTIPLEXER_START( ClassName, InterfaceName ) \
 class ClassName : public ListenerMultiplexerBase, public InterfaceName \
diff --git a/svtools/source/uno/unoiface.cxx b/svtools/source/uno/unoiface.cxx
index 26da30676da4..46a53d2c0fc1 100644
--- a/svtools/source/uno/unoiface.cxx
+++ b/svtools/source/uno/unoiface.cxx
@@ -194,13 +194,20 @@ css::uno::Any VCLXMultiLineEdit::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXMultiLineEdit )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXMultiLineEdit )
-    cppu::UnoType<css::awt::XTextComponent>::get(),
-    cppu::UnoType<css::awt::XTextArea>::get(),
-    cppu::UnoType<css::awt::XTextLayoutConstrains>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXMultiLineEdit::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XTextComponent>::get(),
+        cppu::UnoType<css::awt::XTextArea>::get(),
+        cppu::UnoType<css::awt::XTextLayoutConstrains>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXMultiLineEdit::addTextListener( const css::uno::Reference< css::awt::XTextListener > & l )
 {
@@ -556,12 +563,19 @@ css::uno::Any VCLXFileControl::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXFileControl )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXFileControl )
-    cppu::UnoType<css::awt::XTextComponent>::get(),
-    cppu::UnoType<css::awt::XTextLayoutConstrains>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXFileControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XTextComponent>::get(),
+        cppu::UnoType<css::awt::XTextLayoutConstrains>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void SAL_CALL VCLXFileControl::setProperty( const OUString& PropertyName, const css::uno::Any& Value)
 {
@@ -1653,11 +1667,18 @@ css::uno::Any SVTXNumericField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : SVTXFormattedField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( SVTXNumericField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( SVTXNumericField )
-    cppu::UnoType<css::awt::XNumericField>::get(),
-    SVTXFormattedField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > SVTXNumericField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XNumericField>::get(),
+        SVTXFormattedField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 
 void SVTXNumericField::setValue( double Value )
@@ -1820,11 +1841,18 @@ css::uno::Any SVTXCurrencyField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : SVTXFormattedField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( SVTXCurrencyField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( SVTXCurrencyField )
-    cppu::UnoType<css::awt::XCurrencyField>::get(),
-    SVTXFormattedField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > SVTXCurrencyField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XCurrencyField>::get(),
+        SVTXFormattedField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void SVTXCurrencyField::setValue( double Value )
 {
@@ -2108,11 +2136,18 @@ css::uno::Any VCLXProgressBar::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXProgressBar )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXProgressBar )
-    cppu::UnoType<css::awt::XProgressBar>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXProgressBar::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XProgressBar>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 // css::awt::XProgressBar
 void VCLXProgressBar::setForegroundColor( sal_Int32 nColor )
diff --git a/toolkit/source/awt/vclxbitmap.cxx b/toolkit/source/awt/vclxbitmap.cxx
index c8f531df3951..c5cd50b9ac1b 100644
--- a/toolkit/source/awt/vclxbitmap.cxx
+++ b/toolkit/source/awt/vclxbitmap.cxx
@@ -44,11 +44,18 @@ css::uno::Any VCLXBitmap::queryInterface( const css::uno::Type & rType )
 // css::lang::XUnoTunnel
 IMPL_XUNOTUNNEL( VCLXBitmap )
 
+IMPL_IMPLEMENTATION_ID( VCLXBitmap )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXBitmap )
-    cppu::UnoType<css::awt::XBitmap>::get(),
-    cppu::UnoType<css::awt::XDisplayBitmap>::get()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXBitmap::getTypes()
+{
+    static const css::uno::Sequence< css::uno::Type > aTypeList {
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XBitmap>::get(),
+        cppu::UnoType<css::awt::XDisplayBitmap>::get()
+    };
+    return aTypeList;
+}
 
 
 // css::awt::XBitmap
diff --git a/toolkit/source/awt/vclxcontainer.cxx b/toolkit/source/awt/vclxcontainer.cxx
index c9c8e4cbb3cb..a61b58b7c8b4 100644
--- a/toolkit/source/awt/vclxcontainer.cxx
+++ b/toolkit/source/awt/vclxcontainer.cxx
@@ -57,12 +57,19 @@ css::uno::Any VCLXContainer::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXContainer )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXContainer )
-    cppu::UnoType<css::awt::XVclContainer>::get(),
-    cppu::UnoType<css::awt::XVclContainerPeer>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXContainer::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XVclContainer>::get(),
+        cppu::UnoType<css::awt::XVclContainerPeer>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 
 // css::awt::XVclContainer
diff --git a/toolkit/source/awt/vclxdevice.cxx b/toolkit/source/awt/vclxdevice.cxx
index 6e3fc797a021..8eb75223c9bb 100644
--- a/toolkit/source/awt/vclxdevice.cxx
+++ b/toolkit/source/awt/vclxdevice.cxx
@@ -68,11 +68,18 @@ css::uno::Any VCLXDevice::queryInterface( const css::uno::Type & rType )
 // css::lang::XUnoTunnel
 IMPL_XUNOTUNNEL( VCLXDevice )
 
+IMPL_IMPLEMENTATION_ID( VCLXDevice )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXDevice )
-    cppu::UnoType<css::awt::XDevice>::get(),
-    cppu::UnoType<css::awt::XUnitConversion>::get()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXDevice::getTypes()
+{
+    static const css::uno::Sequence< css::uno::Type > aTypeList {
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XDevice>::get(),
+        cppu::UnoType<css::awt::XUnitConversion>::get()
+    };
+    return aTypeList;
+}
 
 
 // css::awt::XDevice,
diff --git a/toolkit/source/awt/vclxfont.cxx b/toolkit/source/awt/vclxfont.cxx
index 7c679eca7d80..5cddc38fd7e6 100644
--- a/toolkit/source/awt/vclxfont.cxx
+++ b/toolkit/source/awt/vclxfont.cxx
@@ -84,10 +84,17 @@ css::uno::Any VCLXFont::queryInterface( const css::uno::Type & rType )
 // css::lang::XUnoTunnel
 IMPL_XUNOTUNNEL( VCLXFont )
 
+IMPL_IMPLEMENTATION_ID( VCLXFont )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXFont )
-    cppu::UnoType<css::awt::XFont2>::get()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXFont::getTypes()
+{
+    static const css::uno::Sequence< css::uno::Type > aTypeList {
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XFont2>::get()
+    };
+    return aTypeList;
+}
 
 
 css::awt::FontDescriptor VCLXFont::getFontDescriptor(  )
diff --git a/toolkit/source/awt/vclxgraphics.cxx b/toolkit/source/awt/vclxgraphics.cxx
index 26b128e5d41e..d1a53aa3300b 100644
--- a/toolkit/source/awt/vclxgraphics.cxx
+++ b/toolkit/source/awt/vclxgraphics.cxx
@@ -54,10 +54,17 @@ uno::Any VCLXGraphics::queryInterface( const uno::Type & rType )
 // lang::XUnoTunnel
 IMPL_XUNOTUNNEL( VCLXGraphics )
 
+IMPL_IMPLEMENTATION_ID( VCLXGraphics )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXGraphics )
-    cppu::UnoType<awt::XGraphics>::get()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXGraphics::getTypes()
+{
+    static const css::uno::Sequence< css::uno::Type > aTypeList {
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XGraphics>::get()
+    };
+    return aTypeList;
+}
 
 VCLXGraphics::VCLXGraphics()
     : mpOutputDevice(nullptr)
diff --git a/toolkit/source/awt/vclxregion.cxx b/toolkit/source/awt/vclxregion.cxx
index a7ebd722debf..1acbcde82f6e 100644
--- a/toolkit/source/awt/vclxregion.cxx
+++ b/toolkit/source/awt/vclxregion.cxx
@@ -50,10 +50,17 @@ css::uno::Any VCLXRegion::queryInterface( const css::uno::Type & rType )
 // css::lang::XUnoTunnel
 IMPL_XUNOTUNNEL( VCLXRegion )
 
+IMPL_IMPLEMENTATION_ID( VCLXRegion )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXRegion )
-    cppu::UnoType<css::awt::XRegion>::get()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXRegion::getTypes()
+{
+    static const css::uno::Sequence< css::uno::Type > aTypeList {
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XRegion>::get()
+    };
+    return aTypeList;
+}
 
 
 css::awt::Rectangle VCLXRegion::getBounds()
diff --git a/toolkit/source/awt/vclxsystemdependentwindow.cxx b/toolkit/source/awt/vclxsystemdependentwindow.cxx
index ea3de1bb9618..c9514b2c2cf0 100644
--- a/toolkit/source/awt/vclxsystemdependentwindow.cxx
+++ b/toolkit/source/awt/vclxsystemdependentwindow.cxx
@@ -57,11 +57,18 @@ css::uno::Any VCLXSystemDependentWindow::queryInterface( const css::uno::Type &
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXSystemDependentWindow )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXSystemDependentWindow )
-    cppu::UnoType<css::awt::XSystemDependentWindowPeer>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXSystemDependentWindow::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XSystemDependentWindowPeer>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 css::uno::Any VCLXSystemDependentWindow::getWindowHandle( const css::uno::Sequence< sal_Int8 >& /*ProcessId*/, sal_Int16 SystemType )
 {
diff --git a/toolkit/source/awt/vclxwindows.cxx b/toolkit/source/awt/vclxwindows.cxx
index af82ca3be2c7..d68c09a9eef6 100644
--- a/toolkit/source/awt/vclxwindows.cxx
+++ b/toolkit/source/awt/vclxwindows.cxx
@@ -795,12 +795,19 @@ css::uno::Any VCLXCheckBox::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXGraphicControl::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXCheckBox )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXCheckBox )
-    cppu::UnoType<css::awt::XButton>::get(),
-    cppu::UnoType<css::awt::XCheckBox>::get(),
-    VCLXGraphicControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXCheckBox::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XButton>::get(),
+        cppu::UnoType<css::awt::XCheckBox>::get(),
+        VCLXGraphicControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 css::uno::Reference< css::accessibility::XAccessibleContext > VCLXCheckBox::CreateAccessibleContext()
 {
@@ -1096,12 +1103,19 @@ css::uno::Any VCLXRadioButton::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXGraphicControl::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXRadioButton )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXRadioButton )
-    cppu::UnoType<css::awt::XRadioButton>::get(),
-    cppu::UnoType<css::awt::XButton>::get(),
-    VCLXGraphicControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXRadioButton::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XRadioButton>::get(),
+        cppu::UnoType<css::awt::XButton>::get(),
+        VCLXGraphicControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 css::uno::Reference< css::accessibility::XAccessibleContext > VCLXRadioButton::CreateAccessibleContext()
 {
@@ -1356,11 +1370,18 @@ css::uno::Any VCLXSpinField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXEdit::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXSpinField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXSpinField )
-    cppu::UnoType<css::awt::XSpinField>::get(),
-    VCLXEdit::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXSpinField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XSpinField>::get(),
+        VCLXEdit::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXSpinField::addSpinListener( const css::uno::Reference< css::awt::XSpinListener > & l )
 {
@@ -2177,11 +2198,18 @@ css::uno::Any VCLXMessageBox::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXTopWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXMessageBox )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXMessageBox )
-    cppu::UnoType<css::awt::XMessageBox>::get(),
-    VCLXTopWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXMessageBox::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XMessageBox>::get(),
+        VCLXTopWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXMessageBox::setCaptionText( const OUString& rText )
 {
@@ -2261,12 +2289,19 @@ css::uno::Any VCLXDialog::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXTopWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXDialog )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXDialog )
-    cppu::UnoType<css::awt::XDialog2>::get(),
-    cppu::UnoType<css::awt::XDialog>::get(),
-    VCLXTopWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXDialog::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XDialog2>::get(),
+        cppu::UnoType<css::awt::XDialog>::get(),
+        VCLXTopWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void SAL_CALL VCLXDialog::endDialog( ::sal_Int32 i_result )
 {
@@ -2461,12 +2496,7 @@ css::uno::Any SAL_CALL VCLXMultiPage::queryInterface(const css::uno::Type & rTyp
 
     return ( aRet.hasValue() ? aRet : VCLXContainer::queryInterface( rType ) );
 }
-
-// css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXMultiPage )
-    VCLXContainer::getTypes()
-IMPL_XTYPEPROVIDER_END
-
+IMPL_IMPLEMENTATION_ID( VCLXMultiPage )
 // css::awt::XView
 void SAL_CALL VCLXMultiPage::draw( sal_Int32 nX, sal_Int32 nY )
 {
@@ -2713,10 +2743,7 @@ VCLXTabPage::~VCLXTabPage()
 {
 }
 
-// css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXTabPage )
-    VCLXContainer::getTypes()
-IMPL_XTYPEPROVIDER_END
+IMPL_IMPLEMENTATION_ID( VCLXTabPage )
 
 // css::awt::XView
 void SAL_CALL VCLXTabPage::draw( sal_Int32 nX, sal_Int32 nY )
@@ -2831,11 +2858,18 @@ void VCLXFixedHyperlink::dispose()
         VCLXWindow::dispose();
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXFixedHyperlink )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXFixedHyperlink )
-    cppu::UnoType<css::awt::XFixedHyperlink>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXFixedHyperlink::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XFixedHyperlink>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXFixedHyperlink::ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent )
 {
@@ -3132,11 +3166,18 @@ css::uno::Any VCLXFixedText::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXFixedText )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXFixedText )
-    cppu::UnoType<css::awt::XFixedText>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXFixedText::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XFixedText>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 css::uno::Reference< css::accessibility::XAccessibleContext > VCLXFixedText::CreateAccessibleContext()
 {
@@ -3274,11 +3315,18 @@ css::uno::Any VCLXScrollBar::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXScrollBar )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXScrollBar )
-    cppu::UnoType<css::awt::XScrollBar>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXScrollBar::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XScrollBar>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 css::uno::Reference< css::accessibility::XAccessibleContext > VCLXScrollBar::CreateAccessibleContext()
 {
@@ -3759,13 +3807,20 @@ css::uno::Any VCLXEdit::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXWindow::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXEdit )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXEdit )
-    cppu::UnoType<css::awt::XTextComponent>::get(),
-    cppu::UnoType<css::awt::XTextEditField>::get(),
-    cppu::UnoType<css::awt::XTextLayoutConstrains>::get(),
-    VCLXWindow::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXEdit::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XTextComponent>::get(),
+        cppu::UnoType<css::awt::XTextEditField>::get(),
+        cppu::UnoType<css::awt::XTextLayoutConstrains>::get(),
+        VCLXWindow::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 css::uno::Reference< css::accessibility::XAccessibleContext > VCLXEdit::CreateAccessibleContext()
 {
@@ -4751,11 +4806,18 @@ css::uno::Any VCLXDateField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXFormattedSpinField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXDateField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXDateField )
-    cppu::UnoType<css::awt::XDateField>::get(),
-    VCLXFormattedSpinField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXDateField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XDateField>::get(),
+        VCLXFormattedSpinField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXDateField::setProperty( const OUString& PropertyName, const css::uno::Any& Value)
 {
@@ -5098,11 +5160,18 @@ css::uno::Any VCLXTimeField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXFormattedSpinField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXTimeField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXTimeField )
-    cppu::UnoType<css::awt::XTimeField>::get(),
-    VCLXFormattedSpinField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXTimeField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XTimeField>::get(),
+        VCLXFormattedSpinField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXTimeField::setTime( const util::Time& aTime )
 {
@@ -5397,11 +5466,18 @@ css::uno::Any VCLXNumericField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXFormattedSpinField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXNumericField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXNumericField )
-    cppu::UnoType<css::awt::XNumericField>::get(),
-    VCLXFormattedSpinField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXNumericField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XNumericField>::get(),
+        VCLXFormattedSpinField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXNumericField::setValue( double Value )
 {
@@ -5753,11 +5829,18 @@ css::uno::Any VCLXMetricField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXFormattedSpinField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXMetricField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXMetricField )
-    cppu::UnoType<css::awt::XMetricField>::get(),
-    VCLXFormattedSpinField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXMetricField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XMetricField>::get(),
+        VCLXFormattedSpinField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 // FIXME: later ...
 #define MetricUnitUnoToVcl(a) (static_cast<FieldUnit>(a))
@@ -5991,11 +6074,18 @@ css::uno::Any VCLXCurrencyField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXFormattedSpinField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXCurrencyField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXCurrencyField )
-    cppu::UnoType<css::awt::XCurrencyField>::get(),
-    VCLXFormattedSpinField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXCurrencyField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XCurrencyField>::get(),
+        VCLXFormattedSpinField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXCurrencyField::setValue( double Value )
 {
@@ -6340,11 +6430,18 @@ css::uno::Any VCLXPatternField::queryInterface( const css::uno::Type & rType )
     return (aRet.hasValue() ? aRet : VCLXFormattedSpinField::queryInterface( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( VCLXPatternField )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXPatternField )
-    cppu::UnoType<css::awt::XPatternField>::get(),
-    VCLXFormattedSpinField::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > VCLXPatternField::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XPatternField>::get(),
+        VCLXFormattedSpinField::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void VCLXPatternField::setMasks( const OUString& EditMask, const OUString& LiteralMask )
 {
@@ -6517,10 +6614,7 @@ VCLXFrame::~VCLXFrame()
 {
 }
 
-// css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( VCLXFrame )
-    VCLXContainer::getTypes()
-IMPL_XTYPEPROVIDER_END
+IMPL_IMPLEMENTATION_ID( VCLXFrame )
 
 // css::awt::XView
 void SAL_CALL VCLXFrame::draw( sal_Int32 nX, sal_Int32 nY )
diff --git a/toolkit/source/controls/dialogcontrol.cxx b/toolkit/source/controls/dialogcontrol.cxx
index 67c2afb54ee6..e163b832c3d1 100644
--- a/toolkit/source/controls/dialogcontrol.cxx
+++ b/toolkit/source/controls/dialogcontrol.cxx
@@ -734,13 +734,19 @@ void SAL_CALL UnoMultiPageControl::removeTabListener( const Reference< XTabListe
     maTabListeners.removeInterface( Listener );
 }
 
+IMPL_IMPLEMENTATION_ID( UnoMultiPageControl )
 
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoMultiPageControl )
-    cppu::UnoType<awt::XSimpleTabController>::get(),
-    cppu::UnoType<awt::XTabListener>::get(),
-    ControlContainerBase::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoMultiPageControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XSimpleTabController>::get(),
+        cppu::UnoType<awt::XTabListener>::get(),
+        ControlContainerBase::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 // uno::XInterface
 uno::Any UnoMultiPageControl::queryAggregation( const uno::Type & rType )
diff --git a/toolkit/source/controls/stdtabcontroller.cxx b/toolkit/source/controls/stdtabcontroller.cxx
index eed32b9f889e..42d614702856 100644
--- a/toolkit/source/controls/stdtabcontroller.cxx
+++ b/toolkit/source/controls/stdtabcontroller.cxx
@@ -172,11 +172,18 @@ Any StdTabController::queryAggregation( const Type & rType )
     return (aRet.hasValue() ? aRet : OWeakAggObject::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( StdTabController )
+
 // XTypeProvider
-IMPL_XTYPEPROVIDER_START( StdTabController )
-    cppu::UnoType<XTabController>::get(),
-    cppu::UnoType<XServiceInfo>::get()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > StdTabController::getTypes()
+{
+    static const css::uno::Sequence< css::uno::Type > aTypeList {
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<XTabController>::get(),
+        cppu::UnoType<XServiceInfo>::get()
+    };
+    return aTypeList;
+}
 
 void StdTabController::setModel( const Reference< XTabControllerModel >& Model )
 {
diff --git a/toolkit/source/controls/stdtabcontrollermodel.cxx b/toolkit/source/controls/stdtabcontrollermodel.cxx
index 47bf8072e44a..81fde2af0fef 100644
--- a/toolkit/source/controls/stdtabcontrollermodel.cxx
+++ b/toolkit/source/controls/stdtabcontrollermodel.cxx
@@ -223,12 +223,19 @@ css::uno::Any StdTabControllerModel::queryAggregation( const css::uno::Type & rT
     return (aRet.hasValue() ? aRet : OWeakAggObject::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( StdTabControllerModel )
+
 // css::lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( StdTabControllerModel )
-    cppu::UnoType<css::awt::XTabControllerModel>::get(),
-    cppu::UnoType<css::lang::XServiceInfo>::get(),
-    cppu::UnoType<css::io::XPersistObject>::get()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > StdTabControllerModel::getTypes()
+{
+    static const css::uno::Sequence< css::uno::Type > aTypeList {
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<css::awt::XTabControllerModel>::get(),
+        cppu::UnoType<css::lang::XServiceInfo>::get(),
+        cppu::UnoType<css::io::XPersistObject>::get()
+    };
+    return aTypeList;
+}
 
 sal_Bool StdTabControllerModel::getGroupControl(  )
 {
diff --git a/toolkit/source/controls/tkscrollbar.cxx b/toolkit/source/controls/tkscrollbar.cxx
index d28872057a2f..f0efbaccecfe 100644
--- a/toolkit/source/controls/tkscrollbar.cxx
+++ b/toolkit/source/controls/tkscrollbar.cxx
@@ -116,12 +116,19 @@ namespace toolkit
         return (aRet.hasValue() ? aRet : UnoControlBase::queryAggregation( rType ));
     }
 
+    IMPL_IMPLEMENTATION_ID( UnoScrollBarControl )
+
     // css::lang::XTypeProvider
-    IMPL_XTYPEPROVIDER_START( UnoScrollBarControl )
-        cppu::UnoType<awt::XAdjustmentListener>::get(),
-        cppu::UnoType<awt::XScrollBar>::get(),
-        UnoControlBase::getTypes()
-    IMPL_XTYPEPROVIDER_END
+    css::uno::Sequence< css::uno::Type > UnoScrollBarControl::getTypes()
+    {
+        static const ::cppu::OTypeCollection aTypeList(
+            cppu::UnoType<css::lang::XTypeProvider>::get(),
+            cppu::UnoType<awt::XAdjustmentListener>::get(),
+            cppu::UnoType<awt::XScrollBar>::get(),
+            UnoControlBase::getTypes()
+        );
+        return aTypeList.getTypes();
+    }
 
     void UnoScrollBarControl::dispose()
     {
diff --git a/toolkit/source/controls/unocontrols.cxx b/toolkit/source/controls/unocontrols.cxx
index 7fe06b1119ef..2a9c42705b30 100644
--- a/toolkit/source/controls/unocontrols.cxx
+++ b/toolkit/source/controls/unocontrols.cxx
@@ -1607,12 +1607,19 @@ uno::Any UnoFixedHyperlinkControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoControlBase::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoFixedHyperlinkControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoFixedHyperlinkControl )
-    cppu::UnoType<awt::XFixedHyperlink>::get(),
-    cppu::UnoType<awt::XLayoutConstrains>::get(),
-    UnoControlBase::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoFixedHyperlinkControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XFixedHyperlink>::get(),
+        cppu::UnoType<awt::XLayoutConstrains>::get(),
+        UnoControlBase::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 sal_Bool UnoFixedHyperlinkControl::isTransparent()
 {
@@ -1803,12 +1810,19 @@ uno::Any UnoFixedTextControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoControlBase::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoFixedTextControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoFixedTextControl )
-    cppu::UnoType<awt::XFixedText>::get(),
-    cppu::UnoType<awt::XLayoutConstrains>::get(),
-    UnoControlBase::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoFixedTextControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XFixedText>::get(),
+        cppu::UnoType<awt::XLayoutConstrains>::get(),
+        UnoControlBase::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 sal_Bool UnoFixedTextControl::isTransparent()
 {
@@ -3114,13 +3128,20 @@ uno::Any UnoComboBoxControl::queryAggregation( const uno::Type & rType )
     }
     return (aRet.hasValue() ? aRet : UnoEditControl::queryAggregation( rType ));
 }
+
+IMPL_IMPLEMENTATION_ID( UnoComboBoxControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoComboBoxControl )
-    cppu::UnoType<awt::XComboBox>::get(),
-    cppu::UnoType<awt::XItemListener>::get(),
-    cppu::UnoType<awt::XItemListListener>::get(),
-    UnoEditControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoComboBoxControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<awt::XComboBox>::get(),
+        cppu::UnoType<awt::XItemListener>::get(),
+        cppu::UnoType<awt::XItemListListener>::get(),
+        UnoEditControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void UnoComboBoxControl::updateFromModel()
 {
@@ -3398,11 +3419,18 @@ uno::Any UnoSpinFieldControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoEditControl::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoSpinFieldControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoSpinFieldControl )
-    cppu::UnoType<awt::XSpinField>::get(),
-    UnoEditControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoSpinFieldControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XSpinField>::get(),
+        UnoEditControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void UnoSpinFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer >  & rParentPeer )
 {
@@ -3556,11 +3584,18 @@ uno::Any UnoDateFieldControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoDateFieldControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoDateFieldControl )
-    cppu::UnoType<awt::XDateField>::get(),
-    UnoSpinFieldControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoDateFieldControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XDateField>::get(),
+        UnoSpinFieldControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void UnoDateFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer >  & rParentPeer )
 {
@@ -3825,11 +3860,18 @@ uno::Any UnoTimeFieldControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoTimeFieldControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoTimeFieldControl )
-    cppu::UnoType<awt::XTimeField>::get(),
-    UnoSpinFieldControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoTimeFieldControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XTimeField>::get(),
+        UnoSpinFieldControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void UnoTimeFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer >  & rParentPeer )
 {
@@ -4054,11 +4096,18 @@ uno::Any UnoNumericFieldControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoNumericFieldControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoNumericFieldControl )
-    cppu::UnoType<awt::XNumericField>::get(),
-    UnoSpinFieldControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoNumericFieldControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XNumericField>::get(),
+        UnoSpinFieldControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void UnoNumericFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer >  & rParentPeer )
 {
@@ -4278,11 +4327,18 @@ uno::Any UnoCurrencyFieldControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoCurrencyFieldControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoCurrencyFieldControl )
-    cppu::UnoType<awt::XCurrencyField>::get(),
-    UnoSpinFieldControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoCurrencyFieldControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XCurrencyField>::get(),
+        UnoSpinFieldControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void UnoCurrencyFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer >  & rParentPeer )
 {
@@ -4520,11 +4576,18 @@ uno::Any UnoPatternFieldControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoPatternFieldControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoPatternFieldControl )
-    cppu::UnoType<awt::XPatternField>::get(),
-    UnoSpinFieldControl::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoPatternFieldControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XPatternField>::get(),
+        UnoSpinFieldControl::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 void UnoPatternFieldControl::setString( const OUString& rString )
 {
@@ -4673,11 +4736,18 @@ uno::Any UnoProgressBarControl::queryAggregation( const uno::Type & rType )
     return (aRet.hasValue() ? aRet : UnoControlBase::queryAggregation( rType ));
 }
 
+IMPL_IMPLEMENTATION_ID( UnoProgressBarControl )
+
 // lang::XTypeProvider
-IMPL_XTYPEPROVIDER_START( UnoProgressBarControl )
-    cppu::UnoType<awt::XProgressBar>::get(),
-    UnoControlBase::getTypes()
-IMPL_XTYPEPROVIDER_END
+css::uno::Sequence< css::uno::Type > UnoProgressBarControl::getTypes()
+{
+    static const ::cppu::OTypeCollection aTypeList(
+        cppu::UnoType<css::lang::XTypeProvider>::get(),
+        cppu::UnoType<awt::XProgressBar>::get(),
+        UnoControlBase::getTypes()
+    );
+    return aTypeList.getTypes();
+}
 
 // css::awt::XProgressBar
 void UnoProgressBarControl::setForegroundColor( sal_Int32 nColor )


More information about the Libreoffice-commits mailing list