[Libreoffice-commits] core.git: 14 commits - framework/inc framework/source include/sfx2 offapi/com offapi/UnoApi_offapi.mk sfx2/source

Noel Grandin noel at peralex.com
Tue Jul 23 01:06:28 PDT 2013


 framework/inc/dispatch/closedispatcher.hxx                             |   17 
 framework/inc/dispatch/dispatchinformationprovider.hxx                 |    9 
 framework/inc/dispatch/dispatchprovider.hxx                            |   12 
 framework/inc/dispatch/interceptionhelper.hxx                          |   16 
 framework/inc/dispatch/mailtodispatcher.hxx                            |   18 
 framework/inc/dispatch/menudispatcher.hxx                              |   20 
 framework/inc/dispatch/oxt_handler.hxx                                 |   22 
 framework/inc/dispatch/popupmenudispatcher.hxx                         |   21 
 framework/inc/dispatch/servicehandler.hxx                              |   17 
 framework/inc/dispatch/startmoduledispatcher.hxx                       |   15 
 framework/inc/dispatch/systemexec.hxx                                  |   19 
 framework/inc/helper/persistentwindowstate.hxx                         |   18 
 framework/inc/helper/statusindicator.hxx                               |   13 
 framework/inc/helper/statusindicatorfactory.hxx                        |   17 
 framework/inc/helper/tagwindowasmodified.hxx                           |   17 
 framework/inc/helper/titlebarupdate.hxx                                |   33 
 framework/inc/helper/uiconfigelementwrapperbase.hxx                    |   33 
 framework/inc/helper/uielementwrapperbase.hxx                          |   31 
 framework/inc/helper/vclstatusindicator.hxx                            |    9 
 framework/inc/interaction/quietinteraction.hxx                         |   11 
 framework/inc/jobs/job.hxx                                             |   15 
 framework/inc/jobs/jobdispatch.hxx                                     |   17 
 framework/inc/jobs/jobexecutor.hxx                                     |   17 
 framework/inc/recording/dispatchrecorder.hxx                           |   23 
 framework/inc/recording/dispatchrecordersupplier.hxx                   |   20 
 framework/inc/services.h                                               |    2 
 framework/inc/services/autorecovery.hxx                                |   37 -
 framework/inc/services/desktop.hxx                                     |   38 -
 framework/inc/services/license.hxx                                     |   16 
 framework/inc/services/pathsettings.hxx                                |   29 
 framework/inc/services/sessionlistener.hxx                             |   19 
 framework/inc/services/taskcreatorsrv.hxx                              |   15 
 framework/inc/uiconfiguration/moduleuicfgsupplier.hxx                  |   19 
 framework/inc/uiconfiguration/moduleuiconfigurationmanager.hxx         |   24 
 framework/inc/uiconfiguration/uiconfigurationmanager.hxx               |   14 
 framework/inc/uiconfiguration/windowstateconfiguration.hxx             |    4 
 framework/inc/uielement/constitemcontainer.hxx                         |   19 
 framework/inc/uielement/rootitemcontainer.hxx                          |   30 
 framework/inc/uielement/statusbarmanager.hxx                           |   18 
 framework/inc/uielement/toolbarmanager.hxx                             |   34 
 framework/inc/xml/acceleratorconfigurationreader.hxx                   |   11 
 framework/source/accelerators/acceleratorconfiguration.cxx             |   42 -
 framework/source/accelerators/documentacceleratorconfiguration.cxx     |   13 
 framework/source/accelerators/globalacceleratorconfiguration.cxx       |   10 
 framework/source/accelerators/moduleacceleratorconfiguration.cxx       |   11 
 framework/source/dispatch/closedispatcher.cxx                          |   15 
 framework/source/dispatch/dispatchinformationprovider.cxx              |    4 
 framework/source/dispatch/dispatchprovider.cxx                         |   15 
 framework/source/dispatch/interceptionhelper.cxx                       |    7 
 framework/source/dispatch/mailtodispatcher.cxx                         |   16 
 framework/source/dispatch/menudispatcher.cxx                           |   20 
 framework/source/dispatch/oxt_handler.cxx                              |   17 
 framework/source/dispatch/popupmenudispatcher.cxx                      |   25 
 framework/source/dispatch/servicehandler.cxx                           |   16 
 framework/source/dispatch/startmoduledispatcher.cxx                    |   15 
 framework/source/dispatch/systemexec.cxx                               |   16 
 framework/source/fwi/threadhelp/transactionmanager.cxx                 |   10 
 framework/source/fwi/uielement/constitemcontainer.cxx                  |   24 
 framework/source/fwi/uielement/rootitemcontainer.cxx                   |   49 -
 framework/source/helper/persistentwindowstate.cxx                      |   16 
 framework/source/helper/statusindicator.cxx                            |   14 
 framework/source/helper/statusindicatorfactory.cxx                     |   15 
 framework/source/helper/tagwindowasmodified.cxx                        |   16 
 framework/source/helper/titlebarupdate.cxx                             |   18 
 framework/source/helper/uiconfigelementwrapperbase.cxx                 |   48 -
 framework/source/helper/uielementwrapperbase.cxx                       |   44 -
 framework/source/helper/vclstatusindicator.cxx                         |    6 
 framework/source/inc/accelerators/acceleratorconfiguration.hxx         |   43 -
 framework/source/inc/accelerators/documentacceleratorconfiguration.hxx |   14 
 framework/source/inc/accelerators/globalacceleratorconfiguration.hxx   |   10 
 framework/source/inc/accelerators/moduleacceleratorconfiguration.hxx   |   12 
 framework/source/interaction/quietinteraction.cxx                      |   10 
 framework/source/jobs/job.cxx                                          |   17 
 framework/source/jobs/jobdispatch.cxx                                  |   20 
 framework/source/jobs/jobexecutor.cxx                                  |   20 
 framework/source/recording/dispatchrecorder.cxx                        |   19 
 framework/source/recording/dispatchrecordersupplier.cxx                |   17 
 framework/source/services/autorecovery.cxx                             |   40 -
 framework/source/services/desktop.cxx                                  |   55 -
 framework/source/services/license.cxx                                  |   16 
 framework/source/services/pathsettings.cxx                             |   44 -
 framework/source/services/sessionlistener.cxx                          |   19 
 framework/source/services/taskcreatorsrv.cxx                           |   14 
 framework/source/uiconfiguration/globalsettings.cxx                    |   20 
 framework/source/uiconfiguration/moduleuicfgsupplier.cxx               |   35 -
 framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx      |  109 +--
 framework/source/uiconfiguration/uiconfigurationmanager.cxx            |   23 
 framework/source/uiconfiguration/windowstateconfiguration.cxx          |   51 -
 framework/source/uielement/statusbarmanager.cxx                        |   20 
 framework/source/uielement/toolbarmanager.cxx                          |   19 
 framework/source/xml/acceleratorconfigurationreader.cxx                |    7 
 include/sfx2/appuno.hxx                                                |   17 
 include/sfx2/sfxstatuslistener.hxx                                     |   11 
 include/sfx2/sfxuno.hxx                                                |  350 ----------
 include/sfx2/unoctitm.hxx                                              |   19 
 offapi/UnoApi_offapi.mk                                                |    3 
 offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl                |   34 
 offapi/com/sun/star/ui/XModuleUIConfigurationManager2.idl              |   62 +
 sfx2/source/appl/appuno.cxx                                            |    2 
 sfx2/source/appl/workwin.cxx                                           |    3 
 sfx2/source/control/querystatus.cxx                                    |   11 
 sfx2/source/control/sfxstatuslistener.cxx                              |    4 
 sfx2/source/control/statcach.cxx                                       |    3 
 sfx2/source/control/unoctitm.cxx                                       |   11 
 sfx2/source/inc/statcach.hxx                                           |   10 
 sfx2/source/inc/workwin.hxx                                            |   11 
 106 files changed, 649 insertions(+), 1847 deletions(-)

