framework/IwyuFilter_framework.yaml                        |   25 -
 framework/inc/dispatch/mailtodispatcher.hxx                |    4 
 framework/inc/dispatch/oxt_handler.hxx                     |    4 
 framework/inc/dispatch/popupmenudispatcher.hxx             |    4 
 framework/inc/dispatch/servicehandler.hxx                  |    4 
 framework/inc/dispatch/systemexec.hxx                      |    4 
 framework/inc/jobs/helponstartup.hxx                       |    4 
 framework/inc/jobs/shelljob.hxx                            |    4 
 framework/inc/macros/registration.hxx                      |   90 ------
 framework/inc/macros/xinterface.hxx                        |  145 ----------
 framework/inc/macros/xserviceinfo.hxx                      |  183 -------------
 framework/inc/macros/xtypeprovider.hxx                     |  119 --------
 framework/inc/recording/dispatchrecorder.hxx               |    3 
 framework/inc/recording/dispatchrecordersupplier.hxx       |    4 
 framework/inc/services.h                                   |    2 
 framework/inc/services/mediatypedetectionhelper.hxx        |    4 
 framework/inc/services/uriabbreviation.hxx                 |    2 
 framework/inc/uielement/fontmenucontroller.hxx             |    2 
 framework/inc/uielement/fontsizemenucontroller.hxx         |    2 
 framework/inc/uielement/headermenucontroller.hxx           |    2 
 framework/inc/uielement/langselectionmenucontroller.hxx    |    2 
 framework/inc/uielement/macrosmenucontroller.hxx           |    1 
 framework/inc/uielement/menubarwrapper.hxx                 |   10 
 framework/inc/uielement/newmenucontroller.hxx              |    2 
 framework/inc/uielement/toolbarmodemenucontroller.hxx      |    2 
 framework/inc/uielement/toolbarsmenucontroller.hxx         |    2 
 framework/source/dispatch/dispatchdisabler.cxx             |    1 
 framework/source/dispatch/mailtodispatcher.cxx             |    1 
 framework/source/dispatch/oxt_handler.cxx                  |    3 
 framework/source/dispatch/servicehandler.cxx               |    1 
 framework/source/dispatch/systemexec.cxx                   |    1 
 framework/source/inc/dispatch/dispatchdisabler.hxx         |    4 
 framework/source/jobs/helponstartup.cxx                    |    1 
 framework/source/jobs/shelljob.cxx                         |    1 
 framework/source/recording/dispatchrecorder.cxx            |    1 
 framework/source/recording/dispatchrecordersupplier.cxx    |    1 
 framework/source/services/dispatchhelper.cxx               |    2 
 framework/source/services/mediatypedetectionhelper.cxx     |    1 
 framework/source/services/uriabbreviation.cxx              |    3 
 framework/source/uielement/fontmenucontroller.cxx          |    1 
 framework/source/uielement/fontsizemenucontroller.cxx      |    1 
 framework/source/uielement/footermenucontroller.cxx        |    1 
 framework/source/uielement/headermenucontroller.cxx        |    1 
 framework/source/uielement/langselectionmenucontroller.cxx |    1 
 framework/source/uielement/macrosmenucontroller.cxx        |    2 
 framework/source/uielement/menubarwrapper.cxx              |   92 ++++--
 framework/source/uielement/newmenucontroller.cxx           |    1 
 framework/source/uielement/toolbarmodemenucontroller.cxx   |    2 
 framework/source/uielement/toolbarsmenucontroller.cxx      |    1 
 49 files changed, 115 insertions(+), 639 deletions(-)

New commits:
commit 6653107b838be22da2ceb6e9123dafe67b45dd91
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Wed Jul 8 20:31:00 2020 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Jul 9 08:27:53 2020 +0200

    clean up macro usage
    
    Change-Id: I06669718f692cc5e9e209b4e490365f4f016afdb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98389
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/framework/IwyuFilter_framework.yaml 
b/framework/IwyuFilter_framework.yaml
index 1b648d7cee43..35fe8d254351 100644
--- a/framework/IwyuFilter_framework.yaml
+++ b/framework/IwyuFilter_framework.yaml
@@ -4,31 +4,6 @@ blacklist:
     framework/inc/stdtypes.h:
     #  Don't propose hxx -> h change in URE libs
     - cppuhelper/interfacecontainer.hxx
-    framework/inc/macros/xinterface.hxx:
-    # Used in macros
-    - com/sun/star/uno/Any.hxx
-    - com/sun/star/uno/Type.hxx
-    - cppuhelper/queryinterface.hxx
-    framework/inc/macros/xserviceinfo.hxx:
-    # Used in macros
-    - com/sun/star/lang/XServiceInfo.hpp
-    - com/sun/star/lang/XSingleServiceFactory.hpp
-    - com/sun/star/uno/Reference.hxx
-    - com/sun/star/uno/Sequence.hxx
-    - com/sun/star/uno/XComponentContext.hpp
-    - comphelper/processfactory.hxx
-    - cppuhelper/factory.hxx
-    - cppuhelper/supportsservice.hxx
-    - rtl/ustring.hxx
-    framework/inc/macros/registration.hxx:
-    # Used in macros
-    - com/sun/star/lang/XMultiServiceFactory.hpp
-    framework/inc/macros/xtypeprovider.hxx:
-    # Used in macros
-    - com/sun/star/lang/XTypeProvider.hpp
-    - com/sun/star/uno/Sequence.hxx
-    - com/sun/star/uno/Type.hxx
-    - cppuhelper/typeprovider.hxx
     framework/inc/services/layoutmanager.hxx:
     #  Don't propose hxx -> h change in URE libs
     - cppuhelper/interfacecontainer.hxx
diff --git a/framework/inc/dispatch/mailtodispatcher.hxx 
b/framework/inc/dispatch/mailtodispatcher.hxx
index e76fadfb6b2b..459d7ee0cbd3 100644
--- a/framework/inc/dispatch/mailtodispatcher.hxx
+++ b/framework/inc/dispatch/mailtodispatcher.hxx
@@ -20,11 +20,11 @@
 #ifndef INCLUDED_FRAMEWORK_INC_DISPATCH_MAILTODISPATCHER_HXX
 #define INCLUDED_FRAMEWORK_INC_DISPATCH_MAILTODISPATCHER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/frame/XNotifyingDispatch.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
diff --git a/framework/inc/dispatch/oxt_handler.hxx 
b/framework/inc/dispatch/oxt_handler.hxx
index bc9c24070cde..4f5e084e3870 100644
--- a/framework/inc/dispatch/oxt_handler.hxx
+++ b/framework/inc/dispatch/oxt_handler.hxx
@@ -20,14 +20,14 @@
 #ifndef INCLUDED_FRAMEWORK_INC_DISPATCH_OXT_HANDLER_HXX
 #define INCLUDED_FRAMEWORK_INC_DISPATCH_OXT_HANDLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XNotifyingDispatch.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
 #include <com/sun/star/document/XExtendedFilterDetection.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/implbase.hxx>
 
diff --git a/framework/inc/dispatch/popupmenudispatcher.hxx 
b/framework/inc/dispatch/popupmenudispatcher.hxx
index 845e5c92592d..8d67ee008f18 100644
--- a/framework/inc/dispatch/popupmenudispatcher.hxx
+++ b/framework/inc/dispatch/popupmenudispatcher.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_DISPATCH_POPUPMENUDISPATCHER_HXX
 #define INCLUDED_FRAMEWORK_INC_DISPATCH_POPUPMENUDISPATCHER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/util/URL.hpp>
@@ -32,6 +30,8 @@
 #include <com/sun/star/lang/XInitialization.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/uri/XUriReferenceFactory.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/implbase.hxx>
 #include <cppuhelper/weakref.hxx>
diff --git a/framework/inc/dispatch/servicehandler.hxx 
b/framework/inc/dispatch/servicehandler.hxx
index 47fcd7e44ba8..0ca163823fec 100644
--- a/framework/inc/dispatch/servicehandler.hxx
+++ b/framework/inc/dispatch/servicehandler.hxx
@@ -20,14 +20,14 @@
 #ifndef INCLUDED_FRAMEWORK_INC_DISPATCH_SERVICEHANDLER_HXX
 #define INCLUDED_FRAMEWORK_INC_DISPATCH_SERVICEHANDLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/frame/XNotifyingDispatch.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/implbase.hxx>
 
