offapi/UnoApi_offapi.mk                                                        
 |    1 
 offapi/com/sun/star/drawing/framework/XResourceId.idl                          
 |  136 --------
 sd/inc/ResourceId.hxx                                                          
 |  156 ++++++----
 sd/source/console/PresenterController.cxx                                      
 |    2 
 sd/source/console/PresenterController.hxx                                      
 |    4 
 sd/source/console/PresenterHelpView.cxx                                        
 |    4 
 sd/source/console/PresenterHelpView.hxx                                        
 |    8 
 sd/source/console/PresenterNotesView.cxx                                       
 |    4 
 sd/source/console/PresenterNotesView.hxx                                       
 |    8 
 sd/source/console/PresenterPaneBase.cxx                                        
 |    4 
 sd/source/console/PresenterPaneBase.hxx                                        
 |    6 
 sd/source/console/PresenterPaneContainer.cxx                                   
 |   18 -
 sd/source/console/PresenterPaneContainer.hxx                                   
 |   13 
 sd/source/console/PresenterPaneFactory.cxx                                     
 |    6 
 sd/source/console/PresenterPaneFactory.hxx                                     
 |    7 
 sd/source/console/PresenterScreen.cxx                                          
 |   14 
 sd/source/console/PresenterScreen.hxx                                          
 |   10 
 sd/source/console/PresenterSlidePreview.cxx                                    
 |    4 
 sd/source/console/PresenterSlidePreview.hxx                                    
 |    6 
 sd/source/console/PresenterSlideShowView.cxx                                   
 |    4 
 sd/source/console/PresenterSlideShowView.hxx                                   
 |    8 
 sd/source/console/PresenterSlideSorter.cxx                                     
 |    4 
 sd/source/console/PresenterSlideSorter.hxx                                     
 |    8 
 sd/source/console/PresenterToolBar.cxx                                         
 |    6 
 sd/source/console/PresenterToolBar.hxx                                         
 |    8 
 sd/source/console/PresenterViewFactory.cxx                                     
 |   22 -
 sd/source/console/PresenterViewFactory.hxx                                     
 |   18 -
 sd/source/ui/app/sdmod1.cxx                                                    
 |    1 
 sd/source/ui/docshell/docshel4.cxx                                             
 |    1 
 sd/source/ui/framework/configuration/Configuration.cxx                         
 |   28 -
 sd/source/ui/framework/configuration/ConfigurationClassifier.cxx               
 |   23 -
 sd/source/ui/framework/configuration/ConfigurationClassifier.hxx               
 |   32 --
 sd/source/ui/framework/configuration/ConfigurationController.cxx               
 |   11 
 sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx    
 |    2 
 sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx    
 |    5 
 
sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx 
|   21 -
 
sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx 
|   21 -
 sd/source/ui/framework/configuration/ConfigurationTracer.cxx                   
 |    7 
 sd/source/ui/framework/configuration/ConfigurationTracer.hxx                   
 |   14 
 sd/source/ui/framework/configuration/ConfigurationUpdater.cxx                  
 |   17 -
 sd/source/ui/framework/configuration/ConfigurationUpdater.hxx                  
 |   16 -
 sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.cxx     
 |    3 
 sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.hxx     
 |    7 
 sd/source/ui/framework/configuration/ResourceId.cxx                            
 |   64 +---
 sd/source/ui/framework/factories/BasicPaneFactory.cxx                          
 |    9 
 sd/source/ui/framework/factories/BasicToolBarFactory.cxx                       
 |    3 
 sd/source/ui/framework/factories/BasicViewFactory.cxx                          
 |   19 -
 sd/source/ui/framework/factories/ChildWindowPane.cxx                           
 |    3 
 sd/source/ui/framework/factories/ChildWindowPane.hxx                           
 |    3 
 sd/source/ui/framework/factories/FrameWindowPane.cxx                           
 |    3 
 sd/source/ui/framework/factories/FrameWindowPane.hxx                           
 |    9 
 sd/source/ui/framework/factories/FullScreenPane.cxx                            
 |    5 
 sd/source/ui/framework/factories/FullScreenPane.hxx                            
 |    4 
 sd/source/ui/framework/factories/Pane.cxx                                      
 |    6 
 sd/source/ui/framework/factories/PresentationFactory.cxx                       
 |    9 
 sd/source/ui/framework/factories/ViewShellWrapper.cxx                          
 |    6 
 sd/source/ui/framework/module/CenterViewFocusModule.cxx                        
 |    4 
 sd/source/ui/framework/module/ModuleController.cxx                             
 |    1 
 sd/source/ui/framework/module/NotesPaneModule.cxx                              
 |    4 
 sd/source/ui/framework/module/NotesPaneModule.hxx                              
 |    6 
 sd/source/ui/framework/module/SlideSorterModule.cxx                            
 |    4 
 sd/source/ui/framework/module/SlideSorterModule.hxx                            
 |    8 
 sd/source/ui/framework/module/ToolBarModule.cxx                                
 |    8 
 sd/source/ui/framework/module/ToolBarModule.hxx                                
 |    8 
 sd/source/ui/framework/module/ViewTabBarModule.cxx                             
 |    4 
 sd/source/ui/framework/module/ViewTabBarModule.hxx                             
 |    7 
 sd/source/ui/framework/tools/FrameworkHelper.cxx                               
 |   38 +-
 sd/source/ui/inc/EventMultiplexer.hxx                                          
 |    7 
 sd/source/ui/inc/ViewTabBar.hxx                                                
 |   15 
 sd/source/ui/inc/framework/AbstractResource.hxx                                
 |    8 
 sd/source/ui/inc/framework/Configuration.hxx                                   
 |   23 -
 sd/source/ui/inc/framework/ConfigurationChangeEvent.hxx                        
 |    3 
 sd/source/ui/inc/framework/ConfigurationController.hxx                         
 |    6 
 sd/source/ui/inc/framework/FrameworkHelper.hxx                                 
 |   37 --
 sd/source/ui/inc/framework/Pane.hxx                                            
 |    6 
 sd/source/ui/inc/framework/PresentationFactory.hxx                             
 |    3 
 sd/source/ui/inc/framework/ResourceFactory.hxx                                 
 |    7 
 sd/source/ui/inc/framework/ViewShellWrapper.hxx                                
 |    6 
 sd/source/ui/inc/framework/factories/BasicPaneFactory.hxx                      
 |    9 
 sd/source/ui/inc/framework/factories/BasicToolBarFactory.hxx                   
 |    3 
 sd/source/ui/inc/framework/factories/BasicViewFactory.hxx                      
 |    8 
 sd/source/ui/sidebar/LayoutMenu.cxx                                            
 |    2 
 sd/source/ui/slideshow/PaneHider.cxx                                           
 |   10 
 sd/source/ui/slideshow/SlideShowRestarter.cxx                                  
 |    1 
 sd/source/ui/slideshow/slideshow.cxx                                           
 |    1 
 sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx                   
 |    1 
 sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx                        
 |    1 
 sd/source/ui/tools/EventMultiplexer.cxx                                        
 |    8 
 sd/source/ui/unoidl/DrawController.cxx                                         
 |    5 
 sd/source/ui/view/Outliner.cxx                                                 
 |    1 
 sd/source/ui/view/ViewShellBase.cxx                                            
 |   10 
 sd/source/ui/view/ViewTabBar.cxx                                               
 |    8 
 sd/source/ui/view/viewshel.cxx                                                 
 |    5 
 93 files changed, 509 insertions(+), 618 deletions(-)

New commits:
commit 401e88652871bd88621368e8b5c2d9db0487a969
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Tue Jun 24 15:13:43 2025 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Jun 26 07:52:34 2025 +0200

    [API CHANGE] remove css::drawing::framework::XResourceId
    
    internal to sd, no need for it to use UNO
    
    Change-Id: I9cbf069e9697d70f8d54da48cc265dcee8965d71
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186893
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index ae807e2edd9a..0816d6b987f8 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -2363,7 +2363,6 @@ $(eval $(call 
gb_UnoApi_add_idlfiles,offapi,com/sun/star/drawing,\
 ))
 $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/drawing/framework,\
        AnchorBindingMode \
-       XResourceId \
 ))
 $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/embed,\
        Actions \
diff --git a/offapi/com/sun/star/drawing/framework/XResourceId.idl 
b/offapi/com/sun/star/drawing/framework/XResourceId.idl
deleted file mode 100644
index f868a6f3720e..000000000000
--- a/offapi/com/sun/star/drawing/framework/XResourceId.idl
+++ /dev/null
@@ -1,136 +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 .
- */
-
-module com { module sun { module star { module drawing { module framework {
-
-/** A resource id uses a set of URLs to unambiguously specify a resource of
-    the drawing framework.
-    <p>Resources of the drawing framework are panes, views, tool bars, and
-    command groups.  One URL describes the type of the actual resource.  A
-    sequence of URLs (typically one, sometimes two) specifies its anchor,
-    the resource it is bound to.  The anchor typically is a pane (for
-    views), or it is empty (for panes).</p>
-    <p>The resource URL may be empty.  In this case the anchor is empty,
-    too.  Such an empty resource id does not describe a resource but rather
-    the absence of one.  Instead of an empty XResourceId object
-    an empty reference can be used in many places.</p>
-    <p>The resource URL may have arguments that are passed to the factory
-    method on its creation.  Arguments are only available through the
-    getFullResourceURL().  The getResourceURL() method strips them away.</p>
-*/
-interface XResourceId
-{
-    /** Return the URL of the resource.  Arguments supplied on creation are
-        stripped away.  Use getFullResourceURL() to access them.
-    */
-    string getResourceURL ();
-
-    /** Return a URL object of the resource URL that may contain arguments.
-    */
-    com::sun::star::util::URL getFullResourceURL ();
-
-    /** Return whether there is a non-empty anchor URL.  When this method
-        returns `FALSE` then getAnchorURLs() will return an empty list.
-    */
-    boolean hasAnchor ();
-
-    /** Return a new XResourceId that represents the anchor resource.
-    */
-    XResourceId getAnchor ();
-
-    /** Return the, possibly empty, list of anchor URLs.  The URLs are
-        ordered so that the one in position 0 is the direct anchor of the
-        resource, while the one in position i+1 is the direct anchor of the
-        one in position i.
-    */
-    sequence<string> getAnchorURLs ();
-
-    /** Return the type prefix of the resource URL.  This includes all up to
-        and including the second slash.
-    */
-    string getResourceTypePrefix ();
-
-    /** Compare the called XResourceId object with the given
-        one.
-        <p>The two resource ids A and B are compared so that if A<B (return
-        value is -1) then either A and B are unrelated or A is a direct or
-        indirect anchor of B.</p>
-        <p>The algorithm for this comparison is quite simple. It uses a
-        double lexicographic ordering.  On the lower level individual URLs
-        are compared via the lexicographic order defined on strings.  On the
-        higher level two resource ids are compared via a lexicographic order
-        defined on the URLS.  So when there are two resource ids A1.A2
-        (A1 being the anchor of A2) and B1.B2 then A1.A2<B1.B2 when A1<B1 or
-        A1==B1 and A2<B2.  Resource ids may have different lengths: A1 <
-        B1.B2 when A1<B1 or A1==B1 (anchors first then resources linked to 
them.</p>
-        @param xId
-            The resource id to which the called resource id is compared.
-        @return
-            Returns 0 when the called resource id is
-            equivalent to the given resource id. Returns <code>-1</code> or
-            <code>+1</code> when the two compared resource ids differ.
-    */
-    short compareTo (
-        [in] XResourceId xId);
-
-    /** Return whether the anchor of the called resource id object
-        represents the same resource as the given object.
-        <p>Note that not only the anchor of the given object is taken into
-        account. The whole object, including the resource URL, is
-        interpreted as anchor resource.</p>
-        @param xAnchorId
-            The resource id of the anchor.
-        @param eMode
-            This mode specifies how the called resource has to be bound to
-            the given anchor in order to have this function return `TRUE`.
-            <p>If eMode is DIRECT then the anchor of the called resource id
-            has to be identical to the given anchor. If eMode is
-            INDIRECT then the given anchor has to be a part
-            of the anchor of the called resource.
-    */
-    boolean isBoundTo (
-        [in] XResourceId xAnchorId,
-        [in] AnchorBindingMode eMode);
-
-    /** Return whether the anchor of the called resource id object
-        represents the same resource as the given anchor URL. This is a
-        convenience variant of the isBoundTo() function
-        that can also be seen as an optimization for the case that the
-        anchor consists of exactly one URL.
-        @param AnchorURL
-            The resource URL of the anchor.
-        @param eMode
-            This mode specifies how the called resource has to be bound to
-            the given anchor in order to have this function return. See the
-            description of isBoundTo() for more
-            information.
-    */
-    boolean isBoundToURL (
-        [in] string AnchorURL,
-        [in] AnchorBindingMode eMode);
-
-    /** Return a copy of the called resource id.  The caller becomes the
-        owner of the new object.
-    */
-    XResourceId clone ();
-};
-
-}; }; }; }; }; // ::com::sun::star::drawing::framework
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/inc/ResourceId.hxx b/sd/inc/ResourceId.hxx
index 5b9be4b2f681..78d6a81d64b0 100644
--- a/sd/inc/ResourceId.hxx
+++ b/sd/inc/ResourceId.hxx
@@ -21,12 +21,11 @@
 
 #include <sal/config.h>
 #include "sddllapi.h"