New commits:
commit 61eed5f1b9889ba3b6c0e484f0847cdf52ab3871
Author: Noel Grandin <noel at peralex.com>
Date:   Mon Jul 22 16:06:20 2013 +0200

    convert sfx2 UNO services to WeakImplHelper
    
    ...removing the SFX_ UNO-related macros as a result.
    
    Change-Id: I56542885847ff0adc604f309ed7e2582b7529f3f

diff --git a/include/sfx2/appuno.hxx b/include/sfx2/appuno.hxx
index ff2313f..1845867 100644
--- a/include/sfx2/appuno.hxx
+++ b/include/sfx2/appuno.hxx
@@ -39,21 +39,20 @@
 #include <com/sun/star/uno/Any.h>
 #include <com/sun/star/uno/Reference.h>
 #include <com/sun/star/uno/Sequence.hxx>
-#include <cppuhelper/weak.hxx>
 #include <cppuhelper/implbase3.hxx>
 #include <cppuhelper/implbase4.hxx>
+#include <cppuhelper/implbase5.hxx>
 
 #include <tools/errcode.hxx>
 #include <sfx2/sfxuno.hxx>
 
 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 9e6be02..9913b91 100644
--- a/include/sfx2/sfxstatuslistener.hxx
+++ b/include/sfx2/sfxstatuslistener.hxx
@@ -30,7 +30,7 @@
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
 
-#include <sfx2/sfxuno.hxx>
+#include <cppuhelper/implbase2.hxx>
 
 // 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 6b0a276..3dee2ba 100644
--- a/include/sfx2/sfxuno.hxx
+++ b/include/sfx2/sfxuno.hxx
@@ -81,27 +81,6 @@ bool GetEncryptionData_Impl( const SfxItemSet* pSet, css::uno::Sequence< css::be
 //                      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()
-//                      XInterface::release()
-//                      XTypeProvider::getTypes()
-//                      XTypeProvider::getImplementationId()
 //                      XServiceInfo::getImplementationName()
 //                      XServiceInfo::supportsService()
 //                      XServiceInfo::getSupportedServiceNames()
@@ -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 d1d41b8..591f7bb 100644
--- a/include/sfx2/unoctitm.hxx
+++ b/include/sfx2/unoctitm.hxx
@@ -33,10 +33,9 @@
 #include <com/sun/star/util/XURLTransformer.hpp>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 #include <com/sun/star/frame/XFrame.hpp>
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase1.hxx>
 #include <cppuhelper/interfacecontainer.hxx>
 
-#include <sfx2/sfxuno.hxx>
 #include <sfx2/ctrlitem.hxx>
 #include <osl/mutex.hxx>
 
@@ -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 )
diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx
index fe22b78..4d1fcc1 100644
--- a/sfx2/source/appl/appuno.cxx
+++ b/sfx2/source/appl/appuno.cxx
@@ -1714,8 +1714,6 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, uno::Sequence<b
     rArgs = aSequ;
 }
 
-SFX_IMPL_XINTERFACE_5( SfxMacroLoader, OWeakObject, frame::XDispatchProvider, frame::XNotifyingDispatch, frame::XDispatch, frame::XSynchronousDispatch,lang::XInitialization )
-SFX_IMPL_XTYPEPROVIDER_5( SfxMacroLoader, frame::XDispatchProvider, frame::XNotifyingDispatch, frame::XDispatch, frame::XSynchronousDispatch,lang::XInitialization  )
 SFX_IMPL_XSERVICEINFO( SfxMacroLoader, PROTOCOLHANDLER_SERVICENAME, "com.sun.star.comp.sfx2.SfxMacroLoader" )
 SFX_IMPL_SINGLEFACTORY( SfxMacroLoader )
 
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index ee5422b..a76d799 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -152,9 +152,6 @@ DBG_NAME(SfxWorkWindow)
 // Help to make changes to the alignment compatible!
 
 
-SFX_IMPL_XINTERFACE_3( LayoutManagerListener, OWeakObject, ::com::sun::star::frame::XLayoutManagerListener, ::com::sun::star::lang::XEventListener, ::com::sun::star::lang::XComponent )
-SFX_IMPL_XTYPEPROVIDER_3( LayoutManagerListener, ::com::sun::star::frame::XLayoutManagerListener, ::com::sun::star::lang::XEventListener, ::com::sun::star::lang::XComponent )
-
 LayoutManagerListener::LayoutManagerListener(
     SfxWorkWindow* pWrkWin ) :
     m_bHasFrame( sal_False ),
diff --git a/sfx2/source/control/querystatus.cxx b/sfx2/source/control/querystatus.cxx
index c978b42..47a456f 100644
--- a/sfx2/source/control/querystatus.cxx
+++ b/sfx2/source/control/querystatus.cxx
@@ -25,7 +25,7 @@
 #include <svl/itemset.hxx>
 #include <svtools/itemdel.hxx>
 #include <svl/visitem.hxx>
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase1.hxx>
 #include <comphelper/processfactory.hxx>
 #include <osl/mutex.hxx>
 #include <vcl/svapp.hxx>
@@ -42,12 +42,9 @@ using namespace ::com::sun::star::frame::status;
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::util;
 
-class SfxQueryStatus_Impl : public ::com::sun::star::frame::XStatusListener ,
-                            public ::com::sun::star::lang::XTypeProvider    ,
-                            public ::cppu::OWeakObject
+class SfxQueryStatus_Impl : public ::cppu::WeakImplHelper1< css::frame::XStatusListener >
 {
     public:
-        SFX_DECL_XINTERFACE_XTYPEPROVIDER
 
         SfxQueryStatus_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider >& rDispatchProvider, sal_uInt16 nSlotId, const OUString& aCommand );
         virtual ~SfxQueryStatus_Impl();
@@ -75,11 +72,7 @@ class SfxQueryStatus_Impl : public ::com::sun::star::frame::XStatusListener ,
         com::sun::star::uno::Reference< com::sun::star::frame::XDispatch >         m_xDispatch;
 };
 