diff --git a/framework/inc/dispatch/systemexec.hxx 
b/framework/inc/dispatch/systemexec.hxx
index 238b15192996..3035276c7cee 100644
--- a/framework/inc/dispatch/systemexec.hxx
+++ b/framework/inc/dispatch/systemexec.hxx
@@ -20,14 +20,14 @@
 #ifndef INCLUDED_FRAMEWORK_INC_DISPATCH_SYSTEMEXEC_HXX
 #define INCLUDED_FRAMEWORK_INC_DISPATCH_SYSTEMEXEC_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/frame/XNotifyingDispatch.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/frame/XStatusListener.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/implbase.hxx>
 
diff --git a/framework/inc/jobs/helponstartup.hxx 
b/framework/inc/jobs/helponstartup.hxx
index d17de03304a6..4c070627dbae 100644
--- a/framework/inc/jobs/helponstartup.hxx
+++ b/framework/inc/jobs/helponstartup.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_JOBS_HELPONSTARTUP_HXX
 #define INCLUDED_FRAMEWORK_INC_JOBS_HELPONSTARTUP_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <cppuhelper/implbase.hxx>
 
 #include <com/sun/star/task/XJob.hpp>
@@ -29,6 +27,8 @@
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/frame/XDesktop2.hpp>
 #include <com/sun/star/frame/XModuleManager2.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 namespace framework{
 
diff --git a/framework/inc/jobs/shelljob.hxx b/framework/inc/jobs/shelljob.hxx
index 0c345069853f..4434bd8fbafa 100644
--- a/framework/inc/jobs/shelljob.hxx
+++ b/framework/inc/jobs/shelljob.hxx
@@ -20,11 +20,11 @@
 #ifndef INCLUDED_FRAMEWORK_INC_JOBS_SHELLJOB_HXX
 #define INCLUDED_FRAMEWORK_INC_JOBS_SHELLJOB_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <cppuhelper/implbase.hxx>
 
 #include <com/sun/star/task/XJob.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 namespace framework{
 
diff --git a/framework/inc/macros/registration.hxx 
b/framework/inc/macros/registration.hxx
deleted file mode 100644
index 878bc89c44bb..000000000000
--- a/framework/inc/macros/registration.hxx
+++ /dev/null
@@ -1,90 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_MACROS_REGISTRATION_HXX
-#define INCLUDED_FRAMEWORK_INC_MACROS_REGISTRATION_HXX
-
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-
-//namespace framework{
-
-/*_________________________________________________________________________________________________________________
-
-    macros for registration of services
-    Please use follow public macros only!
-
-    IFFACTORY( CLASS )                          => use it as parameter for 
COMPONENT_GETFACTORY( IFFACTORIES )
-    COMPONENTGETFACTORY( LIB, IFFACTORIES )     => use it to define exported 
function LIB_component_getFactory()
-
-_________________________________________________________________________________________________________________*/
-
-//  public
-//  use it as parameter for COMPONENT_GETFACTORY( IFFACTORIES )
-
-#define IFFACTORY( CLASS )                                                     
                                                         \
-    /* If searched name found ... */                                           
                                                         \
-    /* You can't add some statements before follow line ... Here can be an 
ELSE-statement! */                                           \
-    if ( CLASS::impl_getStaticImplementationName().equalsAscii( 
pImplementationName ) )                  \
-    {                                                                          
                                                         \
-        /* ... then create right factory for this service.                     
             */                                          \
-        /* xFactory and xServiceManager are local variables of method which 
use this macro. */                                          \
-        xFactory = CLASS::impl_createFactory( xServiceManager );               
                                                         \
-    }
-
-//  public
-//  define method to instantiate new services
-
-#define COMPONENTGETFACTORY( LIB, IFFACTORIES )                                
                                                         \
-    extern "C" SAL_DLLPUBLIC_EXPORT void* LIB##_component_getFactory( const 
char* pImplementationName,                      \
-                                                            void*       
pServiceManager     ,                                           \
-                                                            void*     
/*pRegistryKey*/      )                                           \
-    {                                                                          
                                                         \
-        /* Set default return value for this operation - if it failed. */      
                                                         \
-        void* pReturn = nullptr;                                               
                                                           \
-        if  (                                                                  
                                                         \
-                ( pImplementationName   !=  nullptr ) &&                       
                                                            \
-                ( pServiceManager       !=  nullptr )                          
                                                            \
-            )                                                                  
                                                         \
-        {                                                                      
                                                         \
-            /* Define variables which are used in following macros. */         
                                                         \
-            css::uno::Reference< css::uno::XInterface >             xFactory;  
                                                         \
-            css::uno::Reference< css::lang::XMultiServiceFactory >  
xServiceManager = static_cast< css::lang::XMultiServiceFactory* >( 
pServiceManager );                                       \
-            /* These parameter will expand to      */                          
                                                         \
-            /* "IF_NAME_CREATECOMPONENTFACTORY(a)  */                          
                                                         \
-            /*  else                               */                          
                                                         \
-            /*  ...                                */                          
                                                         \
-            /*  else                               */                          
                                                         \
-            /*  IF_NAME_CREATECOMPONENTFACTORY(z)" */                          
                                                         \
-            IFFACTORIES                                                        
                                                         \
-            /* Factory is valid, if service was found. */                      
                                                         \
-            if ( xFactory.is() )                                               
                                                         \
-            {                                                                  
                                                         \
-                xFactory->acquire();                                           
                                                         \
-                pReturn = xFactory.get();                                      
                                                         \
-            }                                                                  
                                                         \
-        }                                                                      
                                                         \
-        /* Return with result of this operation. */                            
                                                         \
-        return pReturn;                                                        
                                                        \
-    }
-
-//}     //  namespace framework
-
-#endif // INCLUDED_FRAMEWORK_INC_MACROS_REGISTRATION_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/macros/xinterface.hxx 
b/framework/inc/macros/xinterface.hxx
deleted file mode 100644
index da070f23a077..000000000000
--- a/framework/inc/macros/xinterface.hxx
+++ /dev/null
@@ -1,145 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_MACROS_XINTERFACE_HXX
-#define INCLUDED_FRAMEWORK_INC_MACROS_XINTERFACE_HXX
-
-#include <com/sun/star/uno/Any.hxx>
-#include <com/sun/star/uno/Type.hxx>
-#include <cppuhelper/queryinterface.hxx>
-
-namespace framework{
-
-/*_________________________________________________________________________________________________________________
-
-    macros for declaration and definition of XInterface
-    Please use follow public macros only!
-
-    1)  DEFINE_XINTERFACE                                                      
         => use it in header to declare XInterface and his methods
-    2)  DIRECT_INTERFACE( INTERFACE )                                          
         => use it as parameter INTERFACEx at 4) if interface not ambiguous
-    3)  DERIVED_INTERFACE( BASEINTERFACE, DERIVEDINTERFACE )                   
         => use it as parameter INTERFACEx at 4) if interface can be ambiguous
-    4)  DECLARE_XINTERFACE_0( CLASS, BASECLASS )                               
         => use it to define implementation of XInterface for 0 additional 
interface to baseclass
-        DECLARE_XINTERFACE_1( CLASS, BASECLASS, INTERFACE1 )                   
         => use it to define implementation of XInterface for 1 additional 
interface to baseclass
-        ...
-        DECLARE_XINTERFACE_16( CLASS, BASECLASS, INTERFACE1, ... , INTERFACE16 
)
-
-_________________________________________________________________________________________________________________*/
-
-//  private
-//  implementation of   XInterface::acquire()
-//                      XInterface::release()
-
-#define PRIVATE_DEFINE_XINTERFACE_ACQUIRE_RELEASE( CLASS, BASECLASS )          
                                                                              \
-    void SAL_CALL CLASS::acquire() throw()                                     
                                     \
-    {                                                                          
                                                                             \
-        /* Don't use mutex in methods of XInterface! */                        
                                                                             \
-        BASECLASS::acquire();                                                  
                                                                             \
-    }                                                                          
                                                                             \
-                                                                               
                                                                             \
-    void SAL_CALL CLASS::release() throw()                                     
                                     \
-    {                                                                          
                                                                             \
-        /* Don't use mutex in methods of XInterface! */                        
                                                                             \
-        BASECLASS::release();                                                  
                                                                             \
-    }
-
-//  private
-//  complete implementation of XInterface with max. 12 other interfaces!
-
-#define PRIVATE_DEFINE_XINTERFACE( CLASS, BASECLASS, INTERFACES )              
                                                                             \
-    PRIVATE_DEFINE_XINTERFACE_ACQUIRE_RELEASE( CLASS, BASECLASS )              
                                                                             \
-    css::uno::Any SAL_CALL CLASS::queryInterface( const css::uno::Type& aType 
)  \
-    {                                                                          
                                                                             \
-        /* 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 INTERFACES             
                                                                \
-                                            );                                 
                                                                             \
-        /* If searched interface not supported by this class ... */            
                                                                             \
-        if ( !aReturn.hasValue() )                                             
                                                                             \
-        {                                                                      
                                                                             \
-            /* ... ask baseclass for interfaces! */                            
                                                                             \
-            aReturn = BASECLASS::queryInterface( aType );                      
                                                                             \
-        }                                                                      
                                                                             \
-        /* Return result of this search. */                                    
                                                                             \
-        return aReturn;                                                        
                                                                             \
-    }
-
-//  private
-//  help macros to replace INTERFACES in queryInterface() [see before]
-
-#define PRIVATE_DEFINE_INTERFACE_11( INTERFACE1, INTERFACE2, INTERFACE3, 
INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, INTERFACE9, 
INTERFACE10, INTERFACE11 )                             \
-    INTERFACE1, \
-    INTERFACE2, \
-    INTERFACE3, \
-    INTERFACE4, \
-    INTERFACE5, \
-    INTERFACE6, \
-    INTERFACE7, \
-    INTERFACE8, \
-    INTERFACE9, \
-    INTERFACE10, \
-    INTERFACE11
-
-//  public
-//  help macros for follow XInterface definitions
-
-//  Use it as parameter for DEFINE_XINTERFACE_X(), if you CAN use an interface 
directly in queryInterface()!
-#define DIRECT_INTERFACE( INTERFACE ) \
-    static_cast< INTERFACE* >( this )
-
-//  Use it as parameter for DEFINE_XINTERFACE_X(), if you CAN'T use an 
interface directly in queryInterface()!
-//  (zB at ambiguous errors!)
-#define DERIVED_INTERFACE( BASEINTERFACE, DERIVEDINTERFACE ) \
-    static_cast< BASEINTERFACE* >( static_cast< DERIVEDINTERFACE* >( this ) )
-
-//  public
-//  declaration of XInterface
-
-#define FWK_DECLARE_XINTERFACE                                                 
                                                                                
     \