-
-#include <vector>
-
-#include <com/sun/star/drawing/framework/XResourceId.hpp>
+#include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/drawing/framework/AnchorBindingMode.hpp>
 #include <cppuhelper/implbase.hxx>
-
+#include <rtl/ref.hxx>
+#include <vector>
 #include <memory>
 
 namespace com::sun::star::util { class XURLTransformer; }
@@ -34,14 +33,22 @@ namespace com::sun::star::uno { template <class 
interface_type> class WeakRefere
 
 namespace sd::framework {
 
-typedef ::cppu::WeakImplHelper <
-    css::drawing::framework::XResourceId
-    > ResourceIdInterfaceBase;
-
-/** Implementation of css::drawing::framework::XResourceId interface.
+/** A resource id uses a set of URLs to unambiguously specify a resource of
+    the drawing framework.
+    <p>Resources of the drawing framework are panes, views, tool bars, and
+    command groups.  One URL describes the type of the actual resource.  A
+    sequence of URLs (typically one, sometimes two) specifies its anchor,
+    the resource it is bound to.  The anchor typically is a pane (for
+    views), or it is empty (for panes).</p>
+    <p>The resource URL may be empty.  In this case the anchor is empty,
+    too.  Such an empty resource id does not describe a resource but rather
+    the absence of one.  Instead of an empty ResourceId object
+    an empty reference can be used in many places.</p>
+    <p>The resource URL may have arguments that are passed to the factory
+    method on its creation.  Arguments are only available through the
+    getFullResourceURL().  The getResourceURL() method strips them away.</p>
 */
-class SD_DLLPUBLIC ResourceId final
-    : public ResourceIdInterfaceBase
+class SD_DLLPUBLIC ResourceId final : public ::cppu::WeakImplHelper<>
 {
 public:
     /** Create a new, empty resource id.
@@ -67,10 +74,10 @@ public:
         const OUString& rsResourceURL);
 
     /** Create a resource id for an anchor that is given as
-        XResourceId object.  This is the most general of the
+        ResourceId object.  This is the most general of the
         constructor variants.
     */
-    ResourceId(const OUString& sResourceURL, const 
css::uno::Reference<XResourceId>& xAnchor);
+    ResourceId(const OUString& sResourceURL, const rtl::Reference<ResourceId>& 
xAnchor);
 
     /** Create a new resource id for the given resource type and an anchor
         that is specified by a single URL.  This constructor can be used for
@@ -91,54 +98,109 @@ public:
         @param rsFirstAnchorURL
             This URL extends the anchor given by rAnchorURLs.
         @param rAnchorURLs
-            An anchor as it is returned by XResourceId::getAnchorURLs().
+            An anchor as it is returned by ResourceId::getAnchorURLs().
     */
     ResourceId (
         const OUString& rsResourceURL,
         const OUString& rsFirstAnchorURL,
-        const css::uno::Sequence<OUString>& rAnchorURLs);
+        const std::vector<OUString>& rAnchorURLs);
 
     virtual ~ResourceId() override;
 
-    //===== XResourceId =======================================================
-
-    virtual OUString SAL_CALL
-        getResourceURL() override;
-
-    virtual css::util::URL SAL_CALL
-        getFullResourceURL() override;
-
-    virtual sal_Bool SAL_CALL
-        hasAnchor() override;
+    /** Return the URL of the resource.  Arguments supplied on creation are
+        stripped away.  Use getFullResourceURL() to access them.
+    */
+    OUString getResourceURL() const;
 
-    virtual css::uno::Reference<
-        css::drawing::framework::XResourceId> SAL_CALL
-        getAnchor() override;
+    /** Return a URL object of the resource URL that may contain arguments.
+    */
+    css::util::URL getFullResourceURL();
 
-    virtual css::uno::Sequence<OUString> SAL_CALL
-        getAnchorURLs() override;
+    /** Return whether there is a non-empty anchor URL.  When this method
+        returns `FALSE` then getAnchorURLs() will return an empty list.
+    */
+    bool hasAnchor() const;
 
-    virtual OUString SAL_CALL
-        getResourceTypePrefix() override;
+    /** Return a new ResourceId that represents the anchor resource.
+    */
+    rtl::Reference<ResourceId> getAnchor() const;
 
-    virtual sal_Int16 SAL_CALL
-        compareTo (const css::uno::Reference<
-            css::drawing::framework::XResourceId>& rxResourceId) override;
+    /** Return the, possibly empty, list of anchor URLs.  The URLs are
+        ordered so that the one in position 0 is the direct anchor of the
+        resource, while the one in position i+1 is the direct anchor of the
+        one in position i.
+    */
+    std::vector<OUString> getAnchorURLs() const;
 
-    virtual sal_Bool SAL_CALL
+    /** Return the type prefix of the resource URL.  This includes all up to
+        and including the second slash.
+    */
+    OUString getResourceTypePrefix() const;
+
+    /** Compare the called ResourceId object with the given
+        one.
+        <p>The two resource ids A and B are compared so that if A<B (return
+        value is -1) then either A and B are unrelated or A is a direct or
+        indirect anchor of B.</p>
+        <p>The algorithm for this comparison is quite simple. It uses a
+        double lexicographic ordering.  On the lower level individual URLs
+        are compared via the lexicographic order defined on strings.  On the
+        higher level two resource ids are compared via a lexicographic order
+        defined on the URLS.  So when there are two resource ids A1.A2
+        (A1 being the anchor of A2) and B1.B2 then A1.A2<B1.B2 when A1<B1 or
+        A1==B1 and A2<B2.  Resource ids may have different lengths: A1 <
+        B1.B2 when A1<B1 or A1==B1 (anchors first then resources linked to 
them.</p>
+        @param xId
+            The resource id to which the called resource id is compared.
+        @return
+            Returns 0 when the called resource id is
+            equivalent to the given resource id. Returns <code>-1</code> or
+            <code>+1</code> when the two compared resource ids differ.
+    */
+    sal_Int16 compareTo(const rtl::Reference<ResourceId>& rxResourceId) const;
+
+    /** Return whether the anchor of the called resource id object
+        represents the same resource as the given object.
+        <p>Note that not only the anchor of the given object is taken into
+        account. The whole object, including the resource URL, is
+        interpreted as anchor resource.</p>
+        @param xAnchorId
+            The resource id of the anchor.
+        @param eMode
+            This mode specifies how the called resource has to be bound to
+            the given anchor in order to have this function return `TRUE`.
+            <p>If eMode is DIRECT then the anchor of the called resource id
+            has to be identical to the given anchor. If eMode is
+            INDIRECT then the given anchor has to be a part
+            of the anchor of the called resource.
+    */
+    bool
         isBoundTo (
-            const css::uno::Reference<
-                css::drawing::framework::XResourceId>& rxResourceId,
-            css::drawing::framework::AnchorBindingMode eMode) override;
-
-    virtual sal_Bool SAL_CALL
+            const rtl::Reference<ResourceId>& rxResourceId,
+            css::drawing::framework::AnchorBindingMode eMode) const;
+
+    /** Return whether the anchor of the called resource id object
+        represents the same resource as the given anchor URL. This is a
+        convenience variant of the isBoundTo() function
+        that can also be seen as an optimization for the case that the
+        anchor consists of exactly one URL.
+        @param AnchorURL
+            The resource URL of the anchor.
+        @param eMode
+            This mode specifies how the called resource has to be bound to
+            the given anchor in order to have this function return. See the
+            description of isBoundTo() for more
+            information.
+    */
+    bool
         isBoundToURL (
             const OUString& rsAnchorURL,
-            css::drawing::framework::AnchorBindingMode eMode) override;
+            css::drawing::framework::AnchorBindingMode eMode) const;
 