-SFX_IMPL_XINTERFACE_2( SfxQueryStatus_Impl, OWeakObject, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-SFX_IMPL_XTYPEPROVIDER_2( SfxQueryStatus_Impl, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-
 SfxQueryStatus_Impl::SfxQueryStatus_Impl( const Reference< XDispatchProvider >& rDispatchProvider, sal_uInt16 nSlotId, const OUString& rCommand ) :
-    cppu::OWeakObject(),
     m_bQueryInProgress( sal_False ),
     m_eState( SFX_ITEM_DISABLED ),
     m_pItem( 0 ),
diff --git a/sfx2/source/control/sfxstatuslistener.cxx b/sfx2/source/control/sfxstatuslistener.cxx
index b44dd04..bfa9180 100644
--- a/sfx2/source/control/sfxstatuslistener.cxx
+++ b/sfx2/source/control/sfxstatuslistener.cxx
@@ -48,11 +48,7 @@ using namespace ::com::sun::star::frame::status;
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::util;
 
-SFX_IMPL_XINTERFACE_3( SfxStatusListener, OWeakObject, ::com::sun::star::lang::XComponent, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-SFX_IMPL_XTYPEPROVIDER_3( SfxStatusListener, ::com::sun::star::lang::XComponent, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-
 SfxStatusListener::SfxStatusListener( const Reference< XDispatchProvider >& rDispatchProvider, sal_uInt16 nSlotId, const OUString& rCommand ) :
-    cppu::OWeakObject(),
     m_nSlotID( nSlotId ),
     m_xDispatchProvider( rDispatchProvider )
 {
diff --git a/sfx2/source/control/statcach.cxx b/sfx2/source/control/statcach.cxx
index 5b42f5f..400af6c 100644
--- a/sfx2/source/control/statcach.cxx
+++ b/sfx2/source/control/statcach.cxx
@@ -59,9 +59,6 @@ using namespace ::com::sun::star::util;
 DBG_NAME(SfxStateCache)
 DBG_NAME(SfxStateCacheSetState)
 
-SFX_IMPL_XINTERFACE_2( BindDispatch_Impl, OWeakObject, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-SFX_IMPL_XTYPEPROVIDER_2( BindDispatch_Impl, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-
 //-----------------------------------------------------------------------------
 BindDispatch_Impl::BindDispatch_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > & rDisp, const ::com::sun::star::util::URL& rURL, SfxStateCache *pStateCache, const SfxSlot* pS )
     : xDisp( rDisp )
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index 8ee5335..d7a60bf 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -89,9 +89,6 @@ const char* URLTypeNames[URLType_COUNT] =
     "double"
 };
 
-SFX_IMPL_XINTERFACE_2( SfxUnoControllerItem, OWeakObject, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-SFX_IMPL_XTYPEPROVIDER_2( SfxUnoControllerItem, ::com::sun::star::frame::XStatusListener, ::com::sun::star::lang::XEventListener )
-
 SfxUnoControllerItem::SfxUnoControllerItem( SfxControllerItem *pItem, SfxBindings& rBind, const String& rCmd )
     : pCtrlItem( pItem )
     , pBindings( &rBind )
@@ -277,10 +274,6 @@ void SAL_CALL SfxStatusDispatcher::dispatchWithNotification(
 {
 }
 
-SFX_IMPL_XINTERFACE_2( SfxStatusDispatcher, OWeakObject, ::com::sun::star::frame::XNotifyingDispatch, ::com::sun::star::frame::XDispatch )
-SFX_IMPL_XTYPEPROVIDER_2( SfxStatusDispatcher, ::com::sun::star::frame::XNotifyingDispatch, ::com::sun::star::frame::XDispatch )
-//IMPLNAME "com.sun.star.comp.sfx2.StatusDispatcher",
-
 SfxStatusDispatcher::SfxStatusDispatcher()
     : aListeners( aMutex )
 {
@@ -305,10 +298,6 @@ void SAL_CALL SfxStatusDispatcher::removeStatusListener( const ::com::sun::star:
     aListeners.removeInterface( aURL.Complete, aListener );
 }
 
-SFX_IMPL_XINTERFACE_1( SfxOfficeDispatch, SfxStatusDispatcher, ::com::sun::star::lang::XUnoTunnel )
-SFX_IMPL_XTYPEPROVIDER_2( SfxOfficeDispatch, ::com::sun::star::frame::XNotifyingDispatch, ::com::sun::star::lang::XUnoTunnel )
-
-
 //-------------------------------------------------------------------------
 // XUnoTunnel
 sal_Int64 SAL_CALL SfxOfficeDispatch::getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException)
diff --git a/sfx2/source/inc/statcach.hxx b/sfx2/source/inc/statcach.hxx
index 866c817..d5ed59a 100644
--- a/sfx2/source/inc/statcach.hxx
+++ b/sfx2/source/inc/statcach.hxx
@@ -28,19 +28,15 @@
 #include <com/sun/star/frame/FeatureStateEvent.hpp>
 #include <com/sun/star/frame/DispatchDescriptor.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase1.hxx>
 
 #include <sfx2/bindings.hxx>
 
 #include "slotserv.hxx"
 
-#include <sfx2/sfxuno.hxx>
-
 class SfxControllerItem;
 class SfxDispatcher;
-class BindDispatch_Impl :   public ::com::sun::star::frame::XStatusListener ,
-                            public ::com::sun::star::lang::XTypeProvider    ,
-                            public ::cppu::OWeakObject
+class BindDispatch_Impl :   public ::cppu::WeakImplHelper1< css::frame::XStatusListener >
 {
 friend class SfxStateCache;
     ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >          xDisp;
@@ -55,8 +51,6 @@ public:
                                 const ::com::sun::star::util::URL& rURL,
                                 SfxStateCache* pStateCache, const SfxSlot* pSlot );
 
-    SFX_DECL_XINTERFACE_XTYPEPROVIDER
-
     virtual void SAL_CALL           statusChanged( const ::com::sun::star::frame::FeatureStateEvent& Event ) throw ( ::com::sun::star::uno::RuntimeException );
     virtual void SAL_CALL           disposing( const ::com::sun::star::lang::EventObject& Source ) throw ( ::com::sun::star::uno::RuntimeException );
 
diff --git a/sfx2/source/inc/workwin.hxx b/sfx2/source/inc/workwin.hxx
index e0ab8af..4a9a47a 100644
--- a/sfx2/source/inc/workwin.hxx
+++ b/sfx2/source/inc/workwin.hxx
@@ -26,7 +26,7 @@
 #include <com/sun/star/ui/XUIElement.hpp>
 #include <com/sun/star/task/XStatusIndicator.hpp>
 #include <com/sun/star/frame/XLayoutManagerListener.hpp>
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase2.hxx>
 #include <cppuhelper/propshlp.hxx>
 
 #include <rtl/ustring.hxx>
@@ -172,17 +172,14 @@ struct SfxObjectBarList_Impl
 
 //--------------------------------------------------------------------
 
-class LayoutManagerListener : public ::com::sun::star::frame::XLayoutManagerListener,
-                              public ::com::sun::star::lang::XTypeProvider,
-                              public ::com::sun::star::lang::XComponent,
-                              public ::cppu::OWeakObject
+class LayoutManagerListener : public ::cppu::WeakImplHelper2<
+                                         css::frame::XLayoutManagerListener,
+                                         css::lang::XComponent >
 {
     public:
         LayoutManagerListener( SfxWorkWindow* pWrkWin );
         virtual ~LayoutManagerListener();
 
-        SFX_DECL_XINTERFACE_XTYPEPROVIDER
-
         void setFrame( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
 
         //---------------------------------------------------------------------------------------------------------
commit 376d5a6ad979ef2b3e90c186ca8ede0ef2824200
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Jul 19 13:38:53 2013 +0200

    convert more services in framework module to WeakImplHelper
    
    Change-Id: I417ae2ce644f39fce0e8eb9fbe6a3a3c783b6227

diff --git a/framework/inc/dispatch/closedispatcher.hxx b/framework/inc/dispatch/closedispatcher.hxx
index 96ef71c..af21194 100644
--- a/framework/inc/dispatch/closedispatcher.hxx
+++ b/framework/inc/dispatch/closedispatcher.hxx
@@ -38,7 +38,7 @@
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/frame/DispatchResultState.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase2.hxx>
 #include <vcl/evntpost.hxx>
 
 
@@ -57,12 +57,11 @@ namespace framework{
                     or some other menu entries. Or we terminate the whole application in case this backing mode shouldnt
                     be used.
  */
-class CloseDispatcher : public css::lang::XTypeProvider
-                      , public css::frame::XNotifyingDispatch             // => XDispatch
-                      , public css::frame::XDispatchInformationProvider
-                        // baseclasses ... order is necessary for right initialization!
-                      , private ThreadHelpBase
-                      , public  ::cppu::OWeakObject
+class CloseDispatcher : // baseclasses ... order is necessary for right initialization!
+                        private ThreadHelpBase
+                      , public  ::cppu::WeakImplHelper2<
+                                    css::frame::XNotifyingDispatch,             // => XDispatch
+                                    css::frame::XDispatchInformationProvider >
 {
     //-------------------------------------------
     // types
@@ -156,10 +155,6 @@ class CloseDispatcher : public css::lang::XTypeProvider
     public:
 
         //---------------------------------------
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
-
-        //---------------------------------------
         // XNotifyingDispatch
         virtual void SAL_CALL dispatchWithNotification( const css::util::URL&                                             aURL      ,
                                                         const css::uno::Sequence< css::beans::PropertyValue >&            lArguments,
diff --git a/framework/inc/dispatch/dispatchinformationprovider.hxx b/framework/inc/dispatch/dispatchinformationprovider.hxx
index cac9572..fe7a2e5 100644
--- a/framework/inc/dispatch/dispatchinformationprovider.hxx
+++ b/framework/inc/dispatch/dispatchinformationprovider.hxx
@@ -32,7 +32,7 @@
 
 #include <cppuhelper/weakref.hxx>
 #include <rtl/ustring.hxx>
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase1.hxx>
 #include <vcl/svapp.hxx>
 
 namespace framework{
@@ -40,9 +40,8 @@ namespace framework{
 /*-************************************************************************************************************//**
     @short          a helper to merge dispatch information of different sources together.
 *//*-*************************************************************************************************************/
-class DispatchInformationProvider : public  css::frame::XDispatchInformationProvider
-                                  , private ThreadHelpBase
-                                  , public  ::cppu::OWeakObject
+class DispatchInformationProvider : private ThreadHelpBase
+                                  , public  ::cppu::WeakImplHelper1< css::frame::XDispatchInformationProvider >
 {
     //_______________________
     // member
@@ -60,8 +59,6 @@ class DispatchInformationProvider : public  css::frame::XDispatchInformationProv
 
         virtual ~DispatchInformationProvider();
 
-        FWK_DECLARE_XINTERFACE
-
         virtual css::uno::Sequence< sal_Int16 > SAL_CALL getSupportedCommandGroups()
             throw (css::uno::RuntimeException);
 
diff --git a/framework/inc/dispatch/dispatchprovider.hxx b/framework/inc/dispatch/dispatchprovider.hxx
index 777463b..3a904a9 100644
--- a/framework/inc/dispatch/dispatchprovider.hxx
+++ b/framework/inc/dispatch/dispatchprovider.hxx
@@ -38,7 +38,7 @@
 #include <com/sun/star/frame/DispatchDescriptor.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase1.hxx>
 #include <cppuhelper/weakref.hxx>
 
 namespace framework{
@@ -78,14 +78,12 @@ enum EDispatchHelper
     @devstatus      ready to use
     @threadsafe     yes
 */
-class DispatchProvider  :   // interfaces
-                            public  css::lang::XTypeProvider            ,
-                            public  css::frame::XDispatchProvider       ,
-                            // baseclasses
+class DispatchProvider  :   // baseclasses
                             // Order is necessary for right initialization!
                             private ThreadHelpBase                      ,
                             private TransactionBase                     ,
-                            public  ::cppu::OWeakObject
+                            // interfaces
+                            public  ::cppu::WeakImplHelper1< css::frame::XDispatchProvider >
 {
     /* member */
     private:
@@ -100,8 +98,6 @@ class DispatchProvider  :   // interfaces
 
     /* interface */
     public:
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
 
         DispatchProvider( const css::uno::Reference< css::uno::XComponentContext >&     xContext ,
                           const css::uno::Reference< css::frame::XFrame >&              xFrame   );
diff --git a/framework/inc/dispatch/interceptionhelper.hxx b/framework/inc/dispatch/interceptionhelper.hxx
index 7e47e94..38a83f9 100644
--- a/framework/inc/dispatch/interceptionhelper.hxx
+++ b/framework/inc/dispatch/interceptionhelper.hxx
@@ -36,7 +36,7 @@
 #include <com/sun/star/frame/DispatchDescriptor.hpp>
 
 #include <tools/wldcrd.hxx>
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase3.hxx>
 #include <cppuhelper/weakref.hxx>
 
 #include <deque>
@@ -51,12 +51,12 @@ namespace framework{
     @attention  Don't use this class as direct member - use it dynamicly. Do not derive from this class.
                 We hold a weakreference to ouer owner not to ouer superclass.
  */
-class InterceptionHelper : public  css::frame::XDispatchProvider
-                         , public  css::frame::XDispatchProviderInterception
-                         , public  css::lang::XEventListener
-                           // order of base classes is important for right initialization of mutex member!
-                         , private ThreadHelpBase
-                         , public  ::cppu::OWeakObject
+class InterceptionHelper : // order of base classes is important for right initialization of mutex member!
+                           private ThreadHelpBase,
+                           public  ::cppu::WeakImplHelper3<
+                                     css::frame::XDispatchProvider,
+                                     css::frame::XDispatchProviderInterception,
+                                     css::lang::XEventListener >
 {
     //_____________________________________________________
     // structs, helper
@@ -195,8 +195,6 @@ class InterceptionHelper : public  css::frame::XDispatchProvider
 
     public:
 
-        FWK_DECLARE_XINTERFACE
-
         //_________________________________________________
         // XDispatchProvider
 
diff --git a/framework/inc/dispatch/mailtodispatcher.hxx b/framework/inc/dispatch/mailtodispatcher.hxx
index f4662f0..0a0bf89 100644
--- a/framework/inc/dispatch/mailtodispatcher.hxx
+++ b/framework/inc/dispatch/mailtodispatcher.hxx
@@ -37,7 +37,8 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase3.hxx>
+
 
 namespace framework{
 
@@ -53,15 +54,14 @@ namespace framework{
 
     @devstatus      ready to use
 */
-class MailToDispatcher : // interfaces
-                         public  css::lang::XTypeProvider      ,
-                         public  css::lang::XServiceInfo       ,
-                         public  css::frame::XDispatchProvider ,
-                         public  css::frame::XNotifyingDispatch, // => XDispatch
-                         // baseclasses
+class MailToDispatcher : // baseclasses
                          // Order is necessary for right initialization!
                          private ThreadHelpBase                ,
-                         public  cppu::OWeakObject
+                         // interfaces
+                         public  ::cppu::WeakImplHelper3<
+                                     css::lang::XServiceInfo,
+                                     css::frame::XDispatchProvider,
+                                     css::frame::XNotifyingDispatch> // => XDispatch
 {
     /* member */
     private:
@@ -77,8 +77,6 @@ class MailToDispatcher : // interfaces
         virtual ~MailToDispatcher(                                                                     );
 
         // XInterface, XTypeProvider, XServiceInfo
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
         DECLARE_XSERVICEINFO
 
         // XDispatchProvider
diff --git a/framework/inc/dispatch/menudispatcher.hxx b/framework/inc/dispatch/menudispatcher.hxx
index cc274c7..b8fbc9b 100644
--- a/framework/inc/dispatch/menudispatcher.hxx
+++ b/framework/inc/dispatch/menudispatcher.hxx
@@ -43,7 +43,7 @@
 #include <com/sun/star/frame/FeatureStateEvent.hpp>
 #include <com/sun/star/frame/XFrameActionListener.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase2.hxx>
 #include <cppuhelper/weakref.hxx>
 #include <cppuhelper/interfacecontainer.h>
 
@@ -74,14 +74,13 @@ typedef ::cppu::OMultiTypeInterfaceContainerHelperVar<  OUString         ,
 
     @devstatus      ready to use
 *//*-*************************************************************************************************************/
-class MenuDispatcher   :   // interfaces
-                                public css::lang::XTypeProvider         ,
-                                public css::frame::XDispatch            ,
-                                public css::frame::XFrameActionListener ,
-                                // baseclasses
+class MenuDispatcher   :        // baseclasses
                                 // Order is necessary for right initialization!
                                 public ThreadHelpBase                       ,
-                                public cppu::OWeakObject
+                                // interfaces
+                                public  ::cppu::WeakImplHelper2<
+                                            css::frame::XDispatch           ,
+                                            css::frame::XFrameActionListener >
 {
     //-------------------------------------------------------------------------------------------------------------
     //  public methods
@@ -110,13 +109,6 @@ class MenuDispatcher   :   // interfaces
                             const   css::uno::Reference< css::frame::XFrame >&              xOwner      );
 
         //---------------------------------------------------------------------------------------------------------
-        //  XInterface
-        //---------------------------------------------------------------------------------------------------------
-
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
-
-        //---------------------------------------------------------------------------------------------------------
         //  XDispatch
         //---------------------------------------------------------------------------------------------------------
 
diff --git a/framework/inc/dispatch/oxt_handler.hxx b/framework/inc/dispatch/oxt_handler.hxx
index 87e95db..295f88a 100644
--- a/framework/inc/dispatch/oxt_handler.hxx
+++ b/framework/inc/dispatch/oxt_handler.hxx
@@ -39,7 +39,8 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/util/URL.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase3.hxx>
+
 
 namespace framework{
 
@@ -54,15 +55,14 @@ namespace framework{
     @devstatus      ready
     @threadsafe     yes
 *//*-*************************************************************************************************************/
-class Oxt_Handler  :   // interfaces
-                        public  css::lang::XTypeProvider
-                    ,   public  css::lang::XServiceInfo
-                    ,   public  css::frame::XNotifyingDispatch // => XDispatch
-                    ,   public  css::document::XExtendedFilterDetection
-                        // baseclasses
+class Oxt_Handler  :    // baseclasses
                         // Order is necessary for right initialization!
-                    ,   private ThreadHelpBase
-                    ,   public  ::cppu::OWeakObject
+                        private ThreadHelpBase
+                        // interfaces
+                    ,   public  ::cppu::WeakImplHelper3<
+                                    css::lang::XServiceInfo,
+                                    css::frame::XNotifyingDispatch, // => XDispatch
+                                    css::document::XExtendedFilterDetection >
 {
     //-------------------------------------------------------------------------------------------------------------
     //  public methods
@@ -78,9 +78,7 @@ class Oxt_Handler  :   // interfaces
         //---------------------------------------------------------------------------------------------------------
         //  XInterface, XTypeProvider, XServiceInfo
         //---------------------------------------------------------------------------------------------------------
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
-            DECLARE_XSERVICEINFO
+        DECLARE_XSERVICEINFO
 
         //---------------------------------------------------------------------------------------------------------
         //  XNotifyingDispatch
diff --git a/framework/inc/dispatch/popupmenudispatcher.hxx b/framework/inc/dispatch/popupmenudispatcher.hxx
index 1a5116b..8402313 100644
--- a/framework/inc/dispatch/popupmenudispatcher.hxx
+++ b/framework/inc/dispatch/popupmenudispatcher.hxx
@@ -45,7 +45,7 @@
 #include <com/sun/star/uri/XUriReferenceFactory.hpp>
 #include <com/sun/star/uri/XUriReference.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase5.hxx>
 #include <cppuhelper/weakref.hxx>
 #include <cppuhelper/interfacecontainer.h>
 
@@ -76,17 +76,16 @@ typedef ::cppu::OMultiTypeInterfaceContainerHelperVar<  OUString         ,
 
     @devstatus      ready to use
 *//*-*************************************************************************************************************/
-class PopupMenuDispatcher :   // interfaces
-                                public css::lang::XTypeProvider         ,
-                                public css::lang::XServiceInfo          ,
-                                public css::frame::XDispatchProvider    ,
-                                public css::frame::XDispatch            ,
-                                public css::frame::XFrameActionListener ,
-                                public css::lang::XInitialization       ,
-                                // baseclasses
+class PopupMenuDispatcher :     // baseclasses
                                 // Order is necessary for right initialization!
                                 public ThreadHelpBase                   ,
-                                public cppu::OWeakObject
+                                // interfaces
+                                public  ::cppu::WeakImplHelper5<
+                                           css::lang::XServiceInfo,
+                                           css::frame::XDispatchProvider,
+                                           css::frame::XDispatch,
+                                           css::frame::XFrameActionListener,
+                                           css::lang::XInitialization >
 {
     //-------------------------------------------------------------------------------------------------------------
     //  public methods
@@ -97,8 +96,6 @@ class PopupMenuDispatcher :   // interfaces
         PopupMenuDispatcher( const css::uno::Reference< css::uno::XComponentContext >& xContext );
 
         // XInterface, XTypeProvider, XServiceInfo
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
         DECLARE_XSERVICEINFO
 
         // XInitialization
diff --git a/framework/inc/dispatch/servicehandler.hxx b/framework/inc/dispatch/servicehandler.hxx
index 1210a2a..10e8d27 100644
--- a/framework/inc/dispatch/servicehandler.hxx
+++ b/framework/inc/dispatch/servicehandler.hxx
@@ -37,7 +37,7 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase3.hxx>
 
 namespace framework{
 
@@ -57,15 +57,14 @@ namespace framework{
 
     @devstatus      ready to use
 */
-class ServiceHandler : // interfaces
-                       public  css::lang::XTypeProvider      ,
-                       public  css::lang::XServiceInfo       ,
-                       public  css::frame::XDispatchProvider ,
-                       public  css::frame::XNotifyingDispatch, // => XDispatch
-                       // baseclasses
+class ServiceHandler : // baseclasses
                        // Order is necessary for right initialization!
                        private ThreadHelpBase                ,
-                       public  cppu::OWeakObject
+                       // interfaces
+                       public  ::cppu::WeakImplHelper3<
+                                   css::lang::XServiceInfo       ,
+                                   css::frame::XDispatchProvider ,
+                                   css::frame::XNotifyingDispatch > // => XDispatch
 {
     /* member */
     private:
@@ -81,8 +80,6 @@ class ServiceHandler : // interfaces
         virtual ~ServiceHandler(                                                                        );
 
         // XInterface, XTypeProvider, XServiceInfo
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
         DECLARE_XSERVICEINFO
 
         // XDispatchProvider
diff --git a/framework/inc/dispatch/startmoduledispatcher.hxx b/framework/inc/dispatch/startmoduledispatcher.hxx
index 5058f3a..b4f0cd1 100644
--- a/framework/inc/dispatch/startmoduledispatcher.hxx
+++ b/framework/inc/dispatch/startmoduledispatcher.hxx
@@ -39,7 +39,7 @@
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/frame/DispatchResultState.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase2.hxx>
 #include <vcl/evntpost.hxx>
 
 
@@ -49,12 +49,11 @@ namespace framework{
 /**
     @short          helper to handle all URLs related to the StartModule
  */
-class StartModuleDispatcher : public css::lang::XTypeProvider
-                            , public css::frame::XNotifyingDispatch             // => XDispatch
-                            , public css::frame::XDispatchInformationProvider
-                            // baseclasses ... order is necessary for right initialization!
-                            , private ThreadHelpBase
-                            , public  ::cppu::OWeakObject
+class StartModuleDispatcher : // baseclasses ... order is necessary for right initialization!
+                              private ThreadHelpBase,
+                              public  ::cppu::WeakImplHelper2<
+                                         css::frame::XNotifyingDispatch,             // => XDispatch
+                                         css::frame::XDispatchInformationProvider >
 {
     //-------------------------------------------
     // member
@@ -113,8 +112,6 @@ class StartModuleDispatcher : public css::lang::XTypeProvider
     public:
 
         //---------------------------------------
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
 
         //---------------------------------------
         // XNotifyingDispatch
diff --git a/framework/inc/dispatch/systemexec.hxx b/framework/inc/dispatch/systemexec.hxx
index c343b76..0f22266 100644
--- a/framework/inc/dispatch/systemexec.hxx
+++ b/framework/inc/dispatch/systemexec.hxx
@@ -37,7 +37,7 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
 
-#include <cppuhelper/weak.hxx>
+#include <cppuhelper/implbase3.hxx>
 
 namespace framework{
 
@@ -55,15 +55,14 @@ namespace framework{
 
     @devstatus      ready to use
 */
-class SystemExec : // interfaces
-                       public  css::lang::XTypeProvider      ,
-                       public  css::lang::XServiceInfo       ,
-                       public  css::frame::XDispatchProvider ,
-                       public  css::frame::XNotifyingDispatch, // => XDispatch
-                       // baseclasses
+class SystemExec :     // baseclasses
                        // Order is necessary for right initialization!
                        private ThreadHelpBase                ,
-                       public  cppu::OWeakObject
+                       // interfaces
+                       public  ::cppu::WeakImplHelper3<
+                                   css::lang::XServiceInfo       ,
+                                   css::frame::XDispatchProvider ,
+                                   css::frame::XNotifyingDispatch > // => XDispatch
 {
     /* member */
     private:
@@ -76,11 +75,9 @@ class SystemExec : // interfaces
 
         // ctor/dtor
                  SystemExec( const css::uno::Reference< css::uno::XComponentContext >& rxContext );
-        virtual ~SystemExec(                                                                        );
+        virtual ~SystemExec(                                                                     );
 
         // XInterface, XTypeProvider, XServiceInfo
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
         DECLARE_XSERVICEINFO
 
         // XDispatchProvider
diff --git a/framework/source/accelerators/acceleratorconfiguration.cxx b/framework/source/accelerators/acceleratorconfiguration.cxx
index 8f750d3..bbf5c79 100644
--- a/framework/source/accelerators/acceleratorconfiguration.cxx
+++ b/framework/source/accelerators/acceleratorconfiguration.cxx
@@ -84,25 +84,6 @@ namespace framework
     }
 
 //-----------------------------------------------
-//  XInterface, XTypeProvider
-DEFINE_XINTERFACE_6(XMLBasedAcceleratorConfiguration                       ,
-                    OWeakObject                                            ,
-                    DIRECT_INTERFACE(css::lang::XTypeProvider             ),
-                    DIRECT_INTERFACE(css::ui::XAcceleratorConfiguration  ),
-                    DIRECT_INTERFACE(css::form::XReset                    ),
-                    DIRECT_INTERFACE(css::ui::XUIConfigurationPersistence),
-                    DIRECT_INTERFACE(css::ui::XUIConfigurationStorage    ),
-                    DIRECT_INTERFACE(css::ui::XUIConfiguration           ))
-
-DEFINE_XTYPEPROVIDER_6(XMLBasedAcceleratorConfiguration     ,
-                       css::lang::XTypeProvider             ,
-                       css::ui::XAcceleratorConfiguration  ,
-                       css::form::XReset                    ,
-                       css::ui::XUIConfigurationPersistence,
-                       css::ui::XUIConfigurationStorage    ,
-                       css::ui::XUIConfiguration           )
-
-//-----------------------------------------------
 XMLBasedAcceleratorConfiguration::XMLBasedAcceleratorConfiguration(const css::uno::Reference< css::uno::XComponentContext >& xContext)
     : ThreadHelpBase  (&Application::GetSolarMutex())
     , m_xContext      (xContext                     )
@@ -632,29 +613,6 @@ OUString XMLBasedAcceleratorConfiguration::impl_ts_getLocale() const
 *******************************************************************************/
 
 //-----------------------------------------------
-//  XInterface, XTypeProvider
-DEFINE_XINTERFACE_8(XCUBasedAcceleratorConfiguration                       ,
-                    OWeakObject                                            ,
-                    DIRECT_INTERFACE(css::lang::XTypeProvider             ),
-                    DIRECT_INTERFACE(css::ui::XAcceleratorConfiguration  ),
-                    DIRECT_INTERFACE(css::util::XChangesListener          ),
-                    DIRECT_INTERFACE(css::form::XReset                    ),
-                    DIRECT_INTERFACE(css::lang::XComponent                ),
-                    DIRECT_INTERFACE(css::ui::XUIConfigurationPersistence),
-                    DIRECT_INTERFACE(css::ui::XUIConfigurationStorage    ),
-                    DIRECT_INTERFACE(css::ui::XUIConfiguration           ))
-
-                    DEFINE_XTYPEPROVIDER_8(XCUBasedAcceleratorConfiguration ,
-                    css::lang::XTypeProvider             ,
-                    css::ui::XAcceleratorConfiguration  ,
-                    css::util::XChangesListener          ,
-                    css::form::XReset                    ,
-                    css::lang::XComponent                ,
-                    css::ui::XUIConfigurationPersistence,
-                    css::ui::XUIConfigurationStorage    ,
-                    css::ui::XUIConfiguration           )
-
-//-----------------------------------------------
 XCUBasedAcceleratorConfiguration::XCUBasedAcceleratorConfiguration(const css::uno::Reference< css::uno::XComponentContext >& xContext)
                                 : ThreadHelpBase  (&Application::GetSolarMutex())
                                 , m_xContext      (xContext                     )
diff --git a/framework/source/accelerators/documentacceleratorconfiguration.cxx b/framework/source/accelerators/documentacceleratorconfiguration.cxx
index 2feca79..b5a91da 100644
--- a/framework/source/accelerators/documentacceleratorconfiguration.cxx
+++ b/framework/source/accelerators/documentacceleratorconfiguration.cxx
@@ -54,17 +54,6 @@ namespace framework
 
 //-----------------------------------------------
 // XInterface, XTypeProvider, XServiceInfo
-DEFINE_XINTERFACE_2(DocumentAcceleratorConfiguration                   ,
-                    XMLBasedAcceleratorConfiguration                           ,
-                    DIRECT_INTERFACE(css::lang::XServiceInfo)          ,
-                    DIRECT_INTERFACE(css::lang::XInitialization))
-//                    DIRECT_INTERFACE(css::ui::XUIConfigurationStorage))
-
-DEFINE_XTYPEPROVIDER_2_WITH_BASECLASS(DocumentAcceleratorConfiguration ,
-                                      XMLBasedAcceleratorConfiguration         ,
-                                      css::lang::XServiceInfo          ,
-                                      css::lang::XInitialization)
-//                                      css::ui::XUIConfigurationStorage)
 
 DEFINE_XSERVICEINFO_MULTISERVICE_2(DocumentAcceleratorConfiguration                   ,
                                    ::cppu::OWeakObject                                ,
@@ -83,7 +72,7 @@ DEFINE_INIT_SERVICE(DocumentAcceleratorConfiguration,
 
 //-----------------------------------------------
 DocumentAcceleratorConfiguration::DocumentAcceleratorConfiguration(const css::uno::Reference< css::uno::XComponentContext >& xContext)
-    : XMLBasedAcceleratorConfiguration(xContext)
+    : DocumentAcceleratorConfiguration_BASE(xContext)
 {
 }
 
diff --git a/framework/source/accelerators/globalacceleratorconfiguration.cxx b/framework/source/accelerators/globalacceleratorconfiguration.cxx
index 1bc6c03..baabc9f 100644
--- a/framework/source/accelerators/globalacceleratorconfiguration.cxx
+++ b/framework/source/accelerators/globalacceleratorconfiguration.cxx
@@ -43,14 +43,6 @@ namespace framework
 
 //-----------------------------------------------
 // XInterface, XTypeProvider, XServiceInfo
-DEFINE_XINTERFACE_2(GlobalAcceleratorConfiguration           ,
-                    XCUBasedAcceleratorConfiguration                 ,
-                    DIRECT_INTERFACE(css::lang::XServiceInfo),
-                    DIRECT_INTERFACE(css::lang::XInitialization))
-DEFINE_XTYPEPROVIDER_2_WITH_BASECLASS(GlobalAcceleratorConfiguration,
-                                      XCUBasedAcceleratorConfiguration      ,
-                                      css::lang::XServiceInfo       ,
-                                      css::lang::XInitialization)
 
 DEFINE_XSERVICEINFO_MULTISERVICE_2(GlobalAcceleratorConfiguration                   ,
                                    ::cppu::OWeakObject                              ,
@@ -70,7 +62,7 @@ DEFINE_INIT_SERVICE(GlobalAcceleratorConfiguration,
 
 //-----------------------------------------------
 GlobalAcceleratorConfiguration::GlobalAcceleratorConfiguration(const css::uno::Reference< css::uno::XComponentContext >& xContext)
-    : XCUBasedAcceleratorConfiguration(xContext)
+    : GlobalAcceleratorConfiguration_BASE(xContext)
 {
 }
 
diff --git a/framework/source/accelerators/moduleacceleratorconfiguration.cxx b/framework/source/accelerators/moduleacceleratorconfiguration.cxx
index 6af193d..f1ee119 100644
--- a/framework/source/accelerators/moduleacceleratorconfiguration.cxx
+++ b/framework/source/accelerators/moduleacceleratorconfiguration.cxx
@@ -49,15 +49,6 @@ namespace framework
 
 //-----------------------------------------------
 // XInterface, XTypeProvider, XServiceInfo
-DEFINE_XINTERFACE_2(ModuleAcceleratorConfiguration              ,
-                    XCUBasedAcceleratorConfiguration                    ,
-                    DIRECT_INTERFACE(css::lang::XServiceInfo)   ,
-                    DIRECT_INTERFACE(css::lang::XInitialization))
-
-DEFINE_XTYPEPROVIDER_2_WITH_BASECLASS(ModuleAcceleratorConfiguration,
-                                      XCUBasedAcceleratorConfiguration      ,
-                                      css::lang::XServiceInfo       ,
-                                      css::lang::XInitialization    )
 
 DEFINE_XSERVICEINFO_MULTISERVICE_2(ModuleAcceleratorConfiguration                   ,
                                    ::cppu::OWeakObject                              ,
@@ -76,7 +67,7 @@ DEFINE_INIT_SERVICE(ModuleAcceleratorConfiguration,
 
 //-----------------------------------------------
 ModuleAcceleratorConfiguration::ModuleAcceleratorConfiguration(const css::uno::Reference< css::uno::XComponentContext >& xContext)
-    : XCUBasedAcceleratorConfiguration(xContext)
+    : ModuleAcceleratorConfiguration_BASE(xContext)
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen at sun.com", "ModuleAcceleratorConfiguration::ModuleAcceleratorConfiguration" );
 }
diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx
index 6a87dfb..01d34bd 100644
--- a/framework/source/dispatch/closedispatcher.cxx
+++ b/framework/source/dispatch/closedispatcher.cxx
@@ -57,26 +57,11 @@ const char URL_CLOSEWIN[] = ".uno:CloseWin";
 const char URL_CLOSEFRAME[] = ".uno:CloseFrame";
 
 
-DEFINE_XINTERFACE_4(CloseDispatcher                                           ,
-                    OWeakObject                                               ,
-                    DIRECT_INTERFACE(css::lang::XTypeProvider                ),
-                    DIRECT_INTERFACE(css::frame::XNotifyingDispatch          ),
-                    DIRECT_INTERFACE(css::frame::XDispatch                   ),
-                    DIRECT_INTERFACE(css::frame::XDispatchInformationProvider))
-
-// Note: XStatusListener is an implementation detail. Hide it for scripting!
-DEFINE_XTYPEPROVIDER_4(CloseDispatcher                         ,
-                       css::lang::XTypeProvider                ,
-                       css::frame::XDispatchInformationProvider,
-                       css::frame::XNotifyingDispatch          ,
-                       css::frame::XDispatch                   )
-
 //-----------------------------------------------
 CloseDispatcher::CloseDispatcher(const css::uno::Reference< css::uno::XComponentContext >& rxContext ,
                                  const css::uno::Reference< css::frame::XFrame >&          xFrame ,
                                  const OUString&                                           sTarget)
     : ThreadHelpBase     (&Application::GetSolarMutex()                   )
-    , ::cppu::OWeakObject(                                                )
     , m_xContext         (rxContext                                       )
     , m_aAsyncCallback   (LINK( this, CloseDispatcher, impl_asyncCallback))
     , m_lStatusListener  (m_aLock.getShareableOslMutex()                  )
diff --git a/framework/source/dispatch/dispatchinformationprovider.cxx b/framework/source/dispatch/dispatchinformationprovider.cxx
index 936a913..fc16cba 100644
--- a/framework/source/dispatch/dispatchinformationprovider.cxx
+++ b/framework/source/dispatch/dispatchinformationprovider.cxx
@@ -32,10 +32,6 @@
 
 namespace framework{
 
-DEFINE_XINTERFACE_1(DispatchInformationProvider                               ,
-                    OWeakObject                                               ,
-                    DIRECT_INTERFACE(css::frame::XDispatchInformationProvider))
-
 //_________________________________________________________________________________________________________________
 DispatchInformationProvider::DispatchInformationProvider(const css::uno::Reference< css::uno::XComponentContext >& xContext ,
                                                          const css::uno::Reference< css::frame::XFrame >&          xFrame)
diff --git a/framework/source/dispatch/dispatchprovider.cxx b/framework/source/dispatch/dispatchprovider.cxx
index 683843a..b10ed33 100644
--- a/framework/source/dispatch/dispatchprovider.cxx
+++ b/framework/source/dispatch/dispatchprovider.cxx
@@ -49,20 +49,6 @@
 
 namespace framework{
 
-//*****************************************************************************************************************
-//  XInterface, XTypeProvider
-//*****************************************************************************************************************
-DEFINE_XINTERFACE_2( DispatchProvider                               ,
-                     OWeakObject                                    ,
-                     DIRECT_INTERFACE(css::lang::XTypeProvider     ),
-                     DIRECT_INTERFACE(css::frame::XDispatchProvider)
-                   )
-
-DEFINE_XTYPEPROVIDER_2( DispatchProvider             ,
-                        css::lang::XTypeProvider     ,
-                        css::frame::XDispatchProvider
-                      )
-
 /**
     @short      standard ctor/dtor
     @descr      These initialize a new instance of this class with needed information for work.
@@ -81,7 +67,6 @@ DispatchProvider::DispatchProvider( const css::uno::Reference< css::uno::XCompon
                                     const css::uno::Reference< css::frame::XFrame >&              xFrame    )
         //  Init baseclasses first
         : ThreadHelpBase( &Application::GetSolarMutex() )
-        , OWeakObject   (                               )
         // Init member
         , m_xContext    ( rxContext                     )
         , m_xFrame      ( xFrame                        )
diff --git a/framework/source/dispatch/interceptionhelper.cxx b/framework/source/dispatch/interceptionhelper.cxx
index eedfcab..a46a60e 100644
--- a/framework/source/dispatch/interceptionhelper.cxx
+++ b/framework/source/dispatch/interceptionhelper.cxx
@@ -31,17 +31,10 @@ sal_Bool InterceptionHelper::m_bPreferrFirstInterceptor = sal_True;
 
 
 
-DEFINE_XINTERFACE_3(InterceptionHelper                                         ,
-                    OWeakObject                                                ,
-                    DIRECT_INTERFACE(css::frame::XDispatchProvider            ),
-                    DIRECT_INTERFACE(css::frame::XDispatchProviderInterception),
-                    DIRECT_INTERFACE(css::lang::XEventListener                ))
-
 InterceptionHelper::InterceptionHelper(const css::uno::Reference< css::frame::XFrame >&            xOwner,
                                        const css::uno::Reference< css::frame::XDispatchProvider >& xSlave)
     //  Init baseclasses first
     : ThreadHelpBase(&Application::GetSolarMutex())
-    , OWeakObject   (                             )
     // Init member
     , m_xOwnerWeak  (xOwner                       )
     , m_xSlave      (xSlave                       )
diff --git a/framework/source/dispatch/mailtodispatcher.cxx b/framework/source/dispatch/mailtodispatcher.cxx
index 2aed843..e26385a 100644
--- a/framework/source/dispatch/mailtodispatcher.cxx
+++ b/framework/source/dispatch/mailtodispatcher.cxx
@@ -33,21 +33,6 @@ namespace framework{
 //_________________________________________________________________________________________________________________
 // XInterface, XTypeProvider, XServiceInfo
 
-DEFINE_XINTERFACE_5(MailToDispatcher                                ,
-                    OWeakObject                                     ,
-                    DIRECT_INTERFACE(css::lang::XTypeProvider      ),
-                    DIRECT_INTERFACE(css::lang::XServiceInfo       ),
-                    DIRECT_INTERFACE(css::frame::XDispatchProvider ),
-                    DIRECT_INTERFACE(css::frame::XNotifyingDispatch),
-                    DIRECT_INTERFACE(css::frame::XDispatch         ))
-
-DEFINE_XTYPEPROVIDER_5(MailToDispatcher              ,
-                       css::lang::XTypeProvider      ,
-                       css::lang::XServiceInfo       ,
-                       css::frame::XDispatchProvider ,
-                       css::frame::XNotifyingDispatch,
-                       css::frame::XDispatch         )
-
 DEFINE_XSERVICEINFO_MULTISERVICE_2(MailToDispatcher                   ,
                                  ::cppu::OWeakObject                ,
                                  SERVICENAME_PROTOCOLHANDLER        ,
@@ -75,7 +60,6 @@ DEFINE_INIT_SERVICE(MailToDispatcher,
 MailToDispatcher::MailToDispatcher( const css::uno::Reference< css::uno::XComponentContext >& rxContext )
         //  Init baseclasses first
         : ThreadHelpBase( &Application::GetSolarMutex() )
-        , OWeakObject   (                               )
         // Init member
         , m_xContext    ( rxContext                     )
 {
diff --git a/framework/source/dispatch/menudispatcher.cxx b/framework/source/dispatch/menudispatcher.cxx
index 1c00f2b..8976610 100644
--- a/framework/source/dispatch/menudispatcher.cxx
+++ b/framework/source/dispatch/menudispatcher.cxx
@@ -95,7 +95,6 @@ MenuDispatcher::MenuDispatcher(   const   uno::Reference< XComponentContext >&
                                   const   uno::Reference< XFrame >&             xOwner      )
         //  Init baseclasses first
         :   ThreadHelpBase          ( &Application::GetSolarMutex()  )
-        ,   OWeakObject             (                                )
         // Init member
         ,   m_xOwnerWeak            ( xOwner                         )
         ,   m_xContext              ( xContext                       )
@@ -123,25 +122,6 @@ MenuDispatcher::~MenuDispatcher()
 }
 
 //*****************************************************************************************************************
-//  XInterface, XTypeProvider
-//*****************************************************************************************************************
-DEFINE_XINTERFACE_4     (   MenuDispatcher                     ,
-                            OWeakObject                         ,
-                            DIRECT_INTERFACE(   XTypeProvider   ),
-                            DIRECT_INTERFACE(   XDispatch       ),
-                            DIRECT_INTERFACE(   XEventListener  ),
-                            DERIVED_INTERFACE(  XFrameActionListener, XEventListener )
-                        )
-
-DEFINE_XTYPEPROVIDER_4  (   MenuDispatcher     ,
-                            XTypeProvider       ,
-                            XDispatch           ,
-                            XEventListener      ,
-                            XFrameActionListener
-                        )
-
-
-//*****************************************************************************************************************
 //  XDispatch
 //*****************************************************************************************************************
 void SAL_CALL MenuDispatcher::dispatch(    const   URL&                        /*aURL*/            ,
diff --git a/framework/source/dispatch/oxt_handler.cxx b/framework/source/dispatch/oxt_handler.cxx
index ffc75e8..7efea86 100644
--- a/framework/source/dispatch/oxt_handler.cxx
+++ b/framework/source/dispatch/oxt_handler.cxx
@@ -37,22 +37,6 @@ namespace framework{
 //*****************************************************************************************************************
 //  XInterface, XTypeProvider, XServiceInfo
 //*****************************************************************************************************************
-DEFINE_XINTERFACE_5                 (   Oxt_Handler                                                ,
-                                        OWeakObject                                                ,
-                                        DIRECT_INTERFACE( css::lang::XTypeProvider                ),
-                                        DIRECT_INTERFACE( css::lang::XServiceInfo                 ),
-                                        DIRECT_INTERFACE( css::frame::XNotifyingDispatch          ),
-                                        DIRECT_INTERFACE( css::frame::XDispatch                   ),
-                                        DIRECT_INTERFACE( css::document::XExtendedFilterDetection )
-                                    )
-
-DEFINE_XTYPEPROVIDER_5              (   Oxt_Handler                                                ,
-                                        css::lang::XTypeProvider                                   ,
-                                        css::lang::XServiceInfo                                    ,
-                                        css::frame::XNotifyingDispatch                             ,
-                                        css::frame::XDispatch                                      ,
-                                        css::document::XExtendedFilterDetection
-                                    )
 
 DEFINE_XSERVICEINFO_MULTISERVICE    (   Oxt_Handler                                                ,
                                         ::cppu::OWeakObject                                        ,
@@ -80,7 +64,6 @@ DEFINE_INIT_SERVICE                 (   Oxt_Handler,
 Oxt_Handler::Oxt_Handler( const css::uno::Reference< css::lang::XMultiServiceFactory >& xFactory )
         //  Init baseclasses first
         :   ThreadHelpBase      (          )
-        ,   ::cppu::OWeakObject (          )
         // Init member
         ,   m_xFactory          ( xFactory )
 {
diff --git a/framework/source/dispatch/popupmenudispatcher.cxx b/framework/source/dispatch/popupmenudispatcher.cxx
index 5fffa70..da1ed78 100644
--- a/framework/source/dispatch/popupmenudispatcher.cxx
+++ b/framework/source/dispatch/popupmenudispatcher.cxx
@@ -61,7 +61,6 @@ PopupMenuDispatcher::PopupMenuDispatcher(
     const uno::Reference< XComponentContext >& xContext )
         //  Init baseclasses first
         :   ThreadHelpBase          ( &Application::GetSolarMutex()  )
-        ,   OWeakObject             (                                )
         // Init member
         ,   m_xContext              ( xContext                       )
         ,   m_aListenerContainer    ( m_aLock.getShareableOslMutex() )
@@ -80,30 +79,6 @@ PopupMenuDispatcher::~PopupMenuDispatcher()
     // and a dtor isn't the best place to do that!
 }
 
-//*****************************************************************************************************************
-//  XInterface, XTypeProvider
-//*****************************************************************************************************************

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list