-    virtual css::uno::Any  SAL_CALL queryInterface( const css::uno::Type& 
aType   ) override; \
-    virtual void                        SAL_CALL acquire       (               
                             ) throw() override;  \
-    virtual void                        SAL_CALL release       (               
                             ) throw() override;
-
-//  public
-//  implementation of XInterface
-
-
-//  implementation of XInterface with 11 additional interfaces for 
queryInterface()
-#define DEFINE_XINTERFACE_11( CLASS, BASECLASS, INTERFACE1, INTERFACE2, 
INTERFACE3, INTERFACE4, INTERFACE5, INTERFACE6, INTERFACE7, INTERFACE8, 
INTERFACE9, INTERFACE10, INTERFACE11 )  \
-    PRIVATE_DEFINE_XINTERFACE   (   CLASS,                                     
                                     \
-                                    BASECLASS,                                 
                                     \
-                                    ( aType, PRIVATE_DEFINE_INTERFACE_11    (  
 INTERFACE1  ,                       \
-                                                                               
 INTERFACE2  ,                       \
-                                                                               
 INTERFACE3  ,                       \
-                                                                               
 INTERFACE4  ,                       \
-                                                                               
 INTERFACE5  ,                       \
-                                                                               
 INTERFACE6  ,                       \
-                                                                               
 INTERFACE7  ,                       \
-                                                                               
 INTERFACE8  ,                       \
-                                                                               
 INTERFACE9  ,                       \
-                                                                               
 INTERFACE10 ,                       \
-                                                                               
 INTERFACE11                         \
-                                                                            )  
                                     \
-                                    )                                          
                                     \
-                                )
-
-}       //  namespace framework
-
-#endif // INCLUDED_FRAMEWORK_INC_MACROS_XINTERFACE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/macros/xserviceinfo.hxx 
b/framework/inc/macros/xserviceinfo.hxx
deleted file mode 100644
index 9849c5d0e1a3..000000000000
--- a/framework/inc/macros/xserviceinfo.hxx
+++ /dev/null
@@ -1,183 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_MACROS_XSERVICEINFO_HXX
-#define INCLUDED_FRAMEWORK_INC_MACROS_XSERVICEINFO_HXX
-
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <cppuhelper/factory.hxx>
-#include <comphelper/processfactory.hxx>
-#include <cppuhelper/supportsservice.hxx>
-#include <rtl/ustring.hxx>
-
-namespace framework{
-
-/*
-    macros for declaration and definition of XServiceInfo
-    Please use follow public macros only!
-
-    2)  DEFINE_XSERVICEINFO_MULTISERVICE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )          => use it to define XServiceInfo for multi 
service mode
-    3)  DEFINE_XSERVICEINFO_ONEINSTANCESERVICE( CLASS, XINTERFACECAST, 
SERVICENAME, IMPLEMENTATIONNAME )    => use it to define XServiceInfo for one 
instance service mode
-    4)  DEFINE_INIT_SERVICE( CLASS )                                           
                             => use it to implement your own impl_initService() 
method, which is necessary for initializing object by using his own reference!
-*/
-
-#define PRIVATE_DEFINE_XSERVICEINFO_BASE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )                                                  \
-                                                                               
                                                                     \
-    OUString SAL_CALL CLASS::getImplementationName()                           
                                 \
-    {                                                                          
                                                                     \
-        return impl_getStaticImplementationName();                             
                                                                     \
-    }                                                                          
                                                                     \
-                                                                               
                                                                     \
-    sal_Bool SAL_CALL CLASS::supportsService( const OUString& sServiceName )   
                                 \
-    {                                                                          
                                                                     \
-        return cppu::supportsService(this, sServiceName);                      
                                                                     \
-    }                                                                          
                                                                     \
-                                                                               
                                                                     \
-    css::uno::Sequence< OUString > SAL_CALL CLASS::getSupportedServiceNames()  
                                 \
-    {                                                                          
                                                                     \
-        return impl_getStaticSupportedServiceNames();                          
                                                                     \
-    }                                                                          
                                                                     \
-                                                                               
                                                                     \
-    css::uno::Sequence< OUString > 
CLASS::impl_getStaticSupportedServiceNames()                                    
                                 \
-    {                                                                          
                                                                     \
-        css::uno::Sequence< OUString > seqServiceNames { SERVICENAME };        
                                                                     \
-        return seqServiceNames;                                                
                                                                     \
-    }                                                                          
                                                                     \
-                                                                               
                                                                     \
-    OUString CLASS::impl_getStaticImplementationName()                         
                                                                     \
-    {                                                                          
                                                                     \
-        return IMPLEMENTATIONNAME;                                             
                                                                    \
-    }
-
-#define PRIVATE_DEFINE_XSERVICEINFO_OLDSTYLE( CLASS, XINTERFACECAST, 
SERVICENAME, IMPLEMENTATIONNAME )                                              \
-    PRIVATE_DEFINE_XSERVICEINFO_BASE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )                                                      \
-    /* Attention: To avoid against wrong ref counts during our own initialize 
procedure, we must                 */                                 \
-    /*            use right EXTERNAL handling of them. That's why you should 
do nothing in your ctor, which could*/                                 \
-    /*            work on your ref count! All other things are allowed. Do 
work with your own reference - please */                                 \
-    /*            use "impl_initService()" method.                             
                                  */                                 \