-    virtual css::uno::Reference<
-        css::drawing::framework::XResourceId> SAL_CALL
-        clone() override;
+    /** Return a copy of the called resource id.  The caller becomes the
+        owner of the new object.
+    */
+    rtl::Reference<ResourceId> clone() const;
 
 private:
     /** The set of URLs that consist of the resource URL at index 0 and the
@@ -171,7 +233,7 @@ private:
     */
     bool IsBoundToAnchor (
         const OUString* psFirstAnchorURL,
-        const css::uno::Sequence<OUString>* paAnchorURLs,
+        const std::vector<OUString>* paAnchorURLs,
         css::drawing::framework::AnchorBindingMode eMode) const;
 
     /** Return whether the called ResourceId object is bound to the anchor
diff --git a/sd/source/console/PresenterController.cxx 
b/sd/source/console/PresenterController.cxx
index c9b224279a4f..355a9a407ad2 100644
--- a/sd/source/console/PresenterController.cxx
+++ b/sd/source/console/PresenterController.cxx
@@ -91,7 +91,7 @@ PresenterController::PresenterController (
     const rtl::Reference<::sd::DrawController>& rxController,
     const Reference<presentation::XSlideShowController>& rxSlideShowController,
     rtl::Reference<PresenterPaneContainer> xPaneContainer,
-    const Reference<XResourceId>& rxMainPaneId)
+    const rtl::Reference<sd::framework::ResourceId>& rxMainPaneId)
     : mxScreen(std::move(xScreen)),
       mxComponentContext(rxContext),
       mxController(rxController),
diff --git a/sd/source/console/PresenterController.hxx 
b/sd/source/console/PresenterController.hxx
index 4d05ccbe82bf..5beca19b6c64 100644
--- a/sd/source/console/PresenterController.hxx
+++ b/sd/source/console/PresenterController.hxx
@@ -88,7 +88,7 @@ public:
         const rtl::Reference<::sd::DrawController>& rxController,
         const css::uno::Reference<css::presentation::XSlideShowController>& 
rxSlideShowController,
         rtl::Reference<PresenterPaneContainer> xPaneContainer,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxMainPaneId);
+        const rtl::Reference<sd::framework::ResourceId>& rxMainPaneId);
     virtual ~PresenterController() override;
 
     virtual void disposing(std::unique_lock<std::mutex>&) override;
@@ -178,7 +178,7 @@ private:
     rtl::Reference<::sd::DrawController> mxController;
     rtl::Reference<::sd::framework::ConfigurationController> 
mxConfigurationController;
     css::uno::Reference<css::presentation::XSlideShowController> 
mxSlideShowController;
-    css::uno::Reference<css::drawing::framework::XResourceId> mxMainPaneId;
+    rtl::Reference<sd::framework::ResourceId> mxMainPaneId;
     rtl::Reference<PresenterPaneContainer> mpPaneContainer;
     sal_Int32 mnCurrentSlideIndex;
     css::uno::Reference<css::drawing::XDrawPage> mxCurrentSlide;
diff --git a/sd/source/console/PresenterHelpView.cxx 
b/sd/source/console/PresenterHelpView.cxx
index ad4f21201cc8..7f22fdbf3dd0 100644
--- a/sd/source/console/PresenterHelpView.cxx
+++ b/sd/source/console/PresenterHelpView.cxx
@@ -120,7 +120,7 @@ class PresenterHelpView::TextContainer : public 
vector<std::shared_ptr<Block> >
 
 PresenterHelpView::PresenterHelpView (
     const Reference<uno::XComponentContext>& rxContext,
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const rtl::Reference<::sd::DrawController>& rxController,
     ::rtl::Reference<PresenterController> xPresenterController)
     : mxComponentContext(rxContext),
@@ -434,7 +434,7 @@ void PresenterHelpView::CheckFontSize()
 
 //----- AbstractResource 
-----------------------------------------------------------
 
-Reference<XResourceId> PresenterHelpView::getResourceId()
+rtl::Reference<sd::framework::ResourceId> PresenterHelpView::getResourceId()
 {
     {
         std::unique_lock l(m_aMutex);
diff --git a/sd/source/console/PresenterHelpView.hxx 
b/sd/source/console/PresenterHelpView.hxx
index fdc09e936f9f..f02e9f575e86 100644
--- a/sd/source/console/PresenterHelpView.hxx
+++ b/sd/source/console/PresenterHelpView.hxx
@@ -25,7 +25,7 @@
 #include <com/sun/star/awt/XPaintListener.hpp>
 #include <com/sun/star/awt/XWindowListener.hpp>
 #include <framework/AbstractView.hxx>
-#include <com/sun/star/drawing/framework/XResourceId.hpp>
+#include <ResourceId.hxx>
 #include <com/sun/star/frame/XController.hpp>
 #include <memory>
 
@@ -47,7 +47,7 @@ class PresenterHelpView
 public:
     explicit PresenterHelpView (
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const rtl::Reference<::sd::DrawController>& rxController,
         ::rtl::Reference<PresenterController> xPresenterController);
     virtual ~PresenterHelpView() override;
@@ -76,7 +76,7 @@ public:
 
     // AbstractResource
 
-    virtual css::uno::Reference<css::drawing::framework::XResourceId> 
getResourceId() override;
+    virtual rtl::Reference<sd::framework::ResourceId> getResourceId() override;
 
     virtual bool isAnchorOnly() override;
 
@@ -84,7 +84,7 @@ private:
     class TextContainer;
 
     css::uno::Reference<css::uno::XComponentContext> mxComponentContext;
-    css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
+    rtl::Reference<sd::framework::ResourceId> mxViewId;
     rtl::Reference<sd::framework::AbstractPane> mxPane;
     css::uno::Reference<css::awt::XWindow> mxWindow;
     css::uno::Reference<css::rendering::XCanvas> mxCanvas;
diff --git a/sd/source/console/PresenterNotesView.cxx 
b/sd/source/console/PresenterNotesView.cxx
index 9f985276803e..fff7cf4945ee 100644
--- a/sd/source/console/PresenterNotesView.cxx
+++ b/sd/source/console/PresenterNotesView.cxx
@@ -52,7 +52,7 @@ namespace sdext::presenter {
 
 PresenterNotesView::PresenterNotesView (
     const Reference<XComponentContext>& rxComponentContext,
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const ::rtl::Reference<::sd::DrawController>& rxController,
     const ::rtl::Reference<PresenterController>& rpPresenterController)
     : mxViewId(rxViewId),
@@ -286,7 +286,7 @@ void SAL_CALL PresenterNotesView::windowPaint (const 
awt::PaintEvent& rEvent)
 
 //----- AbstractResource 
-----------------------------------------------------------
 
-Reference<XResourceId> PresenterNotesView::getResourceId()
+rtl::Reference<sd::framework::ResourceId> PresenterNotesView::getResourceId()
 {
     return mxViewId;
 }
diff --git a/sd/source/console/PresenterNotesView.hxx 
b/sd/source/console/PresenterNotesView.hxx
index 88a6d841de2c..c558ce4d291c 100644
--- a/sd/source/console/PresenterNotesView.hxx
+++ b/sd/source/console/PresenterNotesView.hxx
@@ -29,7 +29,7 @@
 #include <com/sun/star/drawing/XDrawPage.hpp>
 #include <com/sun/star/drawing/XDrawView.hpp>
 #include <framework/AbstractView.hxx>
-#include <com/sun/star/drawing/framework/XResourceId.hpp>
+#include <ResourceId.hxx>
 #include <com/sun/star/frame/XController.hpp>
 #include <rtl/ref.hxx>
 #include <memory>
@@ -61,7 +61,7 @@ class PresenterNotesView
 public:
     explicit PresenterNotesView (
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const ::rtl::Reference<::sd::DrawController>& rxController,
         const ::rtl::Reference<PresenterController>& rpPresenterController);
     virtual ~PresenterNotesView() override;
@@ -103,7 +103,7 @@ public:
 
     // AbstractResource
 
-    virtual css::uno::Reference<css::drawing::framework::XResourceId> 
getResourceId() override;
+    virtual rtl::Reference<sd::framework::ResourceId> getResourceId() override;
 
     virtual bool isAnchorOnly() override;
 
@@ -120,7 +120,7 @@ public:
     virtual void SAL_CALL keyReleased (const css::awt::KeyEvent& rEvent) 
override;
 
 private:
-    css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
+    rtl::Reference<sd::framework::ResourceId> mxViewId;
     ::rtl::Reference<PresenterController> mpPresenterController;
     css::uno::Reference<css::awt::XWindow> mxParentWindow;
     css::uno::Reference<css::rendering::XCanvas> mxCanvas;
diff --git a/sd/source/console/PresenterPaneBase.cxx 
b/sd/source/console/PresenterPaneBase.cxx
index 7371c3626ddc..6c85e8a1dd6b 100644
--- a/sd/source/console/PresenterPaneBase.cxx
+++ b/sd/source/console/PresenterPaneBase.cxx
@@ -100,7 +100,7 @@ const rtl::Reference<PresenterPaneBorderPainter>&
 }
 
 void PresenterPaneBase::initialize(
-    const css::uno::Reference<css::drawing::framework::XResourceId>& rxPaneId,
+    const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
     const css::uno::Reference<css::awt::XWindow>& rxParentWindow,
     const css::uno::Reference<css::rendering::XCanvas>& rxParentCanvas,
     const rtl::Reference<PresenterPaneBorderPainter>& rxBorderPainter,
@@ -140,7 +140,7 @@ void PresenterPaneBase::initialize(
 
 //----- AbstractResource 
-----------------------------------------------------------
 
-Reference<XResourceId> PresenterPaneBase::getResourceId()
+rtl::Reference<sd::framework::ResourceId> PresenterPaneBase::getResourceId()
 {
     {
         std::unique_lock l(m_aMutex);
diff --git a/sd/source/console/PresenterPaneBase.hxx 
b/sd/source/console/PresenterPaneBase.hxx
index 85e262a96448..b2604fce0ea9 100644
--- a/sd/source/console/PresenterPaneBase.hxx
+++ b/sd/source/console/PresenterPaneBase.hxx
@@ -63,7 +63,7 @@ public:
     void SetTitle (const OUString& rsTitle);
     const rtl::Reference<PresenterPaneBorderPainter>& GetPaneBorderPainter() 
const;
 
-    void initialize(const 
css::uno::Reference<css::drawing::framework::XResourceId>& rxPaneId,
+    void initialize(const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
                     const css::uno::Reference<css::awt::XWindow>& 
rxParentWindow,
                     const css::uno::Reference<css::rendering::XCanvas>& 
rxParentCanvas,
                     const rtl::Reference<PresenterPaneBorderPainter>& 
rxBorderPainter,
@@ -71,7 +71,7 @@ public:
 
     // AbstractResourceI
 
-    virtual css::uno::Reference<css::drawing::framework::XResourceId> 
getResourceId() override;
+    virtual rtl::Reference<sd::framework::ResourceId> getResourceId() override;
 
     virtual bool isAnchorOnly() override;
 
@@ -96,7 +96,7 @@ protected:
     css::uno::Reference<css::rendering::XCanvas> mxBorderCanvas;
     css::uno::Reference<css::awt::XWindow> mxContentWindow;
     css::uno::Reference<css::rendering::XCanvas> mxContentCanvas;
-    css::uno::Reference<css::drawing::framework::XResourceId> mxPaneId;
+    rtl::Reference<sd::framework::ResourceId> mxPaneId;
     rtl::Reference<PresenterPaneBorderPainter> mxBorderPainter;
     OUString msTitle;
     css::uno::Reference<css::uno::XComponentContext> mxComponentContext;
diff --git a/sd/source/console/PresenterPaneContainer.cxx 
b/sd/source/console/PresenterPaneContainer.cxx
index 85c219d2251b..5c5184ce1308 100644
--- a/sd/source/console/PresenterPaneContainer.cxx
+++ b/sd/source/console/PresenterPaneContainer.cxx
@@ -36,7 +36,7 @@ PresenterPaneContainer::~PresenterPaneContainer()
 }
 
 void PresenterPaneContainer::PreparePane (
-    const Reference<XResourceId>& rxPaneId,
+    const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
     const OUString& rsViewURL,
     const OUString& rsTitle,
     const OUString& rsAccessibleTitle,
@@ -89,7 +89,7 @@ PresenterPaneContainer::SharedPaneDescriptor
     if (rxPane.is())
     {
         OUString sPaneURL;
-        Reference<XResourceId> xPaneId (rxPane->getResourceId());
+        rtl::Reference<sd::framework::ResourceId> xPaneId 
(rxPane->getResourceId());
         if (xPaneId.is())
             sPaneURL = xPaneId->getResourceURL();
 
@@ -116,7 +116,7 @@ PresenterPaneContainer::SharedPaneDescriptor
 
 PresenterPaneContainer::SharedPaneDescriptor
     PresenterPaneContainer::StoreBorderWindow(
-        const Reference<XResourceId>& rxPaneId,
+        const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
         const Reference<awt::XWindow>& rxBorderWindow)
 {
     // The content window may not be present.  Use the resource URL of the
@@ -144,10 +144,10 @@ PresenterPaneContainer::SharedPaneDescriptor
     if (rxView.is())
     {
         OUString sPaneURL;
-        Reference<XResourceId> xViewId (rxView->getResourceId());
+        rtl::Reference<sd::framework::ResourceId> xViewId 
(rxView->getResourceId());
         if (xViewId.is())
         {
-            Reference<XResourceId> xPaneId (xViewId->getAnchor());
+            rtl::Reference<sd::framework::ResourceId> xPaneId 
(xViewId->getAnchor());
             if (xPaneId.is())
                 sPaneURL = xPaneId->getResourceURL();
         }
@@ -172,7 +172,7 @@ PresenterPaneContainer::SharedPaneDescriptor
 }
 
 PresenterPaneContainer::SharedPaneDescriptor
-    PresenterPaneContainer::RemovePane (const Reference<XResourceId>& rxPaneId)
+    PresenterPaneContainer::RemovePane (const 
rtl::Reference<sd::framework::ResourceId>& rxPaneId)
 {
     SharedPaneDescriptor pDescriptor (FindPaneId(rxPaneId));
     if (pDescriptor)
@@ -196,10 +196,10 @@ PresenterPaneContainer::SharedPaneDescriptor
     if (rxView.is())
     {
         OUString sPaneURL;
-        Reference<XResourceId> xViewId (rxView->getResourceId());
+        rtl::Reference<sd::framework::ResourceId> xViewId 
(rxView->getResourceId());
         if (xViewId.is())
         {
-            Reference<XResourceId> xPaneId (xViewId->getAnchor());
+            rtl::Reference<sd::framework::ResourceId> xPaneId 
(xViewId->getAnchor());
             if (xPaneId.is())
                 sPaneURL = xPaneId->getResourceURL();
         }
@@ -245,7 +245,7 @@ PresenterPaneContainer::SharedPaneDescriptor 
PresenterPaneContainer::FindPaneURL
 }
 
 PresenterPaneContainer::SharedPaneDescriptor 
PresenterPaneContainer::FindPaneId (
-    const Reference<XResourceId>& rxPaneId)
+    const rtl::Reference<sd::framework::ResourceId>& rxPaneId)
 {
     if ( ! rxPaneId.is())
         return SharedPaneDescriptor();
diff --git a/sd/source/console/PresenterPaneContainer.hxx 
b/sd/source/console/PresenterPaneContainer.hxx
index dc9217ca936c..898389716b5f 100644
--- a/sd/source/console/PresenterPaneContainer.hxx
+++ b/sd/source/console/PresenterPaneContainer.hxx
@@ -23,7 +23,7 @@
 #include "PresenterPaneBase.hxx"
 #include <PresenterHelper.hxx>
 #include <com/sun/star/awt/XWindow.hpp>
-#include <com/sun/star/drawing/framework/XResourceId.hpp>
+#include <ResourceId.hxx>
 #include <framework/AbstractView.hxx>
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <cppuhelper/basemutex.hxx>
@@ -70,7 +70,7 @@ public:
     class PaneDescriptor
     {
     public:
-        css::uno::Reference<css::drawing::framework::XResourceId> mxPaneId;
+        rtl::Reference<sd::framework::ResourceId> mxPaneId;
         OUString msViewURL;
         ::rtl::Reference<PresenterPaneBase> mxPane;
         rtl::Reference<sd::framework::AbstractView> mxView;
@@ -92,7 +92,7 @@ public:
     PaneList maPanes;
 
     void PreparePane (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxPaneId,
+        const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
         const OUString& rsViewURL,
         const OUString& rsTitle,
         const OUString& rsAccessibleTitle,
@@ -103,14 +103,14 @@ public:
         const rtl::Reference<PresenterPaneBase>& rxPane);
 
     SharedPaneDescriptor StoreBorderWindow(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxPaneId,
+        const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
         const css::uno::Reference<css::awt::XWindow>& rxBorderWindow);
 
     SharedPaneDescriptor StoreView (
         const rtl::Reference<sd::framework::AbstractView>& rxView);
 
     SharedPaneDescriptor RemovePane (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxPaneId);
+        const rtl::Reference<sd::framework::ResourceId>& rxPaneId);
 
     SharedPaneDescriptor RemoveView (
         const rtl::Reference<sd::framework::AbstractView>& rxView);
@@ -133,8 +133,7 @@ public:
 
     /** Find the pane whose resource id is identical to the given one.
     */
-    SharedPaneDescriptor FindPaneId (const css::uno::Reference<
-        css::drawing::framework::XResourceId>& rxPaneId);
+    SharedPaneDescriptor FindPaneId (const 
rtl::Reference<sd::framework::ResourceId>& rxPaneId);
 
     SharedPaneDescriptor FindViewURL (const OUString& rsViewURL);
 
diff --git a/sd/source/console/PresenterPaneFactory.cxx 
b/sd/source/console/PresenterPaneFactory.cxx
index cef85cc40efb..d6b497910acf 100644
--- a/sd/source/console/PresenterPaneFactory.cxx
+++ b/sd/source/console/PresenterPaneFactory.cxx
@@ -109,7 +109,7 @@ void 
PresenterPaneFactory::disposing(std::unique_lock<std::mutex>&)
 //----- AbstractPaneFactory 
----------------------------------------------------------
 
 rtl::Reference<sd::framework::AbstractResource> 