-    css::uno::Reference< css::uno::XInterface > SAL_CALL 
CLASS::impl_createInstance( const css::uno::Reference< 
css::lang::XMultiServiceFactory >& xServiceManager )  \
-    {                                                                          
                                                                                
                                    \
-        /* create new instance of service */                                   
                                                                                
                                    \
-        CLASS* pClass = new CLASS( xServiceManager );                          
                                                                                
                                    \
-        /* hold it alive by increasing his ref count!!! */                     
                                                                                
                                    \
-        css::uno::Reference< css::uno::XInterface > xService( static_cast< 
XINTERFACECAST* >(pClass), css::uno::UNO_QUERY );                               
                                        \
-        /* initialize new service instance ... he can use his own refcount ... 
we hold it! */                                                                  
                                    \
-        pClass->impl_initService();                                            
                                                                                
                                    \
-        /* return new created service as reference */                          
                                                                                
                                    \
-        return xService;                                                       
                                                                                
                                    \
-    }
-
-#define PRIVATE_DEFINE_XSERVICEINFO_NEWSTYLE( CLASS, XINTERFACECAST, 
SERVICENAME, IMPLEMENTATIONNAME )                                              \
-    PRIVATE_DEFINE_XSERVICEINFO_BASE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )                                                      \
-    /* Attention: To avoid against wrong ref counts during our own initialize 
procedure, we must                 */                                 \
-    /*            use right EXTERNAL handling of them. That's why you should 
do nothing in your ctor, which could*/                                 \
-    /*            work on your ref count! All other things are allowed. Do 
work with your own reference - please */                                 \
-    /*            use "impl_initService()" method.                             
                                  */                                 \
-    css::uno::Reference< css::uno::XInterface > SAL_CALL 
CLASS::impl_createInstance( const css::uno::Reference< 
css::lang::XMultiServiceFactory >& xServiceManager )\
-    {                                                                          
                                                                                
     \
-        /* retrieve component context from the given service manager */        
                                                                                
     \
-        css::uno::Reference< css::uno::XComponentContext > xComponentContext(  
                                                                                
     \
-            comphelper::getComponentContext( xServiceManager ) );              
                                                                                
     \
-        /* create new instance of service */                                   
                                                                                
     \
-        CLASS* pClass = new CLASS( xComponentContext );                        
                                                                                
     \
-        /* hold it alive by increasing his ref count!!! */                     
                                                                                
     \
-        css::uno::Reference< css::uno::XInterface > xService( static_cast< 
XINTERFACECAST* >(pClass), css::uno::UNO_QUERY );                               
         \
-        /* initialize new service instance ... he can use his own refcount ... 
we hold it! */                                                                  
     \
-        pClass->impl_initService();                                            
                                                                                
     \
-        /* return new created service as reference */                          
                                                                                
     \
-        return xService;                                                       
                                                                                
     \
-    }
-
-#define PRIVATE_DEFINE_SINGLEFACTORY( CLASS )                                  
                                                                                
         \
-    css::uno::Reference< css::lang::XSingleServiceFactory > 
CLASS::impl_createFactory( const css::uno::Reference< 
css::lang::XMultiServiceFactory >& xServiceManager )  \
-    {                                                                          
                                                                                
         \
-        css::uno::Reference< css::lang::XSingleServiceFactory > xReturn ( 
cppu::createSingleFactory (   xServiceManager                             ,     
              \
-                                                                               
                         CLASS::impl_getStaticImplementationName()   ,          
         \
-                                                                               
                         CLASS::impl_createInstance                  ,          
         \
-                                                                               
                         CLASS::impl_getStaticSupportedServiceNames()           
         \
-                                                                               
                     )                                                          
         \
-                                                                        );     
                                                                                
         \
-        return xReturn;                                                        
                                                                                
         \
-    }
-
-#define PRIVATE_DEFINE_ONEINSTANCEFACTORY( CLASS )                             
                                                                                
         \
-    css::uno::Reference< css::lang::XSingleServiceFactory > 
CLASS::impl_createFactory( const css::uno::Reference< 
css::lang::XMultiServiceFactory >& xServiceManager )  \
-    {                                                                          
                                                                                
         \
-        css::uno::Reference< css::lang::XSingleServiceFactory > xReturn ( 
cppu::createOneInstanceFactory    (   xServiceManager                           
  ,           \
-                                                                               
                                 CLASS::impl_getStaticImplementationName()   ,  
         \
-                                                                               
                                 CLASS::impl_createInstance                  ,  
         \
-                                                                               
                                 CLASS::impl_getStaticSupportedServiceNames()   
         \
-                                                                               
                             )                                                  
         \
-                                                                        );     
                                                                                
         \
-        return xReturn;                                                        
                                                                                
         \
-    }
-
-#define DECLARE_XSERVICEINFO_NOFACTORY                                         
                                                                                
                                                                         \
-    /* interface XServiceInfo */                                               
                                                                                
                                                                         \
-    virtual OUString                                        SAL_CALL 
getImplementationName              (                                   ) 
override;   \
-    virtual sal_Bool                                        SAL_CALL 
supportsService                    ( const OUString&   sServiceName    ) 
override;   \
-    virtual css::uno::Sequence< OUString >                  SAL_CALL 
getSupportedServiceNames           (                                   ) 
override;   \
-    /* Helper for XServiceInfo */                                              
                                                                                
                                                   \
-    static css::uno::Sequence< OUString >                   
impl_getStaticSupportedServiceNames(                                   );       
                                                             \
-    static OUString                                         
impl_getStaticImplementationName   (                                   );       
                                                             \
-    /* Helper for initialization of service by using own reference! */         
                                                                                
                                                   \
-    void                                                    impl_initService   
                (                                   );                          
                                          \
-
-#define DEFINE_XSERVICEINFO_MULTISERVICE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )              \
-    PRIVATE_DEFINE_XSERVICEINFO_OLDSTYLE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )              \
-    PRIVATE_DEFINE_SINGLEFACTORY( CLASS )
-
-#define DEFINE_XSERVICEINFO_ONEINSTANCESERVICE( CLASS, XINTERFACECAST, 
SERVICENAME, IMPLEMENTATIONNAME )        \
-    PRIVATE_DEFINE_XSERVICEINFO_OLDSTYLE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )              \
-    PRIVATE_DEFINE_ONEINSTANCEFACTORY( CLASS )
-
-#define DEFINE_XSERVICEINFO_MULTISERVICE_2( CLASS, XINTERFACECAST, 
SERVICENAME, IMPLEMENTATIONNAME )            \
-    PRIVATE_DEFINE_XSERVICEINFO_NEWSTYLE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )              \
-    PRIVATE_DEFINE_SINGLEFACTORY( CLASS )
-
-#define DEFINE_XSERVICEINFO_ONEINSTANCESERVICE_2( CLASS, XINTERFACECAST, 
SERVICENAME, IMPLEMENTATIONNAME )      \
-    PRIVATE_DEFINE_XSERVICEINFO_NEWSTYLE( CLASS, XINTERFACECAST, SERVICENAME, 
IMPLEMENTATIONNAME )              \
-    PRIVATE_DEFINE_ONEINSTANCEFACTORY( CLASS )
-
-//  public
-//  implementation of service initialize!
-//  example of using:   DEFINE_INIT_SERVICE( MyClassName,
-//                          {
-//                              ...
-//                              Reference< XInterface > xThis( this, UNO_QUERY 
);
-//                              myMember* pMember = new myMember( xThis );
-//                              ...
-//                          }
-//                      )
-#define DEFINE_INIT_SERVICE( CLASS, FUNCTIONBODY )                             
                                 \
-    void CLASS::impl_initService()                                             
                        \
-    {                                                                          
                                 \
-        FUNCTIONBODY                                                           
                                 \
-    }
-
-}       //  namespace framework
-
-#endif // INCLUDED_FRAMEWORK_INC_MACROS_XSERVICEINFO_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/macros/xtypeprovider.hxx 
b/framework/inc/macros/xtypeprovider.hxx
deleted file mode 100644
index 27f9a0546b93..000000000000
--- a/framework/inc/macros/xtypeprovider.hxx
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_MACROS_XTYPEPROVIDER_HXX
-#define INCLUDED_FRAMEWORK_INC_MACROS_XTYPEPROVIDER_HXX
-
-#include <com/sun/star/lang/XTypeProvider.hpp>
-
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/uno/Type.hxx>
-#include <cppuhelper/typeprovider.hxx>
-
-namespace framework{
-
-/*_________________________________________________________________________________________________________________
-
-    macros for declaration and definition of XTypeProvider
-    Please use follow public macros only!
-
-    1)  DEFINE_XTYPEPROVIDER                                                   
         => use it in header to declare XTypeProvider and his methods
-    2)  DECLARE_TYPEPROVIDER_0( CLASS )                                        
         => use it to define implementation of XTypeProvider for 0 supported 
type
-        DECLARE_TYPEPROVIDER_1( CLASS, TYPE1 )                                 
         => use it to define implementation of XTypeProvider for 1 supported 
type
-        ...
-        DECLARE_TYPEPROVIDER_16( CLASS, TYPE1, ... , TYPE16 )
-    3)  DEFINE_XTYPEPROVIDER_1_WITH_BASECLASS( CLASS, BASECLASS, TYPE1 )       
         => use it to define implementation of XTypeProvider for 1 additional 
supported type to baseclass
-        ...
-        DEFINE_XTYPEPROVIDER_5_WITH_BASECLASS( CLASS, BASECLASS, TYPE1, ..., 
TYPE5 )
-
-_________________________________________________________________________________________________________________*/
-
-//  private
-//  implementation of XTypeProvider::getImplementationId()
-
-#define PRIVATE_DEFINE_XTYPEPROVIDER_GETIMPLEMENTATIONID( CLASS )              
                                                                 \
-    css::uno::Sequence< sal_Int8 > SAL_CALL CLASS::getImplementationId()       
   \
-    {                                                                          
                                                                 \
-        return css::uno::Sequence<sal_Int8>();                                 
                                                                 \
-    }
-
-//  private
-//  help macros to replace TYPES in getTypes() [see before]
-
-#define PRIVATE_DEFINE_TYPE_11( TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, TYPE6, 
TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 )                                 \
-    cppu::UnoType<TYPE1>::get(), \
-    cppu::UnoType<TYPE2>::get(), \
-    cppu::UnoType<TYPE3>::get(), \
-    cppu::UnoType<TYPE4>::get(), \
-    cppu::UnoType<TYPE5>::get(), \
-    cppu::UnoType<TYPE6>::get(), \
-    cppu::UnoType<TYPE7>::get(), \
-    cppu::UnoType<TYPE8>::get(), \
-    cppu::UnoType<TYPE9>::get(), \
-    cppu::UnoType<TYPE10>::get(), \
-    cppu::UnoType<TYPE11>::get()
-
-//  private
-//  complete implementation of XTypeProvider with max. 12 interfaces!
-
-#define PRIVATE_DEFINE_XTYPEPROVIDER( CLASS, TYPES )                 \
-    PRIVATE_DEFINE_XTYPEPROVIDER_GETIMPLEMENTATIONID( CLASS )        \
-    css::uno::Sequence< css::uno::Type > SAL_CALL CLASS::getTypes()  \
-    {                                                                \
-        /* Attention: "TYPES" will expand to "(...)"!   */           \
-        static cppu::OTypeCollection ourTypeCollection TYPES;        \
-        return ourTypeCollection.getTypes();                         \
-    }
-
-//  public
-//  declaration of XTypeProvider
-
-#define FWK_DECLARE_XTYPEPROVIDER                                              
                                                                                
 \
-    virtual css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes           
() override;\
-    virtual css::uno::Sequence< sal_Int8 >                     SAL_CALL 
getImplementationId() override;
-
-//  public
-//  implementation of XTypeProvider
-
-//  implementation of XTypeProvider without additional interface for getTypes()
-//  XTypeProvider is used as the only one interface automatically.
-
-
-//  implementation of XTypeProvider with 11 additional interfaces for 
getTypes()
-#define DEFINE_XTYPEPROVIDER_11( CLASS, TYPE1, TYPE2, TYPE3, TYPE4, TYPE5, 
TYPE6, TYPE7, TYPE8, TYPE9, TYPE10, TYPE11 ) \
-    PRIVATE_DEFINE_XTYPEPROVIDER    (   CLASS,                                 
                                         \
-                                        (PRIVATE_DEFINE_TYPE_11 (   TYPE1   ,  
                                         \
-                                                                    TYPE2   ,  
                                         \
-                                                                    TYPE3   ,  
                                         \
-                                                                    TYPE4   ,  
                                         \
-                                                                    TYPE5   ,  
                                         \
-                                                                    TYPE6   ,  
                                         \
-                                                                    TYPE7   ,  
                                         \
-                                                                    TYPE8   ,  
                                         \
-                                                                    TYPE9   ,  
                                         \
-                                                                    TYPE10  ,  
                                         \
-                                                                    TYPE11     
                                         \
-                                                                ))             
                                         \
-                                    )
-
-}       //  namespace framework
-
-#endif // INCLUDED_FRAMEWORK_INC_MACROS_XTYPEPROVIDER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/recording/dispatchrecorder.hxx 
b/framework/inc/recording/dispatchrecorder.hxx
index 41475e57a198..54a9cb0e2185 100644
--- a/framework/inc/recording/dispatchrecorder.hxx
+++ b/framework/inc/recording/dispatchrecorder.hxx
@@ -25,7 +25,6 @@
 */
 #include <vector>
 
-#include <macros/xserviceinfo.hxx>
 #include <rtl/ustring.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <com/sun/star/frame/XDispatchRecorder.hpp>