PresenterPaneFactory::createResource (
-    const Reference<XResourceId>& rxPaneId)
+    const rtl::Reference<sd::framework::ResourceId>& rxPaneId)
 {
     {
         std::unique_lock l(m_aMutex);
@@ -189,7 +189,7 @@ void PresenterPaneFactory::releaseResource (const 
rtl::Reference<sd::framework::
 
 
 rtl::Reference<sd::framework::AbstractResource> 
PresenterPaneFactory::CreatePane (
-    const Reference<XResourceId>& rxPaneId)
+    const rtl::Reference<sd::framework::ResourceId>& rxPaneId)
 {
     if ( ! rxPaneId.is())
         return nullptr;
@@ -222,7 +222,7 @@ rtl::Reference<sd::framework::AbstractResource> 
PresenterPaneFactory::CreatePane
 }
 
 rtl::Reference<sd::framework::AbstractResource> 
PresenterPaneFactory::CreatePane (
-    const Reference<XResourceId>& rxPaneId,
+    const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
     const rtl::Reference<sd::framework::AbstractPane>& rxParentPane,
     const bool bIsSpritePane)
 {
diff --git a/sd/source/console/PresenterPaneFactory.hxx 
b/sd/source/console/PresenterPaneFactory.hxx
index dfc4d46b6954..65559543331b 100644
--- a/sd/source/console/PresenterPaneFactory.hxx
+++ b/sd/source/console/PresenterPaneFactory.hxx
@@ -71,8 +71,7 @@ public:
 
     virtual rtl::Reference<sd::framework::AbstractResource>
         createResource (
-            const css::uno::Reference<
-                css::drawing::framework::XResourceId>& rxPaneId) override;
+            const rtl::Reference<sd::framework::ResourceId>& rxPaneId) 
override;
 
     virtual void
         releaseResource (
@@ -95,9 +94,9 @@ private:
     void Register (const rtl::Reference<::sd::DrawController>& rxController);
 
     rtl::Reference<sd::framework::AbstractResource> CreatePane (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxPaneId);
+        const rtl::Reference<sd::framework::ResourceId>& rxPaneId);
     rtl::Reference<sd::framework::AbstractResource> CreatePane (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxPaneId,
+        const rtl::Reference<sd::framework::ResourceId>& rxPaneId,
         const rtl::Reference<sd::framework::AbstractPane>& rxParentPane,
         const bool bIsSpritePane);
 };
diff --git a/sd/source/console/PresenterScreen.cxx 
b/sd/source/console/PresenterScreen.cxx
index bded1eacf40c..e82fa3779ef6 100644
--- a/sd/source/console/PresenterScreen.cxx
+++ b/sd/source/console/PresenterScreen.cxx
@@ -360,7 +360,7 @@ void PresenterScreen::InitializePresenterScreen()
         mxConfigurationControllerWeak = xCC.get();
 
         Reference<XComponentContext> xContext(mxContextWeak);
-        Reference<drawing::framework::XResourceId> xMainPaneId(
+        rtl::Reference<sd::framework::ResourceId> xMainPaneId(
             GetMainPaneId(xPresentation, xContext));
         // An empty reference means that the presenter screen can
         // not or must not be displayed.
@@ -556,7 +556,7 @@ sal_Int32 PresenterScreen::GetPresenterScreenFromScreen( 
sal_Int32 nPresentation
     return nPresenterScreenNumber;
 }
 
-Reference<drawing::framework::XResourceId> PresenterScreen::GetMainPaneId (
+rtl::Reference<sd::framework::ResourceId> PresenterScreen::GetMainPaneId (
     const Reference<presentation::XPresentation2>& rxPresentation,
     const Reference<XComponentContext>& xContext) const
 {
@@ -663,7 +663,7 @@ void PresenterScreen::SetupViewFactory (const 
Reference<XComponentContext>& rxCo
 
 void PresenterScreen::SetupConfiguration (
     const Reference<XComponentContext>& rxContext,
-    const Reference<XResourceId>& rxAnchorId)
+    const rtl::Reference<sd::framework::ResourceId>& rxAnchorId)
 {
     try
     {
@@ -687,7 +687,7 @@ void PresenterScreen::ProcessLayout (
     PresenterConfigurationAccess& rConfiguration,
     std::u16string_view rsLayoutName,
     const Reference<XComponentContext>& rxContext,
-    const Reference<XResourceId>& rxAnchorId)
+    const rtl::Reference<sd::framework::ResourceId>& rxAnchorId)
 {
     try
     {
@@ -769,7 +769,7 @@ void PresenterScreen::ProcessViewDescriptions (
 
 void PresenterScreen::ProcessComponent (
     const ::std::vector<Any>& rValues,
-    const Reference<XResourceId>& rxAnchorId)
+    const rtl::Reference<sd::framework::ResourceId>& rxAnchorId)
 {
     if (rValues.size() != 6)
         return;
@@ -829,7 +829,7 @@ void PresenterScreen::ProcessViewDescription (
 }
 
 void PresenterScreen::SetupView(
-    const Reference<XResourceId>& rxAnchorId,
+    const rtl::Reference<sd::framework::ResourceId>& rxAnchorId,
     const OUString& rsPaneURL,
     const OUString& rsViewURL,
     const PresenterPaneContainer::ViewInitializationFunction& 
rViewInitialization)
@@ -838,7 +838,7 @@ void PresenterScreen::SetupView(
     if (!xCC.is())
         return;
 
-    Reference<XResourceId> xPaneId (new 
sd::framework::ResourceId(rsPaneURL,rxAnchorId));
+    rtl::Reference<sd::framework::ResourceId> xPaneId (new 
sd::framework::ResourceId(rsPaneURL,rxAnchorId));
     // Look up the view descriptor.
     ViewDescriptor aViewDescriptor;
     ViewDescriptorContainer::const_iterator iDescriptor 
(maViewDescriptors.find(rsViewURL));
diff --git a/sd/source/console/PresenterScreen.hxx 
b/sd/source/console/PresenterScreen.hxx
index 07b50e5b130f..7076924c2db5 100644
--- a/sd/source/console/PresenterScreen.hxx
+++ b/sd/source/console/PresenterScreen.hxx
@@ -178,7 +178,7 @@ private:
     */
     void SetupConfiguration (
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxAnchorId);
+        const rtl::Reference<sd::framework::ResourceId>& rxAnchorId);
 
     /** Read one layout from the configuration and make resource activation
         requests to bring it on to the screen.  When one layout references a
@@ -188,14 +188,14 @@ private:
         PresenterConfigurationAccess& rConfiguration,
         std::u16string_view rsLayoutName,
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxAnchorId);
+        const rtl::Reference<sd::framework::ResourceId>& rxAnchorId);
 
     /** Called by ProcessLayout for a single entry of a Layouts
         configuration list.
     */
     void ProcessComponent (
         const ::std::vector<css::uno::Any>& rValues,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxAnchorId);
+        const rtl::Reference<sd::framework::ResourceId>& rxAnchorId);
 
     /** Read the view descriptions from the configuration.
     */
@@ -208,7 +208,7 @@ private:
         const ::std::vector<css::uno::Any>& rValues);
 
     void SetupView (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxAnchorId,
+        const rtl::Reference<sd::framework::ResourceId>& rxAnchorId,
         const OUString& rsPaneURL,
         const OUString& rsViewURL,
         const PresenterPaneContainer::ViewInitializationFunction& 
rViewInitialization);
@@ -227,7 +227,7 @@ private:
     /** Create a resource id for the full screen background pane so that it
         is displayed on another screen than the full screen presentation.
     */
-    css::uno::Reference<css::drawing::framework::XResourceId> GetMainPaneId (
+    rtl::Reference<sd::framework::ResourceId> GetMainPaneId (
         const css::uno::Reference<css::presentation::XPresentation2>& 
rxPresentation,
         const css::uno::Reference<css::uno::XComponentContext>& xContext) 
const;
 };
diff --git a/sd/source/console/PresenterSlidePreview.cxx 
b/sd/source/console/PresenterSlidePreview.cxx
index ac8b511cee8d..b8013716cbd1 100644
--- a/sd/source/console/PresenterSlidePreview.cxx
+++ b/sd/source/console/PresenterSlidePreview.cxx
@@ -42,7 +42,7 @@ namespace sdext::presenter {
 
 PresenterSlidePreview::PresenterSlidePreview (
     const Reference<XComponentContext>& rxContext,
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane,
     const ::rtl::Reference<PresenterController>& rpPresenterController)
     : mpPresenterController(rpPresenterController),
@@ -108,7 +108,7 @@ void 
PresenterSlidePreview::disposing(std::unique_lock<std::mutex>&)
 
 //----- AbstractResource 
-----------------------------------------------------------
 
-Reference<XResourceId> PresenterSlidePreview::getResourceId()
+rtl::Reference<sd::framework::ResourceId> 
PresenterSlidePreview::getResourceId()
 {
     return mxViewId;
 }
diff --git a/sd/source/console/PresenterSlidePreview.hxx 
b/sd/source/console/PresenterSlidePreview.hxx
index 7169acf6cf77..362e3b606af3 100644
--- a/sd/source/console/PresenterSlidePreview.hxx
+++ b/sd/source/console/PresenterSlidePreview.hxx
@@ -54,7 +54,7 @@ class PresenterSlidePreview
 public:
     PresenterSlidePreview (
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane,
         const ::rtl::Reference<PresenterController>& rpPresenterController);
     virtual ~PresenterSlidePreview() override;
@@ -66,7 +66,7 @@ public:
 
     // AbstractResource
 
-    virtual css::uno::Reference<css::drawing::framework::XResourceId> 
getResourceId() override;
+    virtual rtl::Reference<sd::framework::ResourceId> getResourceId() override;
 
     virtual bool isAnchorOnly() override;
 
@@ -98,7 +98,7 @@ protected:
     ::rtl::Reference<PresenterController> mpPresenterController;
 
 private:
-    css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
+    rtl::Reference<sd::framework::ResourceId> mxViewId;
     rtl::Reference<sd::presenter::SlideRenderer> mxPreviewRenderer;
 
     /** This Image holds the preview of the current slide.  After resize
diff --git a/sd/source/console/PresenterSlideShowView.cxx 
b/sd/source/console/PresenterSlideShowView.cxx
index 8d02cbe705e7..9fc93a899020 100644
--- a/sd/source/console/PresenterSlideShowView.cxx
+++ b/sd/source/console/PresenterSlideShowView.cxx
@@ -77,7 +77,7 @@ namespace sdext::presenter {
 
 PresenterSlideShowView::PresenterSlideShowView (
     css::uno::Reference<css::uno::XComponentContext> xContext,
-    css::uno::Reference<css::drawing::framework::XResourceId> xViewId,
+    rtl::Reference<sd::framework::ResourceId> xViewId,
     const rtl::Reference<::sd::DrawController>& rxController,
     ::rtl::Reference<PresenterController> xPresenterController)
     : mxComponentContext(std::move(xContext)),
@@ -619,7 +619,7 @@ void SAL_CALL PresenterSlideShowView::windowHidden (const 
lang::EventObject&) {}
 
 //----- XView -----------------------------------------------------------------
 
-Reference<XResourceId> PresenterSlideShowView::getResourceId()
+rtl::Reference<sd::framework::ResourceId> 
PresenterSlideShowView::getResourceId()
 {
     return mxViewId;
 }
diff --git a/sd/source/console/PresenterSlideShowView.hxx 
b/sd/source/console/PresenterSlideShowView.hxx
index b28a8c0b5816..cb6f43c01b51 100644
--- a/sd/source/console/PresenterSlideShowView.hxx
+++ b/sd/source/console/PresenterSlideShowView.hxx
@@ -29,7 +29,7 @@
 #include <com/sun/star/awt/XWindowListener.hpp>
 #include <com/sun/star/drawing/XDrawView.hpp>
 #include <framework/AbstractPane.hxx>
-#include <com/sun/star/drawing/framework/XResourceId.hpp>
+#include <ResourceId.hxx>
 #include <framework/AbstractView.hxx>
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/presentation/XSlideShowController.hpp>
@@ -59,7 +59,7 @@ class PresenterSlideShowView
 public:
     PresenterSlideShowView (
         css::uno::Reference<css::uno::XComponentContext> xContext,
-        css::uno::Reference<css::drawing::framework::XResourceId> xViewId,
+        rtl::Reference<sd::framework::ResourceId> xViewId,
         const rtl::Reference<::sd::DrawController>& rxController,
         ::rtl::Reference<PresenterController> xPresenterController);
     virtual ~PresenterSlideShowView() override;
@@ -153,7 +153,7 @@ public:
 
     // XView
 
-    virtual css::uno::Reference<css::drawing::framework::XResourceId>
+    virtual rtl::Reference<sd::framework::ResourceId>
         getResourceId() override;
 
     virtual bool isAnchorOnly() override;
@@ -174,7 +174,7 @@ public:
 private:
     css::uno::Reference<css::uno::XComponentContext> mxComponentContext;
     ::rtl::Reference<PresenterController> mpPresenterController;
-    css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
+    rtl::Reference<sd::framework::ResourceId> mxViewId;
     rtl::Reference<::sd::DrawController> mxController;
     css::uno::Reference<css::presentation::XSlideShowController> 
mxSlideShowController;
     css::uno::Reference<css::presentation::XSlideShow> mxSlideShow;
diff --git a/sd/source/console/PresenterSlideSorter.cxx 
b/sd/source/console/PresenterSlideSorter.cxx
index 1b877194873a..86b37aba4fe0 100644
--- a/sd/source/console/PresenterSlideSorter.cxx
+++ b/sd/source/console/PresenterSlideSorter.cxx
@@ -227,7 +227,7 @@ private:
 
 PresenterSlideSorter::PresenterSlideSorter (
     const Reference<uno::XComponentContext>& rxContext,
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const rtl::Reference<::sd::DrawController>& rxController,
     const ::rtl::Reference<PresenterController>& rpPresenterController)
     : mxComponentContext(rxContext),
@@ -545,7 +545,7 @@ void SAL_CALL PresenterSlideSorter::mouseDragged (const 
css::awt::MouseEvent&) {
 
 //----- AbstractResource 
-----------------------------------------------------------
 
-Reference<XResourceId> PresenterSlideSorter::getResourceId()
+rtl::Reference<sd::framework::ResourceId> PresenterSlideSorter::getResourceId()
 {
     {
         std::unique_lock l(m_aMutex);
diff --git a/sd/source/console/PresenterSlideSorter.hxx 
b/sd/source/console/PresenterSlideSorter.hxx
index 55799a8f17d6..c73cd0d173ab 100644
--- a/sd/source/console/PresenterSlideSorter.hxx
+++ b/sd/source/console/PresenterSlideSorter.hxx
@@ -31,7 +31,7 @@
 #include <com/sun/star/beans/XPropertyChangeListener.hpp>
 #include <com/sun/star/drawing/XDrawView.hpp>
 #include <framework/AbstractView.hxx>
-#include <com/sun/star/drawing/framework/XResourceId.hpp>
+#include <ResourceId.hxx>
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/geometry/RealRectangle2D.hpp>
 #include <com/sun/star/rendering/XPolyPolygon2D.hpp>
@@ -62,7 +62,7 @@ class PresenterSlideSorter
 public:
     PresenterSlideSorter (
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const rtl::Reference<::sd::DrawController>& rxController,
         const ::rtl::Reference<PresenterController>& rpPresenterController);
     virtual ~PresenterSlideSorter() override;
@@ -107,7 +107,7 @@ public:
 
     // AbstractResource
 
-    virtual css::uno::Reference<css::drawing::framework::XResourceId> 
getResourceId() override;
+    virtual rtl::Reference<sd::framework::ResourceId> getResourceId() override;
 
     virtual bool isAnchorOnly() override;
 
@@ -130,7 +130,7 @@ public:
 
 private:
     css::uno::Reference<css::uno::XComponentContext> mxComponentContext;
-    css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
+    rtl::Reference<sd::framework::ResourceId> mxViewId;
     rtl::Reference<sd::framework::AbstractPane> mxPane;
     css::uno::Reference<css::rendering::XCanvas> mxCanvas;
     css::uno::Reference<css::awt::XWindow> mxWindow;
diff --git a/sd/source/console/PresenterToolBar.cxx 
b/sd/source/console/PresenterToolBar.cxx
index 835385f0b8d0..2b2928d7cbea 100644
--- a/sd/source/console/PresenterToolBar.cxx
+++ b/sd/source/console/PresenterToolBar.cxx
@@ -923,7 +923,7 @@ void PresenterToolBar::ThrowIfDisposed() const
 
 PresenterToolBarView::PresenterToolBarView (
     const Reference<XComponentContext>& rxContext,
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const rtl::Reference<::sd::DrawController>& rxController,
     const ::rtl::Reference<PresenterController>& rpPresenterController)
     : mxViewId(rxViewId),
@@ -1010,9 +1010,9 @@ void SAL_CALL PresenterToolBarView::disposing (const 
lang::EventObject& rEventOb
         mxWindow = nullptr;
 }
 
-//----- XResourceId -----------------------------------------------------------
+//----- ResourceId -----------------------------------------------------------
 
-Reference<XResourceId> PresenterToolBarView::getResourceId()
+rtl::Reference<sd::framework::ResourceId> PresenterToolBarView::getResourceId()
 {
     return mxViewId;
 }
diff --git a/sd/source/console/PresenterToolBar.hxx 
b/sd/source/console/PresenterToolBar.hxx
index e5ff4c99958f..7eb139595abd 100644
--- a/sd/source/console/PresenterToolBar.hxx
+++ b/sd/source/console/PresenterToolBar.hxx
@@ -32,7 +32,7 @@
 #include <com/sun/star/drawing/XDrawPage.hpp>
 #include <com/sun/star/drawing/XDrawView.hpp>
 #include <framework/AbstractView.hxx>
-#include <com/sun/star/drawing/framework/XResourceId.hpp>
+#include <ResourceId.hxx>
 #include <com/sun/star/frame/XController.hpp>
 
 #include <functional>
@@ -193,7 +193,7 @@ class PresenterToolBarView
 public:
     explicit PresenterToolBarView (
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const ::rtl::Reference<::sd::DrawController>& rxController,
         const ::rtl::Reference<PresenterController>& rpPresenterController);
     virtual ~PresenterToolBarView() override;
@@ -216,7 +216,7 @@ public:
 
     // AbstractResource
 
-    virtual css::uno::Reference<css::drawing::framework::XResourceId> 
getResourceId() override;
+    virtual rtl::Reference<sd::framework::ResourceId> getResourceId() override;
 
     virtual bool isAnchorOnly() override;
 
@@ -230,7 +230,7 @@ public:
 private:
     //    css::uno::Reference<css::uno::XComponentContext> mxComponentContext;
     rtl::Reference<sd::framework::AbstractPane> mxPane;
-    css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
+    rtl::Reference<sd::framework::ResourceId> mxViewId;
     css::uno::Reference<css::awt::XWindow> mxWindow;
     css::uno::Reference<css::rendering::XCanvas> mxCanvas;
     ::rtl::Reference<PresenterController> mpPresenterController;
diff --git a/sd/source/console/PresenterViewFactory.cxx 
b/sd/source/console/PresenterViewFactory.cxx
index 7db4cb2001cc..b1ddb8917157 100644
--- a/sd/source/console/PresenterViewFactory.cxx
+++ b/sd/source/console/PresenterViewFactory.cxx
@@ -46,7 +46,7 @@ class NextSlidePreview : public PresenterSlidePreview
 public:
     NextSlidePreview (
         const css::uno::Reference<css::uno::XComponentContext>& rxContext,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane,
         const ::rtl::Reference<PresenterController>& rpPresenterController)
         : PresenterSlidePreview(rxContext, rxViewId, rxAnchorPane, 
rpPresenterController)
@@ -173,7 +173,7 @@ void 
PresenterViewFactory::disposing(std::unique_lock<std::mutex>&)
 //----- XViewFactory ----------------------------------------------------------
 
 rtl::Reference<sd::framework::AbstractResource> 
PresenterViewFactory::createResource (
-    const Reference<XResourceId>& rxViewId)
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId)
 {
     {
         std::unique_lock l(m_aMutex);
@@ -238,7 +238,7 @@ void PresenterViewFactory::releaseResource (const 
rtl::Reference<sd::framework::
     else
     {
         // Put cacheable views in the cache.
-        Reference<XResourceId> xViewId (rxView->getResourceId());
+        rtl::Reference<sd::framework::ResourceId> xViewId 
(rxView->getResourceId());
         if (xViewId.is())
         {
             rtl::Reference<sd::framework::AbstractPane> xAnchorPane = 
dynamic_cast<sd::framework::AbstractPane*>(
@@ -252,7 +252,7 @@ void PresenterViewFactory::releaseResource (const 
rtl::Reference<sd::framework::
 
 
 rtl::Reference<sd::framework::AbstractResource> 
PresenterViewFactory::GetViewFromCache(
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane) const
 {
     if (mpResourceCache == nullptr)
@@ -288,7 +288,7 @@ rtl::Reference<sd::framework::AbstractResource> 
PresenterViewFactory::GetViewFro
 }
 
 rtl::Reference<sd::framework::AbstractResource> 
PresenterViewFactory::CreateView(
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane)
 {
     rtl::Reference<sd::framework::AbstractView> xView;
@@ -336,7 +336,7 @@ rtl::Reference<sd::framework::AbstractResource> 
PresenterViewFactory::CreateView
 }
 
 rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateSlideShowView(
-    const Reference<XResourceId>& rxViewId) const
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId) const
 {
     if ( ! mxConfigurationController.is())
         return nullptr;
@@ -362,7 +362,7 @@ rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateSlideSho
 }
 
 rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateSlidePreviewView(
-    const Reference<XResourceId>& rxViewId,
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId,
     const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane) const
 {
     rtl::Reference<sd::framework::AbstractView> xView;
@@ -390,7 +390,7 @@ rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateSlidePre
 }
 
 rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateToolBarView(
-    const Reference<XResourceId>& rxViewId) const
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId) const
 {
     return new PresenterToolBarView(
         mxComponentContext,
@@ -400,7 +400,7 @@ rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateToolBarV
 }
 
 rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateNotesView(
-    const Reference<XResourceId>& rxViewId) const
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId) const
 {
     rtl::Reference<sd::framework::AbstractView> xView;
 
@@ -427,7 +427,7 @@ rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateNotesVie
 }
 
 rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateSlideSorterView(
-    const Reference<XResourceId>& rxViewId) const
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId) const
 {
     rtl::Reference<sd::framework::AbstractView> xView;
 
@@ -455,7 +455,7 @@ rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateSlideSor
 }
 
 rtl::Reference<sd::framework::AbstractView> 
PresenterViewFactory::CreateHelpView(
-    const Reference<XResourceId>& rxViewId) const
+    const rtl::Reference<sd::framework::ResourceId>& rxViewId) const
 {
     return new PresenterHelpView(
         mxComponentContext,
diff --git a/sd/source/console/PresenterViewFactory.hxx 
b/sd/source/console/PresenterViewFactory.hxx
index 390bc8917b88..e61996c94af0 100644
--- a/sd/source/console/PresenterViewFactory.hxx
+++ b/sd/source/console/PresenterViewFactory.hxx
@@ -97,7 +97,7 @@ public:
 
     virtual rtl::Reference<sd::framework::AbstractResource>
         createResource (
-            const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId) override;
+            const rtl::Reference<sd::framework::ResourceId>& rxViewId) 
override;
 
     virtual void
         releaseResource (
@@ -121,29 +121,29 @@ private:
     void Register (const ::rtl::Reference<::sd::DrawController>& rxController);
 
     rtl::Reference<sd::framework::AbstractView> CreateSlideShowView(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId) const;
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId) const;
 
     rtl::Reference<sd::framework::AbstractView> CreateSlidePreviewView(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const rtl::Reference<sd::framework::AbstractPane>& rxPane) const;
 
     rtl::Reference<sd::framework::AbstractView> CreateToolBarView(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId) const;
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId) const;
 
     rtl::Reference<sd::framework::AbstractView> CreateNotesView(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId) const;
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId) const;
 
     rtl::Reference<sd::framework::AbstractView> CreateSlideSorterView(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId) const;
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId) const;
 
     rtl::Reference<sd::framework::AbstractView> CreateHelpView(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId) const;
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId) const;
 
     rtl::Reference<sd::framework::AbstractResource> GetViewFromCache (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane) const;
     rtl::Reference<sd::framework::AbstractResource> CreateView(
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxViewId,
+        const rtl::Reference<sd::framework::ResourceId>& rxViewId,
         const rtl::Reference<sd::framework::AbstractPane>& rxAnchorPane);
 };
 
diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx
index 44d075df36d0..22d497ebf6ad 100644
--- a/sd/source/ui/app/sdmod1.cxx
+++ b/sd/source/ui/app/sdmod1.cxx
@@ -54,6 +54,7 @@
 #include <FactoryIds.hxx>
 #include <memory>
 #include <slideshow.hxx>
+#include <ResourceId.hxx>
 
 #include <officecfg/Office/Draw.hxx>
 #include <officecfg/Office/Impress.hxx>
diff --git a/sd/source/ui/docshell/docshel4.cxx 
b/sd/source/ui/docshell/docshel4.cxx
index dca885bcd2cd..59571a5c485b 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -80,6 +80,7 @@
 #include <Window.hxx>
 #include <svl/intitem.hxx>
 #include <DrawController.hxx>
+#include <ResourceId.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
diff --git a/sd/source/ui/framework/configuration/Configuration.cxx 
b/sd/source/ui/framework/configuration/Configuration.cxx
index e52263799861..30e47c4bf040 100644
--- a/sd/source/ui/framework/configuration/Configuration.cxx
+++ b/sd/source/ui/framework/configuration/Configuration.cxx
@@ -35,13 +35,13 @@ using namespace ::com::sun::star::drawing::framework;
 using ::sd::framework::FrameworkHelper;
 
 namespace {
-/** Use the XResourceId::compareTo() method to implement a compare operator
+/** Use the ResourceId::compareTo() method to implement a compare operator
     for STL containers.
 */
 class XResourceIdLess
 {
 public:
-    bool operator () (const Reference<XResourceId>& rId1, const 
Reference<XResourceId>& rId2) const
+    bool operator () (const rtl::Reference<sd::framework::ResourceId>& rId1, 
const rtl::Reference<sd::framework::ResourceId>& rId2) const
     {
         return rId1->compareTo(rId2) == -1;
     }
@@ -52,7 +52,7 @@ public:
 namespace sd::framework {
 
 class Configuration::ResourceContainer
-    : public ::std::set<Reference<XResourceId>, XResourceIdLess>
+    : public ::std::set<rtl::Reference<ResourceId>, XResourceIdLess>
 {
 public:
     ResourceContainer() {}
@@ -91,7 +91,7 @@ void Configuration::disposing(std::unique_lock<std::mutex>&)
 
 //----- Configuration --------------------------------------------------------
 
-void Configuration::addResource (const Reference<XResourceId>& rxResourceId)
+void Configuration::addResource (const rtl::Reference<ResourceId>& 
rxResourceId)
 {
     ThrowIfDisposed();
 
@@ -106,7 +106,7 @@ void Configuration::addResource (const 
Reference<XResourceId>& rxResourceId)
     }
 }
 
-void Configuration::removeResource (const Reference<XResourceId>& rxResourceId)
+void Configuration::removeResource (const rtl::Reference<ResourceId>& 
rxResourceId)
 {
     ThrowIfDisposed();
 
@@ -123,8 +123,8 @@ void Configuration::removeResource (const 
Reference<XResourceId>& rxResourceId)
     }
 }
 
-Sequence<Reference<XResourceId> > Configuration::getResources (
-    const Reference<XResourceId>& rxAnchorId,
+std::vector<rtl::Reference<ResourceId> > Configuration::getResources (
+    const rtl::Reference<ResourceId>& rxAnchorId,
     std::u16string_view rsResourceURLPrefix,
     AnchorBindingMode eMode)
 {
@@ -134,7 +134,7 @@ Sequence<Reference<XResourceId> > 
Configuration::getResources (
     const bool bFilterResources (!rsResourceURLPrefix.empty());
 
     // Collect the matching resources in a vector.
-    ::std::vector<Reference<XResourceId> > aResources;
+    ::std::vector<rtl::Reference<ResourceId> > aResources;
     for (const auto& rxResource : *mpResourceContainer)
     {
         if ( ! rxResource->isBoundTo(rxAnchorId,eMode))
@@ -161,10 +161,10 @@ Sequence<Reference<XResourceId> > 
Configuration::getResources (
         aResources.push_back(rxResource);
     }
 
-    return comphelper::containerToSequence(aResources);
+    return aResources;
 }
 
-bool Configuration::hasResource (const Reference<XResourceId>& rxResourceId)
+bool Configuration::hasResource (const rtl::Reference<ResourceId>& 
rxResourceId)
 {
     std::unique_lock aGuard (m_aMutex);
     ThrowIfDisposed();
@@ -215,7 +215,7 @@ void SAL_CALL Configuration::setName (const OUString&)
 }
 
 void Configuration::PostEvent (
-    const Reference<XResourceId>& rxResourceId,
+    const rtl::Reference<ResourceId>& rxResourceId,
     const bool bActivation)
 {
     OSL_ASSERT(rxResourceId.is());
@@ -259,10 +259,10 @@ bool AreConfigurationsEquivalent (
         return true;
 
     // Get the lists of resources from the two given configurations.
-    const Sequence<Reference<XResourceId> > aResources1(
+    const std::vector<rtl::Reference<ResourceId> > aResources1(
         rxConfiguration1->getResources(
             nullptr, u"", AnchorBindingMode_INDIRECT));
-    const Sequence<Reference<XResourceId> > aResources2(
+    const std::vector<rtl::Reference<ResourceId> > aResources2(
         rxConfiguration2->getResources(
             nullptr, u"", AnchorBindingMode_INDIRECT));
 
@@ -271,7 +271,7 @@ bool AreConfigurationsEquivalent (
     // Comparison of the two lists of resource ids relies on their
     // ordering.
     return std::equal(aResources1.begin(), aResources1.end(), 
aResources2.begin(), aResources2.end(),
-        [](const Reference<XResourceId>& a, const Reference<XResourceId>& b) {
+        [](const rtl::Reference<ResourceId>& a, const 
rtl::Reference<ResourceId>& b) {
             if (a.is() && b.is())
                 return a->compareTo(b) == 0;
             return a.is() == b.is();
diff --git a/sd/source/ui/framework/configuration/ConfigurationClassifier.cxx 
b/sd/source/ui/framework/configuration/ConfigurationClassifier.cxx
index 6b2a4766915d..5a3ab1370aa9 100644
--- a/sd/source/ui/framework/configuration/ConfigurationClassifier.cxx
+++ b/sd/source/ui/framework/configuration/ConfigurationClassifier.cxx
@@ -21,6 +21,7 @@
 
 #include <framework/FrameworkHelper.hxx>
 #include <framework/Configuration.hxx>
+#include <ResourceId.hxx>
 #include <sal/log.hxx>
 
 using namespace ::com::sun::star;
@@ -50,8 +51,8 @@ bool ConfigurationClassifier::Partition()
 }
 
 void ConfigurationClassifier::PartitionResources (
-    const css::uno::Sequence<Reference<XResourceId> >& rS1,
-    const css::uno::Sequence<Reference<XResourceId> >& rS2)
+    const std::vector<rtl::Reference<ResourceId> >& rS1,
+    const std::vector<rtl::Reference<ResourceId> >& rS2)
 {
     ResourceIdVector aC1minusC2;
     ResourceIdVector aC2minusC1;
@@ -81,18 +82,18 @@ void ConfigurationClassifier::PartitionResources (
 }
 
 void ConfigurationClassifier::ClassifyResources (
-    const css::uno::Sequence<Reference<XResourceId> >& rS1,
-    const css::uno::Sequence<Reference<XResourceId> >& rS2,
+    const std::vector<rtl::Reference<ResourceId> >& rS1,
+    const std::vector<rtl::Reference<ResourceId> >& rS2,
     ResourceIdVector& rS1minusS2,
     ResourceIdVector& rS2minusS1,
     ResourceIdVector& rS1andS2)
 {
     // Find all elements in rS1 and place them in rS1minusS2 or rS1andS2
     // depending on whether they are in rS2 or not.
-    for (const Reference<XResourceId>& rA1 : rS1)
+    for (const rtl::Reference<ResourceId>& rA1 : rS1)
     {
         bool bFound = std::any_of(rS2.begin(), rS2.end(),
-            [&rA1](const Reference<XResourceId>& rA2) {
+            [&rA1](const rtl::Reference<ResourceId>& rA2) {
                 return rA1->getResourceURL() == rA2->getResourceURL(); });
 
         if (bFound)
@@ -104,10 +105,10 @@ void ConfigurationClassifier::ClassifyResources (
     // Find all elements in rS2 that are not in rS1.  The elements that are
     // in both rS1 and rS2 have been handled above and are therefore ignored
     // here.
-    for (const Reference<XResourceId>& rA2 : rS2)
+    for (const rtl::Reference<ResourceId>& rA2 : rS2)
     {
         bool bFound = std::any_of(rS1.begin(), rS1.end(),
-            [&rA2](const Reference<XResourceId>& rA1) {
+            [&rA2](const rtl::Reference<ResourceId>& rA1) {
                 return rA2->getResourceURL() == rA1->getResourceURL(); });
 
         if ( ! bFound)
@@ -123,12 +124,12 @@ void ConfigurationClassifier::CopyResources (
     // Copy all resources bound to the ones in aC1minusC2Unique to rC1minusC2.
     for (const auto& rxResource : rSource)
     {
-        const Sequence<Reference<XResourceId> > aBoundResources (
+        const std::vector<rtl::Reference<ResourceId> > aBoundResources (
             rxConfiguration->getResources(
                 rxResource,
                 u"",
                 AnchorBindingMode_INDIRECT));
-        const sal_Int32 nL (aBoundResources.getLength());
+        const sal_Int32 nL (aBoundResources.size());
 
         rTarget.reserve(rTarget.size() + 1 + nL);
         rTarget.push_back(rxResource);
@@ -136,7 +137,7 @@ void ConfigurationClassifier::CopyResources (
         SAL_INFO("sd.fwk", __func__ << ":    copying " <<
             FrameworkHelper::ResourceIdToString(rxResource));
 
-        for (const Reference<XResourceId>& rBoundResource : aBoundResources)
+        for (const rtl::Reference<ResourceId>& rBoundResource : 
aBoundResources)
         {
             rTarget.push_back(rBoundResource);
             SAL_INFO("sd.fwk", __func__ << ":    copying " <<
diff --git a/sd/source/ui/framework/configuration/ConfigurationClassifier.hxx 
b/sd/source/ui/framework/configuration/ConfigurationClassifier.hxx
index e6ceee5e651c..7c8fa4401154 100644
--- a/sd/source/ui/framework/configuration/ConfigurationClassifier.hxx
+++ b/sd/source/ui/framework/configuration/ConfigurationClassifier.hxx
@@ -28,13 +28,11 @@ namespace sd::framework
 {
 class Configuration;
 }
-namespace com::sun::star::drawing::framework
-{
-class XResourceId;
-}
 
 namespace sd::framework
 {
+class ResourceId;
+
 /** A ConfigurationClassifier object compares two configurations of
     resources and gives access to the differences.  It is used mainly when
     changes to the current configuration have been requested and the various
@@ -59,8 +57,7 @@ public:
     */
     bool Partition();
 
-    typedef 
::std::vector<css::uno::Reference<css::drawing::framework::XResourceId>>
-        ResourceIdVector;
+    typedef ::std::vector<rtl::Reference<sd::framework::ResourceId>> 
ResourceIdVector;
 
     /** Return the resources that belong to the configuration given as
         rxConfiguration1 to the constructor but that do not belong to
@@ -117,28 +114,27 @@ private:
         URLs for classification.  Therefore this method calls itself
         recursively.
         @param rS1
-            One sequence of XResourceId objects.
+            One sequence of ResourceId objects.
         @param rS2
-            Another sequence of XResourceId objects.
+            Another sequence of ResourceId objects.
     */
-    void PartitionResources(
-        const 
css::uno::Sequence<css::uno::Reference<css::drawing::framework::XResourceId>>& 
rS1,
-        const 
css::uno::Sequence<css::uno::Reference<css::drawing::framework::XResourceId>>& 
rS2);
+    void PartitionResources(const 
std::vector<rtl::Reference<sd::framework::ResourceId>>& rS1,
+                            const 
std::vector<rtl::Reference<sd::framework::ResourceId>>& rS2);
 
     /** Compare the given sequences of resource ids and put their elements
         in one of three vectors depending on whether an element belongs to
         both sequences or to one but not the other.  Note that only the
-        resource URLs of the XResourceId objects are used for the
+        resource URLs of the ResourceId objects are used for the
         classification.
         @param rS1
-            One sequence of XResourceId objects.
+            One sequence of ResourceId objects.
         @param rS2
-            Another sequence of XResourceId objects.
+            Another sequence of ResourceId objects.
     */
-    static void ClassifyResources(
-        const 
css::uno::Sequence<css::uno::Reference<css::drawing::framework::XResourceId>>& 
rS1,
-        const 
css::uno::Sequence<css::uno::Reference<css::drawing::framework::XResourceId>>& 
rS2,
-        ResourceIdVector& rS1minusS2, ResourceIdVector& rS2minusS1, 
ResourceIdVector& rS1andS2);
+    static void ClassifyResources(const 
std::vector<rtl::Reference<sd::framework::ResourceId>>& rS1,
+                                  const 
std::vector<rtl::Reference<sd::framework::ResourceId>>& rS2,
+                                  ResourceIdVector& rS1minusS2, 
ResourceIdVector& rS2minusS1,
+                                  ResourceIdVector& rS1andS2);
 
     /** Copy the resources given in rSource to the list of resources
         specified by rTarget.  Resources bound to the ones in rSource,
diff --git a/sd/source/ui/framework/configuration/ConfigurationController.cxx 
b/sd/source/ui/framework/configuration/ConfigurationController.cxx
index 151967405133..783331a09cf5 100644
--- a/sd/source/ui/framework/configuration/ConfigurationController.cxx
+++ b/sd/source/ui/framework/configuration/ConfigurationController.cxx
@@ -31,6 +31,7 @@
 #include "UpdateRequest.hxx"
 #include "ChangeRequestQueueProcessor.hxx"
 #include "ConfigurationClassifier.hxx"
+#include <ResourceId.hxx>
 #include <com/sun/star/frame/XController.hpp>
 
 #include <sal/log.hxx>
@@ -224,7 +225,7 @@ void ConfigurationController::unlock()
 }
 
 void ConfigurationController::requestResourceActivation (
-    const Reference<XResourceId>& rxResourceId,
+    const rtl::Reference<ResourceId>& rxResourceId,
     ResourceActivationMode eMode)
 {
     ::osl::MutexGuard aGuard (m_aMutex);
@@ -252,7 +253,7 @@ void ConfigurationController::requestResourceActivation (
     {
         // Get a list of the matching resources and create deactivation
         // requests for them.
-        const Sequence<Reference<XResourceId> > aResourceList (
+        const std::vector<rtl::Reference<ResourceId> > aResourceList (
             mpImplementation->mxRequestedConfiguration->getResources(
                 rxResourceId->getAnchor(),
                 rxResourceId->getResourceTypePrefix(),
@@ -280,7 +281,7 @@ void ConfigurationController::requestResourceActivation (
 }
 
 void ConfigurationController::requestResourceDeactivation (
-    const Reference<XResourceId>& rxResourceId)
+    const rtl::Reference<ResourceId>& rxResourceId)
 {
     ::osl::MutexGuard aGuard (m_aMutex);
     ThrowIfDisposed();
@@ -293,7 +294,7 @@ void ConfigurationController::requestResourceDeactivation (
 
     // Request deactivation of all resources linked to the specified one
     // as well.
-    const Sequence<Reference<XResourceId> > aLinkedResources (
+    const std::vector<rtl::Reference<ResourceId> > aLinkedResources (
         mpImplementation->mxRequestedConfiguration->getResources(
             rxResourceId,
             u"",
@@ -315,7 +316,7 @@ void ConfigurationController::requestResourceDeactivation (
 }
 
 rtl::Reference<AbstractResource> ConfigurationController::getResource (
-    const Reference<XResourceId>& rxResourceId)
+    const rtl::Reference<ResourceId>& rxResourceId)
 {
     ::osl::MutexGuard aGuard (m_aMutex);
     ThrowIfDisposed();
diff --git 
a/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx 
b/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx
index b56af63419ac..de6fdc124be9 100644
--- 
a/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx
+++ 
b/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx
@@ -128,7 +128,7 @@ void ConfigurationControllerBroadcaster::NotifyListeners 
(const ConfigurationCha
 
 void ConfigurationControllerBroadcaster::NotifyListeners (
     const OUString& rsEventType,
-    const Reference<XResourceId>& rxResourceId,
+    const rtl::Reference<ResourceId>& rxResourceId,
     const rtl::Reference<AbstractResource>& rxResourceObject)
 {
     ConfigurationChangeEvent aEvent;
diff --git 
a/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx 
b/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx
index 35eba28ca09d..9829ff93fb20 100644
--- 
a/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx
+++ 
b/sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.hxx
@@ -24,13 +24,12 @@
 #include <unordered_map>
 #include <vector>
 
-namespace com::sun::star::drawing::framework { class XResourceId; }
-
 namespace sd::framework {
 class ConfigurationChangeListener;
 struct ConfigurationChangeEvent;
 class ConfigurationController;
 class AbstractResource;
+class ResourceId;
 
 /** This class manages the set of ConfigurationChangeListeners and
     calls them when the ConfigurationController wants to broadcast an
@@ -98,7 +97,7 @@ public:
     */
     void NotifyListeners (
         const OUString& rsEventType,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxResourceId,
+        const rtl::Reference<sd::framework::ResourceId>& rxResourceId,
         const rtl::Reference<sd::framework::AbstractResource>& 
rxResourceObject);
 
     /** Call all listeners and inform them that the
diff --git 
a/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx
 
b/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx
index b65030ebd3f7..43eed4120da8 100644
--- 
a/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx
+++ 
b/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx
@@ -20,6 +20,7 @@
 #include "ConfigurationControllerResourceManager.hxx"
 #include "ConfigurationControllerBroadcaster.hxx"
 #include "ResourceFactoryManager.hxx"
+#include <ResourceId.hxx>
 #include <framework/FrameworkHelper.hxx>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <framework/Configuration.hxx>
@@ -52,7 +53,7 @@ 
ConfigurationControllerResourceManager::~ConfigurationControllerResourceManager(
 
 ConfigurationControllerResourceManager::ResourceDescriptor
     ConfigurationControllerResourceManager::GetResource (
-        const Reference<XResourceId>& rxResourceId)
+        const rtl::Reference<ResourceId>& rxResourceId)
 {
     ::osl::MutexGuard aGuard (maMutex);
     ResourceMap::const_iterator iResource (maResourceMap.find(rxResourceId));
@@ -63,19 +64,19 @@ ConfigurationControllerResourceManager::ResourceDescriptor
 }
 
 void ConfigurationControllerResourceManager::ActivateResources (
-    const ::std::vector<Reference<XResourceId> >& rResources,
+    const ::std::vector<rtl::Reference<ResourceId> >& rResources,
     const rtl::Reference<Configuration>& rxConfiguration)
 {
     ::osl::MutexGuard aGuard (maMutex);
     // Iterate in normal order over the resources that are to be
     // activated so that resources on which others depend are activated
     // before the depending resources are activated.
-    for (const Reference<XResourceId>& xResource : rResources)
+    for (const rtl::Reference<ResourceId>& xResource : rResources)
         ActivateResource(xResource, rxConfiguration);
 }
 
 void ConfigurationControllerResourceManager::DeactivateResources (
-    const ::std::vector<Reference<XResourceId> >& rResources,
+    const ::std::vector<rtl::Reference<ResourceId> >& rResources,
     const rtl::Reference<Configuration>& rxConfiguration)
 {
     ::osl::MutexGuard aGuard (maMutex);
@@ -85,7 +86,7 @@ void 
ConfigurationControllerResourceManager::DeactivateResources (
     ::std::for_each(
         rResources.rbegin(),
         rResources.rend(),
-        [&] (Reference<XResourceId> const& xResource) {
+        [&] (rtl::Reference<ResourceId> const& xResource) {
             return DeactivateResource(xResource, rxConfiguration);
         } );
 }
@@ -99,7 +100,7 @@ void 
ConfigurationControllerResourceManager::DeactivateResources (
     5. Notify listeners.
 */
 void ConfigurationControllerResourceManager::ActivateResource (
-    const Reference<XResourceId>& rxResourceId,
+    const rtl::Reference<ResourceId>& rxResourceId,
     const rtl::Reference<Configuration>& rxConfiguration)
 {
     if ( ! rxResourceId.is())
@@ -171,7 +172,7 @@ void 
ConfigurationControllerResourceManager::ActivateResource (
     5. Notify listeners about that deactivation is completed.
 */
 void ConfigurationControllerResourceManager::DeactivateResource (
-    const Reference<XResourceId>& rxResourceId,
+    const rtl::Reference<ResourceId>& rxResourceId,
     const rtl::Reference<Configuration>& rxConfiguration)
 {
     if ( ! rxResourceId.is())
@@ -262,7 +263,7 @@ void ConfigurationControllerResourceManager::AddResource (
 
 ConfigurationControllerResourceManager::ResourceDescriptor
     ConfigurationControllerResourceManager::RemoveResource (
-        const Reference<XResourceId>& rxResourceId)
+        const rtl::Reference<ResourceId>& rxResourceId)
 {
     ResourceDescriptor aDescriptor;
 
@@ -285,8 +286,8 @@ ConfigurationControllerResourceManager::ResourceDescriptor
 //===== ConfigurationControllerResourceManager::ResourceComparator ============
 
 bool ConfigurationControllerResourceManager::ResourceComparator::operator() (
-    const Reference<XResourceId>& rxId1,
-    const Reference<XResourceId>& rxId2) const
+    const rtl::Reference<ResourceId>& rxId1,
+    const rtl::Reference<ResourceId>& rxId2) const
 {
     if (rxId1.is() && rxId2.is())
         return rxId1->compareTo(rxId2)<0;
diff --git 
a/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx
 
b/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx
index 3c68e285babf..10825cd18775 100644
--- 
a/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx
+++ 
b/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx
@@ -28,10 +28,9 @@
 #include <vector>
 
 namespace sd::framework { class Configuration; }
-namespace com::sun::star::drawing::framework { class XResourceId; }
 
 namespace sd::framework {
-
+class ResourceId;
 class ConfigurationControllerBroadcaster;
 class ResourceFactoryManager;
 class ResourceFactory;
@@ -74,7 +73,7 @@ public:
     */
     void ActivateResources (
         const ::std::vector<
-            css::uno::Reference<css::drawing::framework::XResourceId> >& 
rResources,
+            rtl::Reference<sd::framework::ResourceId> >& rResources,
         const rtl::Reference<sd::framework::Configuration>& rxConfiguration);
 
     /** Deactivate all the resources that are specified by resource ids in
@@ -84,7 +83,7 @@ public:
     */
     void DeactivateResources (
         const ::std::vector<
-            css::uno::Reference<css::drawing::framework::XResourceId> >& 
rResources,
+            rtl::Reference<sd::framework::ResourceId> >& rResources,
         const rtl::Reference<sd::framework::Configuration>& rxConfiguration);
 
     /** Return the descriptor for the specified resource.
@@ -93,7 +92,7 @@ public:
             an empty descriptor is returned.
     */
     ResourceDescriptor GetResource (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxResourceId);
+        const rtl::Reference<sd::framework::ResourceId>& rxResourceId);
 
 private:
     osl::Mutex maMutex;
@@ -102,12 +101,12 @@ private:
     {
     public:
         bool operator() (
-            const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxId1,
-            const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxId2) const;
+            const rtl::Reference<sd::framework::ResourceId>& rxId1,
+            const rtl::Reference<sd::framework::ResourceId>& rxId2) const;
     };
 
     typedef ::std::map<
-        css::uno::Reference<css::drawing::framework::XResourceId>,
+        rtl::Reference<sd::framework::ResourceId>,
         ResourceDescriptor,
         ResourceComparator> ResourceMap;
     ResourceMap maResourceMap;
@@ -120,11 +119,11 @@ private:
     std::shared_ptr<ConfigurationControllerBroadcaster> mpBroadcaster;
 
     void ActivateResource (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxResourceId,
+        const rtl::Reference<sd::framework::ResourceId>& rxResourceId,
         const rtl::Reference<sd::framework::Configuration>& rxConfiguration);
 
     void DeactivateResource (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxResourceId,
+        const rtl::Reference<sd::framework::ResourceId>& rxResourceId,
         const rtl::Reference<sd::framework::Configuration>& rxConfiguration);
 
     void AddResource (
@@ -132,7 +131,7 @@ private:
         const rtl::Reference<framework::ResourceFactory>& rxFactory);
 
     ResourceDescriptor RemoveResource (
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxResourceId);
+        const rtl::Reference<sd::framework::ResourceId>& rxResourceId);
 };
 
 } // end of namespace sd::framework
diff --git a/sd/source/ui/framework/configuration/ConfigurationTracer.cxx 
b/sd/source/ui/framework/configuration/ConfigurationTracer.cxx
index 30d687dff8c7..ba642affb1fd 100644
--- a/sd/source/ui/framework/configuration/ConfigurationTracer.cxx
+++ b/sd/source/ui/framework/configuration/ConfigurationTracer.cxx
@@ -20,6 +20,7 @@
 #include "ConfigurationTracer.hxx"
 
 #include <framework/Configuration.hxx>
+#include <ResourceId.hxx>
 #include <sal/log.hxx>
 
 using namespace ::com::sun::star::uno;
@@ -51,13 +52,13 @@ void ConfigurationTracer::TraceConfiguration (
 #if OSL_DEBUG_LEVEL >=1
 void ConfigurationTracer::TraceBoundResources (
     const rtl::Reference<Configuration>& rxConfiguration,
-    const Reference<XResourceId>& rxResourceId,
+    const rtl::Reference<ResourceId>& rxResourceId,
     const int nIndentation)
 {
-    const Sequence<Reference<XResourceId> > aResourceList (
+    const std::vector<rtl::Reference<ResourceId> > aResourceList (
         rxConfiguration->getResources(rxResourceId, u"", 
AnchorBindingMode_DIRECT));
     static constexpr OUStringLiteral sIndentation (u"    ");
-    for (Reference<XResourceId> const & resourceId : aResourceList)
+    for (rtl::Reference<ResourceId> const & resourceId : aResourceList)
     {
         OUString sLine (resourceId->getResourceURL());
         for (int i=0; i<nIndentation; ++i)
diff --git a/sd/source/ui/framework/configuration/ConfigurationTracer.hxx 
b/sd/source/ui/framework/configuration/ConfigurationTracer.hxx
index 96733675df13..64a15dacccae 100644
--- a/sd/source/ui/framework/configuration/ConfigurationTracer.hxx
+++ b/sd/source/ui/framework/configuration/ConfigurationTracer.hxx
@@ -26,10 +26,6 @@ namespace sd::framework
 {
 class Configuration;
 }
-namespace com::sun::star::drawing::framework
-{
-class XResourceId;
-}
 namespace com::sun::star::uno
 {
 template <typename> class Reference;
@@ -37,6 +33,8 @@ template <typename> class Reference;
 
 namespace sd::framework
 {
+class ResourceId;
+
 /** Print debug information about configurations to the standard error
     output channel.
 */
@@ -47,10 +45,10 @@ public:
     TraceConfiguration(const rtl::Reference<sd::framework::Configuration>& 
rxConfiguration,
                        const char* pMessage);
 #if OSL_DEBUG_LEVEL >= 1
-    static void TraceBoundResources(
-        const rtl::Reference<sd::framework::Configuration>& rxConfiguration,
-        const css::uno::Reference<css::drawing::framework::XResourceId>& 
rxResourceId,
-        const int nIndentation);
+    static void
+    TraceBoundResources(const rtl::Reference<sd::framework::Configuration>& 
rxConfiguration,
+                        const rtl::Reference<sd::framework::ResourceId>& 
rxResourceId,
+                        const int nIndentation);
 #endif
 };
 
diff --git a/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx 
b/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx
index 4b4fbe670df6..9ea3d0b480b4 100644
--- a/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx
+++ b/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx
@@ -196,7 +196,7 @@ void ConfigurationUpdater::CleanRequestedConfiguration()
         return;
 
     // Request the deactivation of pure anchors that have no child.
-    vector<Reference<XResourceId> > aResourcesToDeactivate;
+    vector<rtl::Reference<ResourceId> > aResourcesToDeactivate;
     CheckPureAnchors(mxRequestedConfiguration, aResourcesToDeactivate);
     if (!aResourcesToDeactivate.empty())
     {
@@ -259,7 +259,7 @@ void ConfigurationUpdater::UpdateCore (const 
ConfigurationClassifier& rClassifie
 #endif
 
         // Deactivate pure anchors that have no child.
-        vector<Reference<XResourceId> > aResourcesToDeactivate;
+        vector<rtl::Reference<ResourceId> > aResourcesToDeactivate;
         CheckPureAnchors(mxCurrentConfiguration, aResourcesToDeactivate);
         if (!aResourcesToDeactivate.empty())
             mpResourceManager->DeactivateResources(aResourcesToDeactivate, 
mxCurrentConfiguration);
@@ -272,17 +272,16 @@ void ConfigurationUpdater::UpdateCore (const 
ConfigurationClassifier& rClassifie
 
 void ConfigurationUpdater::CheckPureAnchors (
     const rtl::Reference<Configuration>& rxConfiguration,
-    vector<Reference<XResourceId> >& rResourcesToDeactivate)
+    vector<rtl::Reference<ResourceId> >& rResourcesToDeactivate)
 {
     if ( ! rxConfiguration.is())
         return;
 
     // Get a list of all resources in the configuration.
-    Sequence<Reference<XResourceId> > aResources(
+    std::vector<rtl::Reference<ResourceId> > aResources(
         rxConfiguration->getResources(
             nullptr, u"", AnchorBindingMode_INDIRECT));
-    auto aResourcesRange = asNonConstRange(aResources);
-    sal_Int32 nCount (aResources.getLength());
+    sal_Int32 nCount (aResources.size());
 
     // Prepare the list of pure anchors that have to be deactivated.
     rResourcesToDeactivate.clear();
@@ -293,7 +292,7 @@ void ConfigurationUpdater::CheckPureAnchors (
     sal_Int32 nIndex (nCount-1);
     while (nIndex >= 0)
     {
-        const Reference<XResourceId>& xResourceId (aResources[nIndex]);
+        const rtl::Reference<ResourceId>& xResourceId (aResources[nIndex]);
         const rtl::Reference<AbstractResource> xResource (
             mpResourceManager->GetResource(xResourceId).mxResource);
         bool bDeactiveCurrentResource (false);
@@ -311,7 +310,7 @@ void ConfigurationUpdater::CheckPureAnchors (
             }
             else
             {
-                const Reference<XResourceId>& xPrevResourceId 
(aResources[nIndex+1]);
+                const rtl::Reference<ResourceId>& xPrevResourceId 
(aResources[nIndex+1]);
                 if ( ! xPrevResourceId.is()
                     || ! xPrevResourceId->isBoundTo(xResourceId, 
AnchorBindingMode_DIRECT))
                 {
@@ -330,7 +329,7 @@ void ConfigurationUpdater::CheckPureAnchors (
             rResourcesToDeactivate.push_back(xResourceId);
             // Erase element from current configuration.
             for (sal_Int32 nI=nIndex; nI<nCount-2; ++nI)
-                aResourcesRange[nI] = aResources[nI+1];
+                aResources[nI] = aResources[nI+1];
             nCount -= 1;
         }
         nIndex -= 1;
diff --git a/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx 
b/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx
index e86d6e6e5e32..8f3330a9d1c3 100644
--- a/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx
+++ b/sd/source/ui/framework/configuration/ConfigurationUpdater.hxx
@@ -25,14 +25,6 @@
 #include <memory>
 #include <vector>
 
-namespace sd::framework
-{
-class Configuration;
-}
-namespace com::sun::star::drawing::framework
-{
-class XResourceId;
-}
 namespace sd
 {
 class DrawController;
@@ -40,10 +32,12 @@ class DrawController;
 
 namespace sd::framework
 {
+class Configuration;
 class ConfigurationClassifier;
 class ConfigurationUpdaterLock;
 class ConfigurationControllerResourceManager;
 class ConfigurationControllerBroadcaster;
+class ResourceId;
 
 /** This is a helper class for the ConfigurationController.  It handles the
     update of the current configuration so that it looks like a requested
@@ -159,9 +153,9 @@ private:
         Childless pure anchors are deactivated.
         This affects only the current configuration.
     */
-    void CheckPureAnchors(const rtl::Reference<sd::framework::Configuration>& 
rxConfiguration,
-                          
::std::vector<css::uno::Reference<css::drawing::framework::XResourceId>>&
-                              rResourcesToDeactivate);
+    void CheckPureAnchors(
+        const rtl::Reference<sd::framework::Configuration>& rxConfiguration,
+        ::std::vector<rtl::Reference<sd::framework::ResourceId>>& 
rResourcesToDeactivate);
 
     /** Remove from the requested configuration all pure anchors that have no
         child.  Requested but not yet activated anchors can not be removed
diff --git 
a/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.cxx 
b/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.cxx
index f422bb1a0ad0..f3e0187a1b9b 100644
--- a/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.cxx
+++ b/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.cxx
@@ -24,6 +24,7 @@
 #include "GenericConfigurationChangeRequest.hxx"
 
 #include <framework/FrameworkHelper.hxx>
+#include <ResourceId.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
@@ -32,7 +33,7 @@ using namespace ::com::sun::star::drawing::framework;
 namespace sd::framework {
 
 GenericConfigurationChangeRequest::GenericConfigurationChangeRequest (
-    const Reference<XResourceId>& rxResourceId,
+    const rtl::Reference<ResourceId>& rxResourceId,
     const Mode eMode)
     : mxResourceId(rxResourceId),
       meMode(eMode)
diff --git 
a/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.hxx 
b/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.hxx
index 06ab95a19b3f..3d6420dd6cd6 100644
--- a/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.hxx
+++ b/sd/source/ui/framework/configuration/GenericConfigurationChangeRequest.hxx
@@ -23,9 +23,8 @@
 #include <com/sun/star/container/XNamed.hpp>
 #include <comphelper/compbase.hxx>
 
-namespace com::sun::star::drawing::framework { class XResourceId; }
-
 namespace sd::framework {
+class ResourceId;
 
 typedef cppu::ImplInheritanceHelper <
       sd::framework::ConfigurationChangeRequest,
@@ -57,7 +56,7 @@ public:
         @throws css::css::lang::IllegalArgumentException
     */
     GenericConfigurationChangeRequest (
-        const css::uno::Reference<css::drawing::framework::XResourceId>&
+        const rtl::Reference<sd::framework::ResourceId>&
             rxResourceId,
         const Mode eMode);
 
@@ -88,7 +87,7 @@ public:
     virtual void SAL_CALL setName (const OUString& rName) override;
 
 private:
-    const css::uno::Reference<css::drawing::framework::XResourceId> 
mxResourceId;
+    const rtl::Reference<sd::framework::ResourceId> mxResourceId;
     const Mode meMode;
 };
 
diff --git a/sd/source/ui/framework/configuration/ResourceId.cxx 
b/sd/source/ui/framework/configuration/ResourceId.cxx
index 5f8654fad6dc..53a035a1ad8c 100644
--- a/sd/source/ui/framework/configuration/ResourceId.cxx
+++ b/sd/source/ui/framework/configuration/ResourceId.cxx
@@ -63,13 +63,13 @@ ResourceId::ResourceId (
 }
 
 ResourceId::ResourceId (
-    const OUString& rsResourceURL, const css::uno::Reference<XResourceId>& 
xAnchor)
+    const OUString& rsResourceURL, const rtl::Reference<ResourceId>& xAnchor)
 {
     maResourceURLs.push_back(rsResourceURL);
     if (xAnchor.is())
     {
         maResourceURLs.push_back(xAnchor->getResourceURL());
-        const Sequence<OUString> aAnchorURLs (xAnchor->getAnchorURLs());
+        std::vector<OUString> aAnchorURLs (xAnchor->getAnchorURLs());
         maResourceURLs.insert( maResourceURLs.end(), aAnchorURLs.begin(), 
aAnchorURLs.end() );
     }
     ParseResourceURL();
@@ -88,8 +88,8 @@ ResourceId::ResourceId (
 ResourceId::ResourceId (
     const OUString& rsResourceURL,
     const OUString& rsFirstAnchorURL,
-    const Sequence<OUString>& rAnchorURLs)
-    : maResourceURLs(2+rAnchorURLs.getLength())
+    const std::vector<OUString>& rAnchorURLs)
+    : maResourceURLs(2+rAnchorURLs.size())
 {
     maResourceURLs[0] = rsResourceURL;
     maResourceURLs[1] = rsFirstAnchorURL;
@@ -102,8 +102,7 @@ ResourceId::~ResourceId()
     mpURL.reset();
 }
 
-OUString SAL_CALL
-    ResourceId::getResourceURL()
+OUString ResourceId::getResourceURL() const
 {
     if (!maResourceURLs.empty())
         return maResourceURLs[0];
@@ -111,8 +110,7 @@ OUString SAL_CALL
         return OUString();
 }
 
-util::URL SAL_CALL
-    ResourceId::getFullResourceURL()
+util::URL ResourceId::getFullResourceURL()
 {
     if (mpURL != nullptr)
         return *mpURL;
@@ -132,14 +130,12 @@ util::URL SAL_CALL
     return aURL;
 }
 
-sal_Bool SAL_CALL
-    ResourceId::hasAnchor()
+bool ResourceId::hasAnchor() const
 {
     return maResourceURLs.size()>1;
 }
 
-Reference<XResourceId> SAL_CALL
-    ResourceId::getAnchor()
+rtl::Reference<ResourceId> ResourceId::getAnchor() const
 {
     ::rtl::Reference<ResourceId> rResourceId (new ResourceId());
     const sal_Int32 nAnchorCount (maResourceURLs.size()-1);
@@ -152,22 +148,20 @@ Reference<XResourceId> SAL_CALL
     return rResourceId;
 }
 
-Sequence<OUString> SAL_CALL
-    ResourceId::getAnchorURLs()
+std::vector<OUString> ResourceId::getAnchorURLs() const
 {
     const sal_Int32 nAnchorCount (maResourceURLs.size() - 1);
     if (nAnchorCount > 0)
     {
-        Sequence<OUString> aAnchorURLs (nAnchorCount);
-        std::copy_n(maResourceURLs.begin() + 1, nAnchorCount, 
aAnchorURLs.getArray());
+        std::vector<OUString> aAnchorURLs(nAnchorCount);
+        std::copy_n(maResourceURLs.begin() + 1, nAnchorCount, 
aAnchorURLs.begin());
         return aAnchorURLs;
     }
     else
-        return Sequence<OUString>();
+        return {};
 }
 
-OUString SAL_CALL
-    ResourceId::getResourceTypePrefix()
+OUString ResourceId::getResourceTypePrefix() const
 {
     if (!maResourceURLs.empty() )
     {
@@ -187,8 +181,7 @@ OUString SAL_CALL
         return OUString();
 }
 
-sal_Int16 SAL_CALL
-    ResourceId::compareTo (const Reference<XResourceId>& rxResourceId)
+sal_Int16 ResourceId::compareTo(const rtl::Reference<ResourceId>& 
rxResourceId) const
 {
     sal_Int16 nResult (0);
 
@@ -202,10 +195,7 @@ sal_Int16 SAL_CALL
     }
     else
     {
-        ResourceId& rId = dynamic_cast<ResourceId&>(*rxResourceId);
-        // We have direct access to the implementation of the given
-        // resource id object.
-        nResult = CompareToLocalImplementation(rId);
+        nResult = CompareToLocalImplementation(*rxResourceId);
     }
 
     return nResult;
@@ -253,10 +243,9 @@ sal_Int16 ResourceId::CompareToLocalImplementation (const 
ResourceId& rId) const
     return nResult;
 }
 
-sal_Bool SAL_CALL
-    ResourceId::isBoundTo (
-        const Reference<XResourceId>& rxResourceId,
-        AnchorBindingMode eMode)
+bool ResourceId::isBoundTo (
+        const rtl::Reference<ResourceId>& rxResourceId,
+        AnchorBindingMode eMode) const
 {
     if ( ! rxResourceId.is())
     {
@@ -264,20 +253,17 @@ sal_Bool SAL_CALL
         return IsBoundToAnchor(nullptr, nullptr, eMode);
     }
 
-    ResourceId& rId = dynamic_cast<ResourceId&>(*rxResourceId);
-    return IsBoundToAnchor(rId.maResourceURLs, eMode);
+    return IsBoundToAnchor(rxResourceId->maResourceURLs, eMode);
 }
 
-sal_Bool SAL_CALL
-    ResourceId::isBoundToURL (
+bool ResourceId::isBoundToURL (
         const OUString& rsAnchorURL,
-        AnchorBindingMode eMode)
+        AnchorBindingMode eMode) const
 {
     return IsBoundToAnchor(&rsAnchorURL, nullptr, eMode);
 }
 
-Reference<XResourceId> SAL_CALL
-    ResourceId::clone()
+rtl::Reference<ResourceId> ResourceId::clone() const
 {
     return new ResourceId(std::vector(maResourceURLs));
 }
@@ -289,13 +275,13 @@ Reference<XResourceId> SAL_CALL
 */
 bool ResourceId::IsBoundToAnchor (
     const OUString* psFirstAnchorURL,
-    const Sequence<OUString>* paAnchorURLs,
+    const std::vector<OUString>* paAnchorURLs,
     AnchorBindingMode eMode) const
 {
     const sal_uInt32 nLocalAnchorURLCount (maResourceURLs.size() - 1);
     const bool bHasFirstAnchorURL (psFirstAnchorURL!=nullptr);
     const sal_uInt32 nAnchorURLCount ((bHasFirstAnchorURL?1:0)
-        + (paAnchorURLs!=nullptr ? paAnchorURLs->getLength() : 0));
-e 
... etc. - the rest is truncated

Reply via email to