@@ -35,6 +34,8 @@
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/script/XTypeConverter.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <cppuhelper/implbase.hxx>
 
 namespace framework{
diff --git a/framework/inc/recording/dispatchrecordersupplier.hxx 
b/framework/inc/recording/dispatchrecordersupplier.hxx
index 83517137df98..dbeecff88bbc 100644
--- a/framework/inc/recording/dispatchrecordersupplier.hxx
+++ b/framework/inc/recording/dispatchrecordersupplier.hxx
@@ -20,12 +20,12 @@
 #ifndef INCLUDED_FRAMEWORK_INC_RECORDING_DISPATCHRECORDERSUPPLIER_HXX
 #define INCLUDED_FRAMEWORK_INC_RECORDING_DISPATCHRECORDERSUPPLIER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/frame/XDispatchRecorderSupplier.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/implbase.hxx>
 
diff --git a/framework/inc/services.h b/framework/inc/services.h
index 10460a93aeca..8e1044811157 100644
--- a/framework/inc/services.h
+++ b/framework/inc/services.h
@@ -27,11 +27,9 @@ namespace framework{
 #define SERVICENAME_FILTERFACTORY                               
"com.sun.star.document.FilterFactory"
 #define SERVICENAME_CFGUPDATEACCESS                             
"com.sun.star.configuration.ConfigurationUpdateAccess"   // provides read/write 
access to the configuration
 #define SERVICENAME_CFGREADACCESS                               
"com.sun.star.configuration.ConfigurationAccess"         // provides readonly 
access to the configuration
-#define SERVICENAME_CONTENTHANDLER                              
"com.sun.star.frame.ContentHandler"
 #define SERVICENAME_JOB                                         
"com.sun.star.task.Job"
 #define SERVICENAME_PROTOCOLHANDLER                             
"com.sun.star.frame.ProtocolHandler"
 #define SERVICENAME_POPUPMENUCONTROLLER                         
"com.sun.star.frame.PopupMenuController"
-#define SERVICENAME_STRINGABBREVIATION                          
"com.sun.star.util.UriAbbreviation"
 
 //  used implementationnames by framework
 
diff --git a/framework/inc/services/mediatypedetectionhelper.hxx 
b/framework/inc/services/mediatypedetectionhelper.hxx
index 0f1e9d5753a5..4cdab138379d 100644
--- a/framework/inc/services/mediatypedetectionhelper.hxx
+++ b/framework/inc/services/mediatypedetectionhelper.hxx
@@ -20,9 +20,9 @@
 #ifndef INCLUDED_FRAMEWORK_INC_SERVICES_MEDIATYPEDETECTIONHELPER_HXX
 #define INCLUDED_FRAMEWORK_INC_SERVICES_MEDIATYPEDETECTIONHELPER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/util/XStringMapping.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/implbase.hxx>
 
diff --git a/framework/inc/services/uriabbreviation.hxx 
b/framework/inc/services/uriabbreviation.hxx
index caa7c2f56815..200296da2df9 100644
--- a/framework/inc/services/uriabbreviation.hxx
+++ b/framework/inc/services/uriabbreviation.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_SERVICES_URIABBREVIATION_HXX
 #define INCLUDED_FRAMEWORK_INC_SERVICES_URIABBREVIATION_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/util/XStringAbbreviation.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
diff --git a/framework/inc/uielement/fontmenucontroller.hxx 
b/framework/inc/uielement/fontmenucontroller.hxx
index 5a9959f1daa7..6c869e21e916 100644
--- a/framework/inc/uielement/fontmenucontroller.hxx
+++ b/framework/inc/uielement/fontmenucontroller.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_FONTMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_FONTMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 
diff --git a/framework/inc/uielement/fontsizemenucontroller.hxx 
b/framework/inc/uielement/fontsizemenucontroller.hxx
index 7cf338318d81..56796ac8fbbb 100644
--- a/framework/inc/uielement/fontsizemenucontroller.hxx
+++ b/framework/inc/uielement/fontsizemenucontroller.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_FONTSIZEMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_FONTSIZEMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
diff --git a/framework/inc/uielement/headermenucontroller.hxx 
b/framework/inc/uielement/headermenucontroller.hxx
index f4bb30fe8a68..ea05b52337b3 100644
--- a/framework/inc/uielement/headermenucontroller.hxx
+++ b/framework/inc/uielement/headermenucontroller.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_HEADERMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_HEADERMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XModel.hpp>
 
diff --git a/framework/inc/uielement/langselectionmenucontroller.hxx 
b/framework/inc/uielement/langselectionmenucontroller.hxx
index 080e98e32c1f..cdf682e3e02b 100644
--- a/framework/inc/uielement/langselectionmenucontroller.hxx
+++ b/framework/inc/uielement/langselectionmenucontroller.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_LANGSELECTIONMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_LANGSELECTIONMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 
diff --git a/framework/inc/uielement/macrosmenucontroller.hxx 
b/framework/inc/uielement/macrosmenucontroller.hxx
index fd84d45f072f..f17c38e441bd 100644
--- a/framework/inc/uielement/macrosmenucontroller.hxx
+++ b/framework/inc/uielement/macrosmenucontroller.hxx
@@ -20,7 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_MACROSMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_MACROSMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <svtools/popupmenucontrollerbase.hxx>
 #include <vcl/menu.hxx>
diff --git a/framework/inc/uielement/menubarwrapper.hxx 
b/framework/inc/uielement/menubarwrapper.hxx
index 58ec21f835f2..374c1b1e9b21 100644
--- a/framework/inc/uielement/menubarwrapper.hxx
+++ b/framework/inc/uielement/menubarwrapper.hxx
@@ -21,8 +21,6 @@
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_MENUBARWRAPPER_HXX
 
 #include <helper/uiconfigelementwrapperbase.hxx>
-#include <macros/xinterface.hxx>
-#include <macros/xtypeprovider.hxx>
 #include <uielement/menubarmanager.hxx>
 
 #include <com/sun/star/lang/XComponent.hpp>
@@ -41,9 +39,11 @@ class MenuBarWrapper final : public 
UIConfigElementWrapperBase,
         virtual ~MenuBarWrapper() override;
 
         //  XInterface, XTypeProvider
-
-        FWK_DECLARE_XINTERFACE
-        FWK_DECLARE_XTYPEPROVIDER
+        virtual css::uno::Any  SAL_CALL queryInterface( const css::uno::Type& 
aType ) override;
+        virtual void SAL_CALL acquire() throw() override;
+        virtual void SAL_CALL release() throw() override;
+        virtual css::uno::Sequence< css::uno::Type >  SAL_CALL getTypes() 
override;
+        virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() 
override;
 
         MenuBarManager* GetMenuBarManager() const { return static_cast< 
MenuBarManager* >( m_xMenuBarManager.get() ); }
 
diff --git a/framework/inc/uielement/newmenucontroller.hxx 
b/framework/inc/uielement/newmenucontroller.hxx
index 2e126e923aee..f4bbe873f519 100644
--- a/framework/inc/uielement/newmenucontroller.hxx
+++ b/framework/inc/uielement/newmenucontroller.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_NEWMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_NEWMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/ui/XAcceleratorConfiguration.hpp>
 
diff --git a/framework/inc/uielement/toolbarmodemenucontroller.hxx 
b/framework/inc/uielement/toolbarmodemenucontroller.hxx
index 238b4d5ea2ff..6fe03f455206 100644
--- a/framework/inc/uielement/toolbarmodemenucontroller.hxx
+++ b/framework/inc/uielement/toolbarmodemenucontroller.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_TOOLBARMODEMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_TOOLBARMODEMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 
diff --git a/framework/inc/uielement/toolbarsmenucontroller.hxx 
b/framework/inc/uielement/toolbarsmenucontroller.hxx
index 77bcc392ae46..23846457aee8 100644
--- a/framework/inc/uielement/toolbarsmenucontroller.hxx
+++ b/framework/inc/uielement/toolbarsmenucontroller.hxx
@@ -20,8 +20,6 @@
 #ifndef INCLUDED_FRAMEWORK_INC_UIELEMENT_TOOLBARSMENUCONTROLLER_HXX
 #define INCLUDED_FRAMEWORK_INC_UIELEMENT_TOOLBARSMENUCONTROLLER_HXX
 
-#include <macros/xserviceinfo.hxx>
-
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
diff --git a/framework/source/dispatch/dispatchdisabler.cxx 
b/framework/source/dispatch/dispatchdisabler.cxx
index b2148f89e8e5..b38fe3d521d5 100644
--- a/framework/source/dispatch/dispatchdisabler.cxx
+++ b/framework/source/dispatch/dispatchdisabler.cxx
@@ -13,6 +13,7 @@
 #include <dispatch/dispatchdisabler.hxx>
 
 #include <com/sun/star/frame/DispatchDescriptor.hpp>
+#include <cppuhelper/supportsservice.hxx>
 
 using namespace css;
 using namespace framework;
diff --git a/framework/source/dispatch/mailtodispatcher.cxx 
b/framework/source/dispatch/mailtodispatcher.cxx
index 2425fdce5dab..7dcdb073203d 100644
--- a/framework/source/dispatch/mailtodispatcher.cxx
+++ b/framework/source/dispatch/mailtodispatcher.cxx
@@ -25,6 +25,7 @@
 #include <com/sun/star/system/SystemShellExecuteException.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <com/sun/star/frame/DispatchResultState.hpp>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework{
 
diff --git a/framework/source/dispatch/oxt_handler.cxx 
b/framework/source/dispatch/oxt_handler.cxx
index c50d9e5b3316..ede5c031e89c 100644
--- a/framework/source/dispatch/oxt_handler.cxx
+++ b/framework/source/dispatch/oxt_handler.cxx
@@ -23,6 +23,7 @@
 
 #include <com/sun/star/frame/DispatchResultState.hpp>
 #include <com/sun/star/task/XJobExecutor.hpp>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework{
 
@@ -40,7 +41,7 @@ sal_Bool SAL_CALL Oxt_Handler::supportsService( const 
OUString& sServiceName )
 
 css::uno::Sequence< OUString > SAL_CALL Oxt_Handler::getSupportedServiceNames()
 {
-    return { SERVICENAME_CONTENTHANDLER };
+    return { "com.sun.star.frame.ContentHandler" };
 }
 
 
diff --git a/framework/source/dispatch/servicehandler.cxx 
b/framework/source/dispatch/servicehandler.cxx
index c0f6b9d441ca..3ce8be684048 100644
--- a/framework/source/dispatch/servicehandler.cxx
+++ b/framework/source/dispatch/servicehandler.cxx
@@ -25,6 +25,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 
 #include <tools/diagnose_ex.h>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework{
 
diff --git a/framework/source/dispatch/systemexec.cxx 
b/framework/source/dispatch/systemexec.cxx
index 5c1b65ecb9dd..ec2d20413614 100644
--- a/framework/source/dispatch/systemexec.cxx
+++ b/framework/source/dispatch/systemexec.cxx
@@ -25,6 +25,7 @@
 #include <com/sun/star/util/XStringSubstitution.hpp>
 #include <com/sun/star/system/SystemShellExecuteFlags.hpp>
 #include <com/sun/star/frame/DispatchResultState.hpp>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework{
 
diff --git a/framework/source/inc/dispatch/dispatchdisabler.hxx 
b/framework/source/inc/dispatch/dispatchdisabler.hxx
index 4741c4152b51..1a2b217adb8f 100644
--- a/framework/source/inc/dispatch/dispatchdisabler.hxx
+++ b/framework/source/inc/dispatch/dispatchdisabler.hxx
@@ -15,14 +15,14 @@
 
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/container/XNameContainer.hpp>
 #include <com/sun/star/frame/XDispatch.hpp>
 #include <com/sun/star/frame/XInterceptorInfo.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/frame/XDispatchProviderInterceptor.hpp>
 
-#include <macros/xserviceinfo.hxx>
-
 namespace framework {
 
 /**
diff --git a/framework/source/jobs/helponstartup.cxx 
b/framework/source/jobs/helponstartup.cxx
index 6927b4e9dcc0..b78c4ed50dad 100644
--- a/framework/source/jobs/helponstartup.cxx
+++ b/framework/source/jobs/helponstartup.cxx
@@ -35,6 +35,7 @@
 #include <com/sun/star/frame/ModuleManager.hpp>
 #include <com/sun/star/frame/XFramesSupplier.hpp>
 #include <com/sun/star/frame/Desktop.hpp>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework{
 
diff --git a/framework/source/jobs/shelljob.cxx 
b/framework/source/jobs/shelljob.cxx
index dd4fed5407b5..292c1a701508 100644
--- a/framework/source/jobs/shelljob.cxx
+++ b/framework/source/jobs/shelljob.cxx
@@ -32,6 +32,7 @@
 
 #include <com/sun/star/util/PathSubstitution.hpp>
 #include <com/sun/star/util/XStringSubstitution.hpp>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework{
 
diff --git a/framework/source/recording/dispatchrecorder.cxx 
b/framework/source/recording/dispatchrecorder.cxx
index 647b2601d334..8ed03a030c8e 100644
--- a/framework/source/recording/dispatchrecorder.cxx
+++ b/framework/source/recording/dispatchrecorder.cxx
@@ -27,6 +27,7 @@
 #include <osl/diagnose.h>
 #include <vcl/svapp.hxx>
 #include <typelib/typedescription.h>
+#include <cppuhelper/supportsservice.hxx>
 
 using namespace ::com::sun::star::uno;
 
diff --git a/framework/source/recording/dispatchrecordersupplier.cxx 
b/framework/source/recording/dispatchrecordersupplier.cxx
index 1d31fdd1c57d..08acf223b401 100644
--- a/framework/source/recording/dispatchrecordersupplier.cxx
+++ b/framework/source/recording/dispatchrecordersupplier.cxx
@@ -23,6 +23,7 @@
 #include <com/sun/star/frame/XRecordableDispatch.hpp>
 
 #include <vcl/svapp.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework{
 
diff --git a/framework/source/services/dispatchhelper.cxx 
b/framework/source/services/dispatchhelper.cxx
index b0c6e7e9b4a5..b4e5718ab56b 100644
--- a/framework/source/services/dispatchhelper.cxx
+++ b/framework/source/services/dispatchhelper.cxx
@@ -18,7 +18,6 @@
  */
 
 #include <framework/dispatchhelper.hxx>
-#include <macros/xserviceinfo.hxx>
 #include <services.h>
 
 #include <com/sun/star/frame/XNotifyingDispatch.hpp>
@@ -28,6 +27,7 @@
 #include <comphelper/profilezone.hxx>
 #include <unotools/mediadescriptor.hxx>
 #include <vcl/threadex.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework
 {
diff --git a/framework/source/services/mediatypedetectionhelper.cxx 
b/framework/source/services/mediatypedetectionhelper.cxx
index d936b36a4004..f4388d217c13 100644
--- a/framework/source/services/mediatypedetectionhelper.cxx
+++ b/framework/source/services/mediatypedetectionhelper.cxx
@@ -20,6 +20,7 @@
 #include <services/mediatypedetectionhelper.hxx>
 #include <services.h>
 #include <svl/inettype.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 namespace framework
 {
diff --git a/framework/source/services/uriabbreviation.cxx 
b/framework/source/services/uriabbreviation.cxx
index ae27f5a9e1c4..abccde76f59d 100644
--- a/framework/source/services/uriabbreviation.cxx
+++ b/framework/source/services/uriabbreviation.cxx
@@ -23,6 +23,7 @@
 #include <sal/config.h>
 
 #include <tools/urlobj.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 // framework namespace
 namespace framework
@@ -42,7 +43,7 @@ sal_Bool SAL_CALL UriAbbreviation::supportsService( const 
OUString& sServiceName
 
 css::uno::Sequence< OUString > SAL_CALL 
UriAbbreviation::getSupportedServiceNames()
 {
-    return { SERVICENAME_STRINGABBREVIATION };
+    return { "com.sun.star.util.UriAbbreviation" };
 }
 
 UriAbbreviation::UriAbbreviation(css::uno::Reference< 
css::uno::XComponentContext > const & )
diff --git a/framework/source/uielement/fontmenucontroller.cxx 
b/framework/source/uielement/fontmenucontroller.cxx
index d72932ebe7ad..5b53720852a5 100644
--- a/framework/source/uielement/fontmenucontroller.cxx
+++ b/framework/source/uielement/fontmenucontroller.cxx
@@ -35,6 +35,7 @@
 #include <rtl/ustrbuf.hxx>
 #include <vcl/mnemonic.hxx>
 #include <osl/mutex.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 //  Defines
 
diff --git a/framework/source/uielement/fontsizemenucontroller.cxx 
b/framework/source/uielement/fontsizemenucontroller.cxx
index b50dedaef24d..317df6b14033 100644
--- a/framework/source/uielement/fontsizemenucontroller.cxx
+++ b/framework/source/uielement/fontsizemenucontroller.cxx
@@ -35,6 +35,7 @@
 #include <svtools/ctrltool.hxx>
 #include <osl/mutex.hxx>
 #include <memory>
+#include <cppuhelper/supportsservice.hxx>
 
 //  Defines
 
diff --git a/framework/source/uielement/footermenucontroller.cxx 
b/framework/source/uielement/footermenucontroller.cxx
index cf88443deb65..9a941a825896 100644
--- a/framework/source/uielement/footermenucontroller.cxx
+++ b/framework/source/uielement/footermenucontroller.cxx
@@ -22,6 +22,7 @@
 #include <services.h>
 
 #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
+#include <cppuhelper/supportsservice.hxx>
 
 //  Defines
 
diff --git a/framework/source/uielement/headermenucontroller.cxx 
b/framework/source/uielement/headermenucontroller.cxx
index aeaea78dc099..6a049994852f 100644
--- a/framework/source/uielement/headermenucontroller.cxx
+++ b/framework/source/uielement/headermenucontroller.cxx
@@ -33,6 +33,7 @@
 #include <vcl/svapp.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <osl/mutex.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 //  Defines
 
diff --git a/framework/source/uielement/langselectionmenucontroller.cxx 
b/framework/source/uielement/langselectionmenucontroller.cxx
index a0e60acd8bd7..3d971f43f8fc 100644
--- a/framework/source/uielement/langselectionmenucontroller.cxx
+++ b/framework/source/uielement/langselectionmenucontroller.cxx
@@ -36,6 +36,7 @@
 
 #include <helper/mischelper.hxx>
 #include <osl/mutex.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 #include <map>
 #include <set>
diff --git a/framework/source/uielement/macrosmenucontroller.cxx 
b/framework/source/uielement/macrosmenucontroller.cxx
index 73b78340fb59..0549ff3a0299 100644
--- a/framework/source/uielement/macrosmenucontroller.cxx
+++ b/framework/source/uielement/macrosmenucontroller.cxx
@@ -20,12 +20,14 @@
 #include <uielement/macrosmenucontroller.hxx>
 #include <services.h>
 #include <com/sun/star/container/XContentEnumerationAccess.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
 #include <officecfg/Office/Common.hxx>
 #include <toolkit/awt/vclxmenu.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/commandinfoprovider.hxx>
 #include <osl/mutex.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 using namespace com::sun::star::uno;
 using namespace com::sun::star::lang;
diff --git a/framework/source/uielement/menubarwrapper.cxx 
b/framework/source/uielement/menubarwrapper.cxx
index 48700304f72d..6342f63cf637 100644
--- a/framework/source/uielement/menubarwrapper.cxx
+++ b/framework/source/uielement/menubarwrapper.cxx
@@ -26,6 +26,8 @@
 #include <com/sun/star/util/URLTransformer.hpp>
 
 #include <comphelper/sequence.hxx>
+#include <cppuhelper/typeprovider.hxx>
+#include <cppuhelper/queryinterface.hxx>
 #include <toolkit/awt/vclxmenu.hxx>
 #include <vcl/svapp.hxx>
 
@@ -42,35 +44,67 @@ using namespace ::com::sun::star::ui;
 namespace framework
 {
 
-//  XInterface, XTypeProvider
-DEFINE_XINTERFACE_11    (   MenuBarWrapper                                     
               ,
-                            UIConfigElementWrapperBase                         
               ,
-                            DIRECT_INTERFACE( css::lang::XTypeProvider         
 ),
-                            DIRECT_INTERFACE( css::ui::XUIElement              
 ),
-                            DIRECT_INTERFACE( css::ui::XUIElementSettings      
 ),
-                            DIRECT_INTERFACE( css::beans::XMultiPropertySet    
 ),
-                            DIRECT_INTERFACE( css::beans::XFastPropertySet     
 ),
-                            DIRECT_INTERFACE( css::beans::XPropertySet         
 ),
-                            DIRECT_INTERFACE( css::lang::XInitialization       
 ),
-                            DIRECT_INTERFACE( css::lang::XComponent            
 ),
-                            DIRECT_INTERFACE( css::util::XUpdatable            
 ),
-                            DIRECT_INTERFACE( 
css::ui::XUIConfigurationListener ),
-                            DERIVED_INTERFACE( css::container::XNameAccess, 
css::container::XElementAccess )
-                        )
-
-DEFINE_XTYPEPROVIDER_11 (   MenuBarWrapper                                  ,
-                            css::lang::XTypeProvider           ,
-                            css::ui::XUIElement                ,
-                            css::ui::XUIElementSettings        ,
-                            css::beans::XMultiPropertySet      ,
-                            css::beans::XFastPropertySet       ,
-                            css::beans::XPropertySet           ,
-                            css::lang::XInitialization         ,
-                            css::lang::XComponent              ,
-                            css::util::XUpdatable              ,
-                            css::ui::XUIConfigurationListener  ,
-                            css::container::XNameAccess
-                        )
+void SAL_CALL MenuBarWrapper::acquire() throw()                                
                                          \
+{                                                                              
                                                                         \
+    /* Don't use mutex in methods of XInterface! */                            
                                                                         \
+    UIConfigElementWrapperBase::acquire();                                     
                                                                                
          \
+}                                                                              
                                                                         \
+                                                                               
                                                                         \
+void SAL_CALL MenuBarWrapper::release() throw()                                
                                          \
+{                                                                              
                                                                         \
+    /* Don't use mutex in methods of XInterface! */                            
                                                                         \
+    UIConfigElementWrapperBase::release();                                     
                                                                                
          \
+}
+
+css::uno::Any SAL_CALL MenuBarWrapper::queryInterface( const css::uno::Type& 
aType )
+{
+    /* 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( aType,
+                        static_cast< css::lang::XTypeProvider* >( this ),
+                        static_cast< css::ui::XUIElement* >( this ),
+                        static_cast< css::ui::XUIElementSettings* >( this ),
+                        static_cast< css::beans::XMultiPropertySet* >( this ),
+                        static_cast< css::beans::XFastPropertySet* >( this ),
+                        static_cast< css::beans::XPropertySet* >( this ),
+                        static_cast< css::lang::XInitialization* >( this ),
+                        static_cast< css::lang::XComponent* >( this ),
+                        static_cast< css::util::XUpdatable* >( this ),
+                        static_cast< css::ui::XUIConfigurationListener* >( 
this ),
+                        static_cast< css::container::XNameAccess* >( 
static_cast< css::container::XElementAccess* >( this ) )
+                                        );
+    /* If searched interface not supported by this class ... */
+    if ( !aReturn.hasValue() )
+    {
+        /* ... ask baseclass for interfaces! */
+        aReturn = UIConfigElementWrapperBase::queryInterface( aType );
+    }
+    /* Return result of this search. */
+    return aReturn;
+}
+
+css::uno::Sequence< sal_Int8 > SAL_CALL MenuBarWrapper::getImplementationId()
+{
+    return css::uno::Sequence<sal_Int8>();
+}
+
+css::uno::Sequence< css::uno::Type > SAL_CALL MenuBarWrapper::getTypes()
+{
+    /* Attention: "TYPES" will expand to "(...)"!   */
+    static cppu::OTypeCollection ourTypeCollection {
+                        cppu::UnoType<css::lang::XTypeProvider>::get()         
  ,
+                        cppu::UnoType<css::ui::XUIElement>::get()              
  ,
+                        cppu::UnoType<css::ui::XUIElementSettings>::get()      
  ,
+                        cppu::UnoType<css::beans::XMultiPropertySet>::get()    
  ,
+                        cppu::UnoType<css::beans::XFastPropertySet>::get()     
  ,
+                        cppu::UnoType<css::beans::XPropertySet>::get()         
  ,
+                        cppu::UnoType<css::lang::XInitialization>::get()       
  ,
+                        cppu::UnoType<css::lang::XComponent>::get()            
  ,
+                        cppu::UnoType<css::util::XUpdatable>::get()            
  ,
+                        
cppu::UnoType<css::ui::XUIConfigurationListener>::get()  ,
+                    cppu::UnoType<css::container::XNameAccess>::get() };
+    return ourTypeCollection.getTypes();
+}
 
 MenuBarWrapper::MenuBarWrapper(
     const css::uno::Reference< css::uno::XComponentContext >& rxContext
diff --git a/framework/source/uielement/newmenucontroller.cxx 
b/framework/source/uielement/newmenucontroller.cxx
index c0b4d28601fb..feb9df4bf408 100644
--- a/framework/source/uielement/newmenucontroller.cxx
+++ b/framework/source/uielement/newmenucontroller.cxx
@@ -40,6 +40,7 @@
 #include <unotools/dynamicmenuoptions.hxx>
 #include <unotools/moduleoptions.hxx>
 #include <osl/mutex.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 //  Defines
 #define aSlotNewDocDirect ".uno:AddDirect"
diff --git a/framework/source/uielement/toolbarmodemenucontroller.cxx 
b/framework/source/uielement/toolbarmodemenucontroller.cxx
index 0ffd20340b9c..738ae72cab06 100644
--- a/framework/source/uielement/toolbarmodemenucontroller.cxx
+++ b/framework/source/uielement/toolbarmodemenucontroller.cxx
@@ -35,9 +35,11 @@
 #include <vcl/EnumContext.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <sal/log.hxx>
+#include <comphelper/processfactory.hxx>
 #include <comphelper/types.hxx>
 #include <svtools/miscopt.hxx>
 #include <unotools/confignode.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 //  Defines
 
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx 
b/framework/source/uielement/toolbarsmenucontroller.cxx
index c1432ab5a3a3..57efb365068e 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -55,6 +55,7 @@
 #include <svtools/miscopt.hxx>
 #include <unotools/collatorwrapper.hxx>
 #include <unotools/syslocale.hxx>
+#include <cppuhelper/supportsservice.hxx>
 
 //  Defines
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to