avmedia/source/framework/MediaControlBase.cxx                 |    2 
 avmedia/source/framework/mediacontrol.cxx                     |    2 
 avmedia/source/framework/mediaitem.cxx                        |    1 
 basctl/source/basicide/basicrenderable.cxx                    |    1 
 basctl/source/basicide/baside2b.cxx                           |    1 
 basctl/source/basicide/baside3.cxx                            |    3 
 basctl/source/basicide/basides1.cxx                           |    1 
 basctl/source/basicide/basides3.cxx                           |    2 
 basctl/source/basicide/basidesh.cxx                           |    2 
 basctl/source/basicide/basobj3.cxx                            |    2 
 basctl/source/basicide/bastype2.cxx                           |    2 
 basctl/source/basicide/bastype3.cxx                           |    1 
 basctl/source/basicide/bastypes.cxx                           |    1 
 basctl/source/basicide/idedataprovider.cxx                    |    2 
 basctl/source/basicide/iderdll.cxx                            |    2 
 basctl/source/basicide/macrodlg.cxx                           |    2 
 basctl/source/basicide/moduldlg.cxx                           |    2 
 basctl/source/basicide/scriptdocument.cxx                     |    2 
 basctl/source/dlged/dlged.cxx                                 |    1 
 basctl/source/inc/basobj.hxx                                  |    2 
 basegfx/source/curve/b2dbeziertools.cxx                       |    1 
 basegfx/source/curve/b2dcubicbezier.cxx                       |    1 
 basegfx/source/matrix/b3dhommatrixtools.cxx                   |    1 
 basegfx/source/polygon/WaveLine.cxx                           |    1 
 basegfx/source/polygon/b2dlinegeometry.cxx                    |    1 
 basegfx/source/polygon/b2dpolygon.cxx                         |    1 
 basegfx/source/polygon/b2dpolygoncutandtouch.cxx              |    3 
 basegfx/source/polygon/b2dpolygontools.cxx                    |    2 
 basegfx/source/polygon/b2dpolygontriangulator.cxx             |    1 
 basegfx/source/polygon/b2dpolypolygoncutter.cxx               |    1 
 basegfx/source/polygon/b2dpolypolygontools.cxx                |    3 
 basegfx/source/polygon/b2dsvgpolypolygon.cxx                  |    1 
 basegfx/source/range/b2drangeclipper.cxx                      |    1 
 basegfx/source/vector/b2dvector.cxx                           |    1 
 basegfx/test/B2DPolyRangeTest.cxx                             |    1 
 basegfx/test/B2DPolygonTest.cxx                               |    1 
 basegfx/test/B2DPolygonToolsTest.cxx                          |    1 
 basic/qa/cppunit/basictest.hxx                                |    1 
 basic/qa/cppunit/test_global_array.cxx                        |    1 
 basic/qa/cppunit/test_global_as_new.cxx                       |    1 
 basic/qa/cppunit/test_tdf149714.cxx                           |    1 
 basic/source/runtime/basrdll.cxx                              |    1 
 codemaker/source/codemaker/exceptiontree.cxx                  |    1 
 codemaker/source/codemaker/typemanager.cxx                    |    1 
 codemaker/source/commonjava/commonjava.cxx                    |    1 
 codemaker/source/netmaker/netproduce.cxx                      |    1 
 codemaker/source/pythonmaker/pythontype.hxx                   |    1 
 comphelper/source/misc/docpasswordhelper.cxx                  |    3 
 comphelper/source/misc/graphicmimetype.cxx                    |    1 
 comphelper/source/property/propshlp.cxx                       |    1 
 connectivity/source/commontools/dbexception.cxx               |    1 
 connectivity/source/commontools/dbmetadata.cxx                |    1 
 connectivity/source/commontools/dbtools.cxx                   |    1 
 connectivity/source/commontools/dbtools2.cxx                  |    1 
 connectivity/source/drivers/calc/CTable.cxx                   |    1 
 connectivity/source/drivers/file/fcomp.cxx                    |    3 
 connectivity/source/drivers/firebird/ResultSet.cxx            |    1 
 connectivity/source/drivers/firebird/Table.cxx                |    1 
 connectivity/source/drivers/firebird/Tables.cxx               |    2 
 connectivity/source/drivers/odbc/OPreparedStatement.cxx       |    1 
 connectivity/source/inc/flat/ETable.hxx                       |    1 
 connectivity/source/parse/sqliterator.cxx                     |    1 
 connectivity/source/parse/sqlnode.cxx                         |    1 
 cppcanvas/source/wrapper/implbitmapcanvas.cxx                 |    1 
 cui/source/dialogs/MacroManagerDialog.cxx                     |    1 
 cui/source/inc/MacroManagerDialog.hxx                         |    1 
 dbaccess/source/core/api/BookmarkSet.cxx                      |    1 
 dbaccess/source/core/api/CacheSet.cxx                         |    1 
 dbaccess/source/core/api/RowSetBase.cxx                       |    1 
 dbaccess/source/core/api/SingleSelectQueryComposer.cxx        |    1 
 dbaccess/source/core/api/query.cxx                            |    1 
 dbaccess/source/core/dataaccess/databasecontext.cxx           |    1 
 dbaccess/source/core/recovery/subcomponentrecovery.cxx        |    1 
 dbaccess/source/sdbtools/connection/connectiontools.cxx       |    1 
 dbaccess/source/sdbtools/connection/objectnames.cxx           |    2 
 dbaccess/source/ui/app/AppControllerGen.cxx                   |    2 
 dbaccess/source/ui/control/TableGrantCtrl.cxx                 |    1 
 dbaccess/source/ui/dlg/indexdialog.cxx                        |    1 
 dbaccess/source/ui/dlg/tablespage.cxx                         |    1 
 dbaccess/source/ui/misc/linkeddocuments.cxx                   |    1 
 drawinglayer/source/primitive2d/helplineprimitive2d.cxx       |    1 
 drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx        |    1 
 drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx     |    1 
 drawinglayer/source/tools/emfppen.hxx                         |    1 
 extensions/source/propctrlr/sqlcommanddesign.cxx              |    1 
 forms/source/component/ComboBox.cxx                           |    1 
 forms/source/component/FormComponent.cxx                      |    1 
 framework/source/services/pathsettings.cxx                    |    1 
 include/IwyuFilter_include.yaml                               |   15 ++++
 include/avmedia/mediaitem.hxx                                 |    2 
 include/avmedia/mediawindow.hxx                               |    6 +
 include/basctl/basctldllpublic.hxx                            |   31 +++++++++-
 include/basctl/scriptdocument.hxx                             |   14 +++-
 include/basegfx/curve/b2dcubicbezier.hxx                      |    5 +
 include/basegfx/matrix/b2dhommatrixtools.hxx                  |    2 
 include/basegfx/matrix/b3dhommatrixtools.hxx                  |    5 +
 include/basegfx/polygon/WaveLine.hxx                          |    6 +
 include/basegfx/polygon/b2dlinegeometry.hxx                   |    8 +-
 include/basegfx/polygon/b2dpolygon.hxx                        |    2 
 include/basegfx/polygon/b2dpolygonclipper.hxx                 |    5 -
 include/basegfx/polygon/b2dpolygoncutandtouch.hxx             |    7 +-
 include/basegfx/polygon/b2dpolygontools.hxx                   |    7 +-
 include/basegfx/polygon/b2dpolygontriangulator.hxx            |    2 
 include/basegfx/polygon/b2dpolypolygontools.hxx               |    5 -
 include/basegfx/polygon/b2dtrapezoid.hxx                      |    2 
 include/basegfx/polygon/b3dpolygontools.hxx                   |    4 -
 include/basegfx/polygon/b3dpolypolygontools.hxx               |    3 
 include/basegfx/range/b2drangeclipper.hxx                     |    5 +
 include/basegfx/utils/canvastools.hxx                         |    5 -
 include/basegfx/utils/unopolypolygon.hxx                      |    3 
 include/basegfx/vector/b2dvector.hxx                          |    3 
 include/basic/sbdef.hxx                                       |    2 
 include/basic/sbmeth.hxx                                      |    2 
 include/basic/sbstar.hxx                                      |    3 
 include/basic/sbuno.hxx                                       |    2 
 include/codemaker/commoncpp.hxx                               |    3 
 include/codemaker/commonjava.hxx                              |    3 
 include/codemaker/exceptiontree.hxx                           |    3 
 include/codemaker/global.hxx                                  |    2 
 include/codemaker/typemanager.hxx                             |    2 
 include/comphelper/SelectionMultiplex.hxx                     |    2 
 include/comphelper/accessibletexthelper.hxx                   |    2 
 include/comphelper/configurationhelper.hxx                    |    4 -
 include/comphelper/configurationlistener.hxx                  |    2 
 include/comphelper/docpasswordhelper.hxx                      |    5 +
 include/comphelper/docpasswordrequest.hxx                     |    3 
 include/comphelper/embeddedobjectcontainer.hxx                |    4 -
 include/comphelper/eventattachermgr.hxx                       |    2 
 include/comphelper/evtmethodhelper.hxx                        |   11 +++
 include/comphelper/genericpropertyset.hxx                     |    6 +
 include/comphelper/graphicmimetype.hxx                        |    7 +-
 include/comphelper/interfacecontainer2.hxx                    |    3 
 include/comphelper/interfacecontainer3.hxx                    |    5 +
 include/comphelper/interfacecontainer4.hxx                    |    5 +
 include/comphelper/multicontainer2.hxx                        |   10 ++-
 include/comphelper/multiinterfacecontainer3.hxx               |    6 +
 include/comphelper/multiinterfacecontainer4.hxx               |    7 +-
 include/comphelper/namecontainer.hxx                          |   10 ++-
 include/comphelper/numberedcollection.hxx                     |    2 
 include/comphelper/numbers.hxx                                |    3 
 include/comphelper/ofopxmlhelper.hxx                          |    4 -
 include/comphelper/processfactory.hxx                         |    2 
 include/comphelper/propshlp.hxx                               |    6 +
 include/comphelper/propstate.hxx                              |    1 
 include/comphelper/sequenceashashmap.hxx                      |    3 
 include/comphelper/storagehelper.hxx                          |    2 
 include/comphelper/string.hxx                                 |    2 
 include/comphelper/synchronousdispatch.hxx                    |    2 
 include/comphelper/traceevent.hxx                             |    6 +
 include/comphelper/types.hxx                                  |    2 
 include/comphelper/xmlsechelper.hxx                           |   16 ++++-
 include/connectivity/DriversConfig.hxx                        |    3 
 include/connectivity/FValue.hxx                               |   10 +--
 include/connectivity/IParseContext.hxx                        |    3 
 include/connectivity/PColumn.hxx                              |    2 
 include/connectivity/dbconversion.hxx                         |    4 -
 include/connectivity/dbexception.hxx                          |    5 -
 include/connectivity/dbmetadata.hxx                           |    4 -
 include/connectivity/dbtools.hxx                              |    6 +
 include/connectivity/predicateinput.hxx                       |    2 
 include/connectivity/sqlerror.hxx                             |    8 ++
 include/connectivity/sqlparse.hxx                             |    2 
 include/cppcanvas/basegfxfactory.hxx                          |    2 
 include/cppcanvas/bitmap.hxx                                  |    2 
 include/cppcanvas/bitmapcanvas.hxx                            |    2 
 include/cppcanvas/canvas.hxx                                  |    3 
 include/cppcanvas/polypolygon.hxx                             |    2 
 include/cppcanvas/spritecanvas.hxx                            |    2 
 reportdesign/source/ui/report/ReportController.cxx            |    1 
 sc/source/filter/ftools/fapihelper.cxx                        |    1 
 sc/source/ui/formdlg/dwfunctr.cxx                             |    1 
 sfx2/source/appl/appopen.cxx                                  |    1 
 sfx2/source/dialog/filedlghelper.cxx                          |    1 
 sfx2/source/view/viewfrm.cxx                                  |    1 
 slideshow/source/engine/rehearsetimingsactivity.cxx           |    1 
 slideshow/source/engine/slidebitmap.cxx                       |    1 
 svx/source/dialog/dlgctl3d.cxx                                |    1 
 svx/source/dialog/framelinkarray.cxx                          |    2 
 svx/source/fmcomp/gridcell.cxx                                |    1 
 svx/source/form/tabwin.cxx                                    |    1 
 svx/source/unodraw/unoshap4.cxx                               |    1 
 sw/source/filter/ww8/ww8par.cxx                               |    1 
 sw/source/uibase/dbui/dbmgr.cxx                               |    1 
 toolkit/source/controls/unocontrolmodel.cxx                   |    1 
 tools/source/generic/poly.cxx                                 |    1 
 unodevtools/source/skeletonmaker/cppcompskeleton.cxx          |    2 
 unodevtools/source/skeletonmaker/cpptypemaker.cxx             |    2 
 unodevtools/source/skeletonmaker/javatypemaker.cxx            |    2 
 unodevtools/source/skeletonmaker/skeletoncommon.cxx           |    1 
 vcl/inc/headless/CairoCommon.hxx                              |    1 
 vcl/inc/salgdiimpl.hxx                                        |    1 
 xmloff/source/draw/ximp3dobject.cxx                           |    1 
 xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx |    1 
 193 files changed, 408 insertions(+), 111 deletions(-)

New commits:
commit fd2e467ba3320c99d8f4856784c7ccd0912a08a7
Author:     Gabor Kelemen <[email protected]>
AuthorDate: Mon Oct 13 22:05:00 2025 +0200
Commit:     Gabor Kelemen <[email protected]>
CommitDate: Sat Nov 8 09:37:19 2025 +0100

    tdf#146619 Run IWYU in fw decl mode on include/[a-c]*
    
    After recent commit 851fb757794ccd107553ac6141aa36c05a61820d
    recheck these directories in include/ again
    to test drive the new --headersfwd mode of bin/find-unneeded-includes
    
    Change-Id: I0ede437c4f9958cd98210ed1760a5b98ea8bd1ad
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192377
    Tested-by: Jenkins
    Reviewed-by: Gabor Kelemen <[email protected]>

diff --git a/avmedia/source/framework/MediaControlBase.cxx 
b/avmedia/source/framework/MediaControlBase.cxx
index 1f4261c00566..28e4ea63a682 100644
--- a/avmedia/source/framework/MediaControlBase.cxx
+++ b/avmedia/source/framework/MediaControlBase.cxx
@@ -25,6 +25,8 @@
 #include <helpids.h>
 #include <mediamisc.hxx>
 
+#include <com/sun/star/media/ZoomLevel.hpp>
+
 constexpr sal_Int32 AVMEDIA_DB_RANGE = -40;
 constexpr double AVMEDIA_LINEINCREMENT = 1.0;
 constexpr double AVMEDIA_PAGEINCREMENT = 10.0;
diff --git a/avmedia/source/framework/mediacontrol.cxx 
b/avmedia/source/framework/mediacontrol.cxx
index 569061cfe27a..34ed40eb74a4 100644
--- a/avmedia/source/framework/mediacontrol.cxx
+++ b/avmedia/source/framework/mediacontrol.cxx
@@ -25,6 +25,8 @@
 #include <vcl/weld.hxx>
 #include <avmedia/MediaControlBase.hxx>
 
+#include <com/sun/star/media/ZoomLevel.hpp>
+
 namespace avmedia
 {
 
diff --git a/avmedia/source/framework/mediaitem.cxx 
b/avmedia/source/framework/mediaitem.cxx
index cb8cdd3fb22f..db3685e14670 100644
--- a/avmedia/source/framework/mediaitem.cxx
+++ b/avmedia/source/framework/mediaitem.cxx
@@ -26,6 +26,7 @@
 #include <com/sun/star/embed/XTransactedObject.hpp>
 #include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/document/XStorageBasedDocument.hpp>
+#include <com/sun/star/media/ZoomLevel.hpp>
 #include <com/sun/star/ucb/XCommandEnvironment.hpp>
 #include <com/sun/star/uri/UriReferenceFactory.hpp>
 #include <com/sun/star/uri/XUriReference.hpp>
diff --git a/basctl/source/basicide/basicrenderable.cxx 
b/basctl/source/basicide/basicrenderable.cxx
index de46a766f970..c81419e3398f 100644
--- a/basctl/source/basicide/basicrenderable.cxx
+++ b/basctl/source/basicide/basicrenderable.cxx
@@ -26,6 +26,7 @@
 #include <tools/multisel.hxx>
 #include <cppuhelper/compbase.hxx>
 #include <comphelper/propertysequence.hxx>
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
 
 namespace basctl
 {
diff --git a/basctl/source/basicide/baside2b.cxx 
b/basctl/source/basicide/baside2b.cxx
index 390b4baf6361..0d0735165a5c 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -40,6 +40,7 @@
 #include <com/sun/star/beans/XPropertiesChangeListener.hpp>
 #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
 #include <com/sun/star/script/XLibraryContainer2.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <comphelper/string.hxx>
 #include <o3tl/string_view.hxx>
 #include <officecfg/Office/Common.hxx>
diff --git a/basctl/source/basicide/baside3.cxx 
b/basctl/source/basicide/baside3.cxx
index 5c7bfa4fec7b..58fe0ef45bf9 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -33,7 +33,8 @@
 #include <iderdll.hxx>
 #include <localizationmgr.hxx>
 #include <managelang.hxx>
-
+#include <com/sun/star/io/XInputStreamProvider.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <com/sun/star/script/XLibraryContainer2.hpp>
 #include <com/sun/star/resource/StringResourceWithLocation.hpp>
 #include <com/sun/star/ucb/SimpleFileAccess.hpp>
diff --git a/basctl/source/basicide/basides1.cxx 
b/basctl/source/basicide/basides1.cxx
index 8cc67c9c1b08..9c910ba8389f 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -38,6 +38,7 @@
 #include <com/sun/star/script/ModuleType.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
 #include <com/sun/star/script/XLibraryContainer2.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
 #include <svl/srchdefs.hxx>
 #include <sal/log.hxx>
diff --git a/basctl/source/basicide/basides3.cxx 
b/basctl/source/basicide/basides3.cxx
index 37c4b2fe13da..234d1ddd124b 100644
--- a/basctl/source/basicide/basides3.cxx
+++ b/basctl/source/basicide/basides3.cxx
@@ -29,6 +29,8 @@
 #include <tools/debug.hxx>
 #include <comphelper/diagnose_ex.hxx>
 #include <comphelper/processfactory.hxx>
+#include <com/sun/star/io/XInputStreamProvider.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
 
 namespace basctl
diff --git a/basctl/source/basicide/basidesh.cxx 
b/basctl/source/basicide/basidesh.cxx
index 06f58a9b97fa..9cdb41b7f1dc 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -66,7 +66,9 @@
 #include <svx/pszctrl.hxx>
 #include <svx/insctrl.hxx>
 #include <svx/srchdlg.hxx>
+#include <com/sun/star/script/XLibraryContainer.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <com/sun/star/container/XContainer.hpp>
 #include <svx/xmlsecctrl.hxx>
 #include <sfx2/viewfac.hxx>
diff --git a/basctl/source/basicide/basobj3.cxx 
b/basctl/source/basicide/basobj3.cxx
index f4e60eabc308..2f2aa8b6e5ee 100644
--- a/basctl/source/basicide/basobj3.cxx
+++ b/basctl/source/basicide/basobj3.cxx
@@ -35,7 +35,9 @@
 #include <basobj.hxx>
 #include <localizationmgr.hxx>
 #include <dlged.hxx>
+#include <com/sun/star/script/XLibraryContainer.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <basctl/basctldllpublic.hxx>
 #include <sfx2/app.hxx>
 #include <sfx2/dispatch.hxx>
diff --git a/basctl/source/basicide/bastype2.cxx 
b/basctl/source/basicide/bastype2.cxx
index 8956ba809cc8..bc80d4b578ea 100644
--- a/basctl/source/basicide/bastype2.cxx
+++ b/basctl/source/basicide/bastype2.cxx
@@ -28,7 +28,9 @@
 #include <comphelper/diagnose_ex.hxx>
 #include <svtools/imagemgr.hxx>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
 #include <basctl/basctldllpublic.hxx>
 #include <comphelper/processfactory.hxx>
 #include <sfx2/dispatch.hxx>
diff --git a/basctl/source/basicide/bastype3.cxx 
b/basctl/source/basicide/bastype3.cxx
index 42f9f5e3b540..6eedbd3affbc 100644
--- a/basctl/source/basicide/bastype3.cxx
+++ b/basctl/source/basicide/bastype3.cxx
@@ -25,6 +25,7 @@
 #include <bastypes.hxx>
 #include <com/sun/star/script/XLibraryContainer.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <basctl/basctldllpublic.hxx>
 #include <string_view>
 #include <osl/diagnose.h>
diff --git a/basctl/source/basicide/bastypes.cxx 
b/basctl/source/basicide/bastypes.cxx
index e07e6c7de708..6fb30f115330 100644
--- a/basctl/source/basicide/bastypes.cxx
+++ b/basctl/source/basicide/bastypes.cxx
@@ -31,6 +31,7 @@
 #include <iderdll.hxx>
 #include "iderdll2.hxx"
 
+#include <com/sun/star/script/XLibraryContainer.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
 #include <basctl/basctldllpublic.hxx>
 #include <sal/log.hxx>
diff --git a/basctl/source/basicide/idedataprovider.cxx 
b/basctl/source/basicide/idedataprovider.cxx
index 0a2f2082ec40..ab364d3d20d7 100644
--- a/basctl/source/basicide/idedataprovider.cxx
+++ b/basctl/source/basicide/idedataprovider.cxx
@@ -17,10 +17,12 @@
 #include <comphelper/processfactory.hxx>
 #include <sal/log.hxx>
 
+#include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
 #include <com/sun/star/reflection/XTypeDescriptionEnumeration.hpp>
 #include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.hpp>
 #include <com/sun/star/reflection/theCoreReflection.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 
 namespace basctl
 {
diff --git a/basctl/source/basicide/iderdll.cxx 
b/basctl/source/basicide/iderdll.cxx
index 191fc92f295c..b9ca566e2f51 100644
--- a/basctl/source/basicide/iderdll.cxx
+++ b/basctl/source/basicide/iderdll.cxx
@@ -31,6 +31,8 @@
 
 #include <basic/sbstar.hxx>
 #include <com/sun/star/frame/Desktop.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
+#include <com/sun/star/script/XLibraryContainer.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
 #include <unotools/resmgr.hxx>
 #include <sfx2/app.hxx>
diff --git a/basctl/source/basicide/macrodlg.cxx 
b/basctl/source/basicide/macrodlg.cxx
index 4eed5a62f107..9c92dcab4648 100644
--- a/basctl/source/basicide/macrodlg.cxx
+++ b/basctl/source/basicide/macrodlg.cxx
@@ -31,6 +31,8 @@
 #include <basic/basmgr.hxx>
 #include <basic/sbmeth.hxx>
 #include <basic/sbmod.hxx>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
+#include <com/sun/star/script/XLibraryContainer.hpp>
 #include <com/sun/star/script/XLibraryContainer2.hpp>
 #include <sal/log.hxx>
 #include <sfx2/app.hxx>
diff --git a/basctl/source/basicide/moduldlg.cxx 
b/basctl/source/basicide/moduldlg.cxx
index 57ced999f911..0a509e09ace7 100644
--- a/basctl/source/basicide/moduldlg.cxx
+++ b/basctl/source/basicide/moduldlg.cxx
@@ -30,8 +30,10 @@
 
 #include <basctl/basctldllpublic.hxx>
 #include <basic/basmgr.hxx>
+#include <com/sun/star/io/XInputStreamProvider.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
 #include <com/sun/star/script/XLibraryContainer2.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <com/sun/star/frame/XController.hpp>
 #include <comphelper/processfactory.hxx>
 #include <sfx2/app.hxx>
diff --git a/basctl/source/basicide/scriptdocument.cxx 
b/basctl/source/basicide/scriptdocument.cxx
index 074b07f2ff0f..cc8681aa898e 100644
--- a/basctl/source/basicide/scriptdocument.cxx
+++ b/basctl/source/basicide/scriptdocument.cxx
@@ -36,10 +36,12 @@
 #include <com/sun/star/awt/XWindow2.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/document/XEmbeddedScripts.hpp>
+#include <com/sun/star/io/XInputStreamProvider.hpp>
 #include <com/sun/star/script/vba/XVBACompatibility.hpp>
 #include <com/sun/star/script/vba/XVBAModuleInfo.hpp>
 #include <com/sun/star/script/ModuleInfo.hpp>
 #include <com/sun/star/script/ModuleType.hpp>
+#include <com/sun/star/task/XStatusIndicator.hpp>
 
 #include <sfx2/app.hxx>
 #include <sfx2/objsh.hxx>
diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index a799d85bc49b..de8c16b22b99 100644
--- a/basctl/source/dlged/dlged.cxx
+++ b/basctl/source/dlged/dlged.cxx
@@ -33,6 +33,7 @@
 #include <com/sun/star/awt/Toolkit.hpp>
 #include <com/sun/star/awt/UnoControlDialog.hpp>
 #include <com/sun/star/awt/XVclWindowPeer.hpp>
+#include <com/sun/star/io/XInputStreamProvider.hpp>
 #include <com/sun/star/resource/StringResource.hpp>
 #include <com/sun/star/util/XCloneable.hpp>
 #include <com/sun/star/util/NumberFormatsSupplier.hpp>
diff --git a/basctl/source/inc/basobj.hxx b/basctl/source/inc/basobj.hxx
index 3e11b978f7eb..1768b0953bec 100644
--- a/basctl/source/inc/basobj.hxx
+++ b/basctl/source/inc/basobj.hxx
@@ -21,6 +21,8 @@
 #include <basctl/basctldllpublic.hxx>
 #include <basctl/scriptdocument.hxx>
 #include <tools/long.hxx>
+#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
 
 class SbMethod;
 class SbModule;
diff --git a/basegfx/source/curve/b2dbeziertools.cxx 
b/basegfx/source/curve/b2dbeziertools.cxx
index 2a4a360a71be..e02fc45a1979 100644
--- a/basegfx/source/curve/b2dbeziertools.cxx
+++ b/basegfx/source/curve/b2dbeziertools.cxx
@@ -19,6 +19,7 @@
 
 #include <basegfx/curve/b2dbeziertools.hxx>
 #include <basegfx/curve/b2dcubicbezier.hxx>
+#include <basegfx/vector/b2dvector.hxx>
 #include <algorithm>
 #include <cassert>
 
diff --git a/basegfx/source/curve/b2dcubicbezier.cxx 
b/basegfx/source/curve/b2dcubicbezier.cxx
index 68e4fbe43ad9..39aeda7fbe40 100644
--- a/basegfx/source/curve/b2dcubicbezier.cxx
+++ b/basegfx/source/curve/b2dcubicbezier.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <basegfx/curve/b2dcubicbezier.hxx>
+#include <basegfx/range/b2drange.hxx>
 #include <basegfx/vector/b2dvector.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
diff --git a/basegfx/source/matrix/b3dhommatrixtools.cxx 
b/basegfx/source/matrix/b3dhommatrixtools.cxx
index 70ca2dea50b7..fcb395b5d4d4 100644
--- a/basegfx/source/matrix/b3dhommatrixtools.cxx
+++ b/basegfx/source/matrix/b3dhommatrixtools.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <basegfx/matrix/b3dhommatrixtools.hxx>
+#include <basegfx/matrix/b3dhommatrix.hxx>
 #include <com/sun/star/drawing/HomogenMatrix.hpp>
 
 namespace basegfx::utils
diff --git a/basegfx/source/polygon/WaveLine.cxx 
b/basegfx/source/polygon/WaveLine.cxx
index bc85c4536250..c9eddd4ab2c3 100644
--- a/basegfx/source/polygon/WaveLine.cxx
+++ b/basegfx/source/polygon/WaveLine.cxx
@@ -10,6 +10,7 @@
 
 #include <basegfx/polygon/WaveLine.hxx>
 #include <basegfx/point/b2dpoint.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
 
 namespace basegfx
 {
diff --git a/basegfx/source/polygon/b2dlinegeometry.cxx 
b/basegfx/source/polygon/b2dlinegeometry.cxx
index 3489c3d5e82f..f8d14d7d8af0 100644
--- a/basegfx/source/polygon/b2dlinegeometry.cxx
+++ b/basegfx/source/polygon/b2dlinegeometry.cxx
@@ -22,6 +22,7 @@
 #include <basegfx/polygon/b2dlinegeometry.hxx>
 #include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/vector/b2dvector.hxx>
+#include <basegfx/vector/b2enums.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <basegfx/range/b2drange.hxx>
diff --git a/basegfx/source/polygon/b2dpolygon.cxx 
b/basegfx/source/polygon/b2dpolygon.cxx
index 895116c1861b..c7a334a85776 100644
--- a/basegfx/source/polygon/b2dpolygon.cxx
+++ b/basegfx/source/polygon/b2dpolygon.cxx
@@ -22,6 +22,7 @@
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/vector/b2dvector.hxx>
+#include <basegfx/vector/b2enums.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/curve/b2dcubicbezier.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
diff --git a/basegfx/source/polygon/b2dpolygoncutandtouch.cxx 
b/basegfx/source/polygon/b2dpolygoncutandtouch.cxx
index c014eb0fd6c3..1d53bfcfff33 100644
--- a/basegfx/source/polygon/b2dpolygoncutandtouch.cxx
+++ b/basegfx/source/polygon/b2dpolygoncutandtouch.cxx
@@ -23,7 +23,10 @@
 #include <basegfx/numeric/ftools.hxx>
 #include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/vector/b2dvector.hxx>
+#include <basegfx/vector/b2enums.hxx>
 #include <basegfx/range/b2drange.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/curve/b2dcubicbezier.hxx>
 
diff --git a/basegfx/source/polygon/b2dpolygontools.cxx 
b/basegfx/source/polygon/b2dpolygontools.cxx
index 00a5844e3394..a157dedc4c7a 100644
--- a/basegfx/source/polygon/b2dpolygontools.cxx
+++ b/basegfx/source/polygon/b2dpolygontools.cxx
@@ -27,6 +27,7 @@
 #include <sal/log.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/polygon/b3dpolygon.hxx>
 #include <basegfx/range/b2drange.hxx>
 #include <basegfx/curve/b2dcubicbezier.hxx>
 #include <basegfx/point/b3dpoint.hxx>
@@ -34,6 +35,7 @@
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/curve/b2dbeziertools.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
+#include <basegfx/vector/b2enums.hxx>
 
 // #i37443#
 constexpr double ANGLE_BOUND_START_VALUE = 2.25;
diff --git a/basegfx/source/polygon/b2dpolygontriangulator.cxx 
b/basegfx/source/polygon/b2dpolygontriangulator.cxx
index b72e3da6039d..4f28b11fa235 100644
--- a/basegfx/source/polygon/b2dpolygontriangulator.cxx
+++ b/basegfx/source/polygon/b2dpolygontriangulator.cxx
@@ -22,6 +22,7 @@
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/vector/b2dvector.hxx>
+#include <basegfx/vector/b2enums.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <basegfx/range/b2drange.hxx>
diff --git a/basegfx/source/polygon/b2dpolypolygoncutter.cxx 
b/basegfx/source/polygon/b2dpolypolygoncutter.cxx
index a6c7bdc543a2..3e43a99b04ff 100644
--- a/basegfx/source/polygon/b2dpolypolygoncutter.cxx
+++ b/basegfx/source/polygon/b2dpolypolygoncutter.cxx
@@ -20,6 +20,7 @@
 #include <basegfx/polygon/b2dpolypolygoncutter.hxx>
 #include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/vector/b2dvector.hxx>
+#include <basegfx/vector/b2enums.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolygoncutandtouch.hxx>
diff --git a/basegfx/source/polygon/b2dpolypolygontools.cxx 
b/basegfx/source/polygon/b2dpolypolygontools.cxx
index 4edb248b59ee..68fa4b136683 100644
--- a/basegfx/source/polygon/b2dpolypolygontools.cxx
+++ b/basegfx/source/polygon/b2dpolypolygontools.cxx
@@ -23,7 +23,10 @@
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
+#include <basegfx/polygon/b3dpolygon.hxx>
+#include <basegfx/polygon/b3dpolypolygon.hxx>
 #include <basegfx/numeric/ftools.hxx>
+#include <basegfx/vector/b2enums.hxx>
 #include <rtl/math.hxx>
 
 #include <algorithm>
diff --git a/basegfx/source/polygon/b2dsvgpolypolygon.cxx 
b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
index a7a25e6e17bb..c2c258ef2222 100644
--- a/basegfx/source/polygon/b2dsvgpolypolygon.cxx
+++ b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
@@ -22,6 +22,7 @@
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
+#include <basegfx/vector/b2enums.hxx>
 
 #include <rtl/ustring.hxx>
 #include <sal/log.hxx>
diff --git a/basegfx/source/range/b2drangeclipper.cxx 
b/basegfx/source/range/b2drangeclipper.cxx
index 401ff20caa1d..e963e240f0d6 100644
--- a/basegfx/source/range/b2drangeclipper.cxx
+++ b/basegfx/source/range/b2drangeclipper.cxx
@@ -23,6 +23,7 @@
 #include <basegfx/range/b2drangeclipper.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/range/b2drectangle.hxx>
+#include <basegfx/vector/b2enums.hxx>
 
 #include <o3tl/vector_pool.hxx>
 
diff --git a/basegfx/source/vector/b2dvector.cxx 
b/basegfx/source/vector/b2dvector.cxx
index 98f2d31b6a79..82a41bd41dac 100644
--- a/basegfx/source/vector/b2dvector.cxx
+++ b/basegfx/source/vector/b2dvector.cxx
@@ -20,6 +20,7 @@
 #include <basegfx/vector/b2dvector.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/numeric/ftools.hxx>
+#include <basegfx/vector/b2enums.hxx>
 #include <cassert>
 
 namespace basegfx
diff --git a/basegfx/test/B2DPolyRangeTest.cxx 
b/basegfx/test/B2DPolyRangeTest.cxx
index 84e66fa245d1..174a56a898d1 100644
--- a/basegfx/test/B2DPolyRangeTest.cxx
+++ b/basegfx/test/B2DPolyRangeTest.cxx
@@ -21,6 +21,7 @@
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
 
+#include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/range/b2drange.hxx>
 #include <basegfx/range/b2dpolyrange.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
diff --git a/basegfx/test/B2DPolygonTest.cxx b/basegfx/test/B2DPolygonTest.cxx
index 581108b960a5..eadbdca93699 100644
--- a/basegfx/test/B2DPolygonTest.cxx
+++ b/basegfx/test/B2DPolygonTest.cxx
@@ -23,6 +23,7 @@
 
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/point/b2dpoint.hxx>
+#include <basegfx/vector/b2enums.hxx>
 
 namespace basegfx
 {
diff --git a/basegfx/test/B2DPolygonToolsTest.cxx 
b/basegfx/test/B2DPolygonToolsTest.cxx
index 8d9ae4e64bbd..19a4ee99be5c 100644
--- a/basegfx/test/B2DPolygonToolsTest.cxx
+++ b/basegfx/test/B2DPolygonToolsTest.cxx
@@ -21,6 +21,7 @@
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
 
+#include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 
 namespace basegfx
diff --git a/basic/qa/cppunit/basictest.hxx b/basic/qa/cppunit/basictest.hxx
index f2fe34e9224c..bf23e2d78c1d 100644
--- a/basic/qa/cppunit/basictest.hxx
+++ b/basic/qa/cppunit/basictest.hxx
@@ -12,6 +12,7 @@
 #include <basic/sbstar.hxx>
 #include <basic/basrdll.hxx>
 #include <basic/sbmod.hxx>
+#include <comphelper/errcode.hxx>
 
 class MacroSnippet
 {
diff --git a/basic/qa/cppunit/test_global_array.cxx 
b/basic/qa/cppunit/test_global_array.cxx
index 3d978872245e..d57c0bda642a 100644
--- a/basic/qa/cppunit/test_global_array.cxx
+++ b/basic/qa/cppunit/test_global_array.cxx
@@ -10,6 +10,7 @@
 #include <basic/sbstar.hxx>
 #include <basic/sbmeth.hxx>
 #include <basic/basrdll.hxx>
+#include <comphelper/errcode.hxx>
 #include <cppunit/extensions/HelperMacros.h>
 
 namespace
diff --git a/basic/qa/cppunit/test_global_as_new.cxx 
b/basic/qa/cppunit/test_global_as_new.cxx
index 44b767259985..4064c6b20a41 100644
--- a/basic/qa/cppunit/test_global_as_new.cxx
+++ b/basic/qa/cppunit/test_global_as_new.cxx
@@ -10,6 +10,7 @@
 #include <basic/sbstar.hxx>
 #include <basic/sbmeth.hxx>
 #include <basic/basrdll.hxx>
+#include <comphelper/errcode.hxx>
 #include <cppunit/extensions/HelperMacros.h>
 
 namespace
diff --git a/basic/qa/cppunit/test_tdf149714.cxx 
b/basic/qa/cppunit/test_tdf149714.cxx
index 0c58038daedf..b82ea3dce299 100644
--- a/basic/qa/cppunit/test_tdf149714.cxx
+++ b/basic/qa/cppunit/test_tdf149714.cxx
@@ -10,6 +10,7 @@
 #include <sal/config.h>
 #include <basic/sbstar.hxx>
 #include <basic/sbmeth.hxx>
+#include <comphelper/errcode.hxx>
 #include <cppunit/extensions/HelperMacros.h>
 
 #include <unotest/directories.hxx>
diff --git a/basic/source/runtime/basrdll.cxx b/basic/source/runtime/basrdll.cxx
index 853863b4fcfd..984acc7039cd 100644
--- a/basic/source/runtime/basrdll.cxx
+++ b/basic/source/runtime/basrdll.cxx
@@ -20,6 +20,7 @@
 #include <memory>
 #include <mutex>
 
+#include <unotools/resmgr.hxx>
 #include <vcl/svapp.hxx>
 #include <tools/debug.hxx>
 #include <vcl/weld.hxx>
diff --git a/codemaker/source/codemaker/exceptiontree.cxx 
b/codemaker/source/codemaker/exceptiontree.cxx
index 148f017b6877..be5e3ca7b2b3 100644
--- a/codemaker/source/codemaker/exceptiontree.cxx
+++ b/codemaker/source/codemaker/exceptiontree.cxx
@@ -20,6 +20,7 @@
 
 #include <codemaker/exceptiontree.hxx>
 #include <codemaker/typemanager.hxx>
+#include <codemaker/unotype.hxx>
 
 #include <rtl/ref.hxx>
 #include <rtl/string.hxx>
diff --git a/codemaker/source/codemaker/typemanager.cxx 
b/codemaker/source/codemaker/typemanager.cxx
index f160a5cfa7ec..0ff3288dcd6c 100644
--- a/codemaker/source/codemaker/typemanager.cxx
+++ b/codemaker/source/codemaker/typemanager.cxx
@@ -25,6 +25,7 @@
 
 #include <codemaker/global.hxx>
 #include <codemaker/typemanager.hxx>
+#include <codemaker/unotype.hxx>
 #include <rtl/ref.hxx>
 #include <rtl/ustring.hxx>
 #include <unoidl/unoidl.hxx>
diff --git a/codemaker/source/commonjava/commonjava.cxx 
b/codemaker/source/commonjava/commonjava.cxx
index 424b1dcbe783..8442561d02b0 100644
--- a/codemaker/source/commonjava/commonjava.cxx
+++ b/codemaker/source/commonjava/commonjava.cxx
@@ -27,6 +27,7 @@
 #include <codemaker/unotype.hxx>
 
 #include <rtl/strbuf.h>
+#include <rtl/strbuf.hxx>
 #include <rtl/string.h>
 #include <rtl/string.hxx>
 #include <rtl/ustring.hxx>
diff --git a/codemaker/source/netmaker/netproduce.cxx 
b/codemaker/source/netmaker/netproduce.cxx
index c91a82696ff8..3eb68c22a7fe 100644
--- a/codemaker/source/netmaker/netproduce.cxx
+++ b/codemaker/source/netmaker/netproduce.cxx
@@ -14,6 +14,7 @@
 #include <rtl/strbuf.hxx>
 #include <unoidl/unoidl.hxx>
 
+#include <codemaker/unotype.hxx>
 #include "netproduce.hxx"
 #include "csharpfile.hxx"
 
diff --git a/codemaker/source/pythonmaker/pythontype.hxx 
b/codemaker/source/pythonmaker/pythontype.hxx
index 60ec1481cba5..d5b9f21ccb2e 100644
--- a/codemaker/source/pythonmaker/pythontype.hxx
+++ b/codemaker/source/pythonmaker/pythontype.hxx
@@ -11,6 +11,7 @@
 #include <sal/config.h>
 #include <rtl/ref.hxx>
 #include <rtl/string.hxx>
+#include <rtl/strbuf.hxx>
 #include <rtl/ustring.hxx>
 #include <set>
 #include <vector>
diff --git a/comphelper/source/misc/docpasswordhelper.cxx 
b/comphelper/source/misc/docpasswordhelper.cxx
index a22dc4771f13..bc17e01bf796 100644
--- a/comphelper/source/misc/docpasswordhelper.cxx
+++ b/comphelper/source/misc/docpasswordhelper.cxx
@@ -23,6 +23,7 @@
 #include <string_view>
 
 #include <comphelper/docpasswordhelper.hxx>
+#include <comphelper/docpasswordrequest.hxx>
 #include <comphelper/propertyvalue.hxx>
 #include <comphelper/storagehelper.hxx>
 #include <comphelper/hash.hxx>
@@ -30,12 +31,14 @@
 #include <comphelper/sequence.hxx>
 #include <com/sun/star/beans/NamedValue.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/task/PasswordRequestMode.hpp>
 #include <com/sun/star/task/XInteractionHandler.hpp>
 
 #include <osl/diagnose.h>
 #include <sal/log.hxx>
 #include <rtl/digest.h>
 #include <rtl/random.h>
+#include <rtl/ref.hxx>
 #include <string.h>
 
 #if HAVE_FEATURE_GPGME
diff --git a/comphelper/source/misc/graphicmimetype.cxx 
b/comphelper/source/misc/graphicmimetype.cxx
index 9803915b6df4..9981b33ed386 100644
--- a/comphelper/source/misc/graphicmimetype.cxx
+++ b/comphelper/source/misc/graphicmimetype.cxx
@@ -32,6 +32,7 @@
 
 #include <comphelper/processfactory.hxx>
 #include <comphelper/propertyvalue.hxx>
+#include <vcl/salctype.hxx>
 
 #include <frozen/bits/elsa_std.h>
 #include <frozen/unordered_map.h>
diff --git a/comphelper/source/property/propshlp.cxx 
b/comphelper/source/property/propshlp.cxx
index a15dee7dba36..9ff7b2109eb9 100644
--- a/comphelper/source/property/propshlp.cxx
+++ b/comphelper/source/property/propshlp.cxx
@@ -22,6 +22,7 @@
 #include <cppuhelper/queryinterface.hxx>
 #include <comphelper/propshlp.hxx>
 #include <cppuhelper/exc_hlp.hxx>
+#include <cppuhelper/propshlp.hxx>
 #include <com/sun/star/beans/PropertyAttribute.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
diff --git a/connectivity/source/commontools/dbexception.cxx 
b/connectivity/source/commontools/dbexception.cxx
index 113a96ea57f1..64c4d0538460 100644
--- a/connectivity/source/commontools/dbexception.cxx
+++ b/connectivity/source/commontools/dbexception.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <connectivity/dbexception.hxx>
+#include <connectivity/standardsqlstate.hxx>
 #include <comphelper/types.hxx>
 #include <cppuhelper/exc_hlp.hxx>
 #include <o3tl/any.hxx>
diff --git a/connectivity/source/commontools/dbmetadata.cxx 
b/connectivity/source/commontools/dbmetadata.cxx
index c269b9ca6c0d..271c120c383b 100644
--- a/connectivity/source/commontools/dbmetadata.cxx
+++ b/connectivity/source/commontools/dbmetadata.cxx
@@ -21,6 +21,7 @@
 #include <connectivity/dbmetadata.hxx>
 #include <connectivity/dbexception.hxx>
 #include <connectivity/DriversConfig.hxx>
+#include <connectivity/standardsqlstate.hxx>
 #include <strings.hrc>
 #include <resource/sharedresources.hxx>
 
diff --git a/connectivity/source/commontools/dbtools.cxx 
b/connectivity/source/commontools/dbtools.cxx
index e87425554d6f..391377601b15 100644
--- a/connectivity/source/commontools/dbtools.cxx
+++ b/connectivity/source/commontools/dbtools.cxx
@@ -71,6 +71,7 @@
 #include <connectivity/dbconversion.hxx>
 #include <connectivity/dbexception.hxx>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/FValue.hxx>
 #include <connectivity/statementcomposer.hxx>
 #include <o3tl/any.hxx>
 #include <o3tl/safeint.hxx>
diff --git a/connectivity/source/commontools/dbtools2.cxx 
b/connectivity/source/commontools/dbtools2.cxx
index 1da346c2630b..3fe9bc5b6a34 100644
--- a/connectivity/source/commontools/dbtools2.cxx
+++ b/connectivity/source/commontools/dbtools2.cxx
@@ -20,6 +20,7 @@
 #include <connectivity/dbtools.hxx>
 #include <connectivity/dbconversion.hxx>
 #include <connectivity/dbcharset.hxx>
+#include <connectivity/dbexception.hxx>
 #include <SQLStatementHelper.hxx>
 #include <unotools/confignode.hxx>
 #include <resource/sharedresources.hxx>
diff --git a/connectivity/source/drivers/calc/CTable.cxx 
b/connectivity/source/drivers/calc/CTable.cxx
index 614fd217e0ff..cb3c3d082e21 100644
--- a/connectivity/source/drivers/calc/CTable.cxx
+++ b/connectivity/source/drivers/calc/CTable.cxx
@@ -31,6 +31,7 @@
 #include <com/sun/star/sheet/XUsedAreaCursor.hpp>
 #include <com/sun/star/sheet/CellFlags.hpp>
 #include <com/sun/star/sheet/FormulaResult.hpp>
+#include <com/sun/star/util/DateTime.hpp>
 #include <com/sun/star/util/NumberFormat.hpp>
 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
 #include <com/sun/star/text/XText.hpp>
diff --git a/connectivity/source/drivers/file/fcomp.cxx 
b/connectivity/source/drivers/file/fcomp.cxx
index 86ed7d4cf8c5..c39a055fd674 100644
--- a/connectivity/source/drivers/file/fcomp.cxx
+++ b/connectivity/source/drivers/file/fcomp.cxx
@@ -21,6 +21,9 @@
 #include <tools/debug.hxx>
 #include <connectivity/sqlparse.hxx>
 #include <file/fanalyzer.hxx>
+#include <com/sun/star/util/Date.hpp>
+#include <com/sun/star/util/DateTime.hpp>
+#include <com/sun/star/util/Time.hpp>
 #include <com/sun/star/sdbc/XColumnLocate.hpp>
 #include <connectivity/dbexception.hxx>
 #include <connectivity/dbconversion.hxx>
diff --git a/connectivity/source/drivers/firebird/ResultSet.cxx 
b/connectivity/source/drivers/firebird/ResultSet.cxx
index ce6b875554da..dd4d464568f4 100644
--- a/connectivity/source/drivers/firebird/ResultSet.cxx
+++ b/connectivity/source/drivers/firebird/ResultSet.cxx
@@ -24,6 +24,7 @@
 #include <comphelper/sequence.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <connectivity/dbexception.hxx>
+#include <connectivity/standardsqlstate.hxx>
 #include <propertyids.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <sal/log.hxx>
diff --git a/connectivity/source/drivers/firebird/Table.cxx 
b/connectivity/source/drivers/firebird/Table.cxx
index 701b6c8134cc..306096cbe0f1 100644
--- a/connectivity/source/drivers/firebird/Table.cxx
+++ b/connectivity/source/drivers/firebird/Table.cxx
@@ -16,6 +16,7 @@
 
 #include <sal/log.hxx>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 
 #include <com/sun/star/sdbc/ColumnValue.hpp>
 #include <com/sun/star/sdbcx/Privilege.hpp>
diff --git a/connectivity/source/drivers/firebird/Tables.cxx 
b/connectivity/source/drivers/firebird/Tables.cxx
index 3675882446f4..2b68501bc785 100644
--- a/connectivity/source/drivers/firebird/Tables.cxx
+++ b/connectivity/source/drivers/firebird/Tables.cxx
@@ -15,9 +15,11 @@
 #include <TConnection.hxx>
 
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 
 #include <com/sun/star/sdbc/XRow.hpp>
 #include <com/sun/star/sdbc/ColumnValue.hpp>
+#include <com/sun/star/sdbc/DataType.hpp>
 #include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
 #include <comphelper/types.hxx>
 
diff --git a/connectivity/source/drivers/odbc/OPreparedStatement.cxx 
b/connectivity/source/drivers/odbc/OPreparedStatement.cxx
index 0d22ba3abeaa..b1420dd023b5 100644
--- a/connectivity/source/drivers/odbc/OPreparedStatement.cxx
+++ b/connectivity/source/drivers/odbc/OPreparedStatement.cxx
@@ -29,6 +29,7 @@
 #include <odbc/OResultSetMetaData.hxx>
 #include <comphelper/sequence.hxx>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 #include <comphelper/types.hxx>
 #include <connectivity/FValue.hxx>
 #include <strings.hrc>
diff --git a/connectivity/source/inc/flat/ETable.hxx 
b/connectivity/source/inc/flat/ETable.hxx
index 3d82e0e31cd7..1720ef3d592a 100644
--- a/connectivity/source/inc/flat/ETable.hxx
+++ b/connectivity/source/inc/flat/ETable.hxx
@@ -24,6 +24,7 @@
 #include <connectivity/CommonTools.hxx>
 #include <file/quotedstring.hxx>
 #include <unotools/syslocale.hxx>
+#include <com/sun/star/util/Date.hpp>
 #include <com/sun/star/util/XNumberFormatter.hpp>
 
 namespace connectivity::flat
diff --git a/connectivity/source/parse/sqliterator.cxx 
b/connectivity/source/parse/sqliterator.cxx
index 4e322731a146..6166c981934a 100644
--- a/connectivity/source/parse/sqliterator.cxx
+++ b/connectivity/source/parse/sqliterator.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <connectivity/dbexception.hxx>
 #include <connectivity/sqliterator.hxx>
 #include <connectivity/sdbcx/VTable.hxx>
 #include <connectivity/sqlparse.hxx>
diff --git a/connectivity/source/parse/sqlnode.cxx 
b/connectivity/source/parse/sqlnode.cxx
index 1192183fc636..7575010cecf1 100644
--- a/connectivity/source/parse/sqlnode.cxx
+++ b/connectivity/source/parse/sqlnode.cxx
@@ -34,6 +34,7 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
 #include <com/sun/star/sdbc/DataType.hpp>
+#include <com/sun/star/sdbc/SQLException.hpp>
 #include <com/sun/star/sdb/XQueriesSupplier.hpp>
 #include <com/sun/star/sdb/ErrorCondition.hpp>
 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
diff --git a/cppcanvas/source/wrapper/implbitmapcanvas.cxx 
b/cppcanvas/source/wrapper/implbitmapcanvas.cxx
index 883ebb005a99..8296d5cebf28 100644
--- a/cppcanvas/source/wrapper/implbitmapcanvas.cxx
+++ b/cppcanvas/source/wrapper/implbitmapcanvas.cxx
@@ -19,6 +19,7 @@
 
 
 #include <basegfx/utils/canvastools.hxx>
+#include <basegfx/vector/b2isize.hxx>
 #include <osl/diagnose.h>
 
 #include "implbitmapcanvas.hxx"
diff --git a/cui/source/dialogs/MacroManagerDialog.cxx 
b/cui/source/dialogs/MacroManagerDialog.cxx
index 9c70b622fba5..468cd5c821fd 100644
--- a/cui/source/dialogs/MacroManagerDialog.cxx
+++ b/cui/source/dialogs/MacroManagerDialog.cxx
@@ -50,6 +50,7 @@
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
 #include <com/sun/star/script/XPersistentLibraryContainer.hpp>
 #include <com/sun/star/script/XInvocation.hpp>
+#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
 #include <com/sun/star/uno/RuntimeException.hpp>
 
 ScriptsListBox::ScriptsListBox(std::unique_ptr<weld::TreeView> xTreeView)
diff --git a/cui/source/inc/MacroManagerDialog.hxx 
b/cui/source/inc/MacroManagerDialog.hxx
index 03f92685bac9..a8c48426ad6b 100644
--- a/cui/source/inc/MacroManagerDialog.hxx
+++ b/cui/source/inc/MacroManagerDialog.hxx
@@ -17,6 +17,7 @@
 #include <svl/lstner.hxx>
 
 #include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/script/browse/XBrowseNode.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
 
diff --git a/dbaccess/source/core/api/BookmarkSet.cxx 
b/dbaccess/source/core/api/BookmarkSet.cxx
index a11cbbd5fe7c..23e5f3abebd7 100644
--- a/dbaccess/source/core/api/BookmarkSet.cxx
+++ b/dbaccess/source/core/api/BookmarkSet.cxx
@@ -22,6 +22,7 @@
 #include <strings.hrc>
 #include <com/sun/star/sdbc/XResultSetUpdate.hpp>
 #include <connectivity/dbexception.hxx>
+#include <connectivity/standardsqlstate.hxx>
 
 using namespace dbaccess;
 using namespace ::connectivity;
diff --git a/dbaccess/source/core/api/CacheSet.cxx 
b/dbaccess/source/core/api/CacheSet.cxx
index 064d020e87cd..3be4a43b61d2 100644
--- a/dbaccess/source/core/api/CacheSet.cxx
+++ b/dbaccess/source/core/api/CacheSet.cxx
@@ -31,6 +31,7 @@
 #include <com/sun/star/sdbcx/XIndexesSupplier.hpp>
 
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 #include <com/sun/star/io/XInputStream.hpp>
 #include <comphelper/types.hxx>
 #include <rtl/ustrbuf.hxx>
diff --git a/dbaccess/source/core/api/RowSetBase.cxx 
b/dbaccess/source/core/api/RowSetBase.cxx
index 2b49e8f1650d..6d93173c59ba 100644
--- a/dbaccess/source/core/api/RowSetBase.cxx
+++ b/dbaccess/source/core/api/RowSetBase.cxx
@@ -33,6 +33,7 @@
 #include <comphelper/sequence.hxx>
 #include <comphelper/seqstream.hxx>
 #include <connectivity/dbexception.hxx>
+#include <connectivity/standardsqlstate.hxx>
 #include <o3tl/safeint.hxx>
 #include <comphelper/diagnose_ex.hxx>
 
diff --git a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx 
b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
index b385c5fb6c70..878737765c24 100644
--- a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
+++ b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
@@ -47,6 +47,7 @@
 #include <comphelper/types.hxx>
 #include <cppuhelper/exc_hlp.hxx>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 #include <connectivity/PColumn.hxx>
 #include <connectivity/predicateinput.hxx>
 #include <comphelper/diagnose_ex.hxx>
diff --git a/dbaccess/source/core/api/query.cxx 
b/dbaccess/source/core/api/query.cxx
index 8d50eacde1ff..86e50042ece7 100644
--- a/dbaccess/source/core/api/query.cxx
+++ b/dbaccess/source/core/api/query.cxx
@@ -20,6 +20,7 @@
 #include "query.hxx"
 #include <stringconstants.hxx>
 #include <connectivity/dbexception.hxx>
+#include <connectivity/standardsqlstate.hxx>
 #include <connectivity/PColumn.hxx>
 #include <connectivity/warningscontainer.hxx>
 #include "HelperCollections.hxx"
diff --git a/dbaccess/source/core/dataaccess/databasecontext.cxx 
b/dbaccess/source/core/dataaccess/databasecontext.cxx
index 8b4f815f3414..f6dfcfed57c4 100644
--- a/dbaccess/source/core/dataaccess/databasecontext.cxx
+++ b/dbaccess/source/core/dataaccess/databasecontext.cxx
@@ -36,6 +36,7 @@
 #include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/frame/XTerminateListener.hpp>
 #include <com/sun/star/sdbc/XDataSource.hpp>
+#include <com/sun/star/sdbc/SQLException.hpp>
 #include <com/sun/star/task/InteractionClassification.hpp>
 #include <com/sun/star/ucb/InteractiveIOException.hpp>
 #include <com/sun/star/ucb/IOErrorCode.hpp>
diff --git a/dbaccess/source/core/recovery/subcomponentrecovery.cxx 
b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
index 2cf8ea3a43f4..f96a21818442 100644
--- a/dbaccess/source/core/recovery/subcomponentrecovery.cxx
+++ b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
@@ -24,6 +24,7 @@
 #include "subcomponentloader.hxx"
 #include "settingsimport.hxx"
 
+#include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/embed/ElementModes.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
 #include <com/sun/star/document/XStorageBasedDocument.hpp>
diff --git a/dbaccess/source/sdbtools/connection/connectiontools.cxx 
b/dbaccess/source/sdbtools/connection/connectiontools.cxx
index c0189744700c..e464d2c49162 100644
--- a/dbaccess/source/sdbtools/connection/connectiontools.cxx
+++ b/dbaccess/source/sdbtools/connection/connectiontools.cxx
@@ -25,6 +25,7 @@
 #include <comphelper/namedvaluecollection.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 #include <connectivity/statementcomposer.hxx>
 
 namespace sdbtools
diff --git a/dbaccess/source/sdbtools/connection/objectnames.cxx 
b/dbaccess/source/sdbtools/connection/objectnames.cxx
index fe1caa97289a..3ad25c9b0142 100644
--- a/dbaccess/source/sdbtools/connection/objectnames.cxx
+++ b/dbaccess/source/sdbtools/connection/objectnames.cxx
@@ -22,7 +22,9 @@
 
 #include <strings.hrc>
 
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/sdb/CommandType.hpp>
+#include <com/sun/star/sdbc/SQLException.hpp>
 #include <com/sun/star/sdbcx/XTablesSupplier.hpp>
 #include <com/sun/star/sdb/XQueriesSupplier.hpp>
 #include <com/sun/star/sdb/ErrorCondition.hpp>
diff --git a/dbaccess/source/ui/app/AppControllerGen.cxx 
b/dbaccess/source/ui/app/AppControllerGen.cxx
index ae5466655386..f7271b6e3338 100644
--- a/dbaccess/source/ui/app/AppControllerGen.cxx
+++ b/dbaccess/source/ui/app/AppControllerGen.cxx
@@ -29,6 +29,7 @@
 #include <UITools.hxx>
 #include "subcomponentmanager.hxx"
 
+#include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/container/XChild.hpp>
 #include <com/sun/star/container/XContainer.hpp>
 #include <com/sun/star/container/XHierarchicalNameContainer.hpp>
@@ -38,6 +39,7 @@
 #include <com/sun/star/sdbcx/XRename.hpp>
 #include <com/sun/star/sdb/ErrorCondition.hpp>
 #include <com/sun/star/sdb/application/DatabaseObject.hpp>
+#include <com/sun/star/sdbc/SQLException.hpp>
 #include <com/sun/star/sdbcx/XTablesSupplier.hpp>
 #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
 #include <com/sun/star/util/XRefreshable.hpp>
diff --git a/dbaccess/source/ui/control/TableGrantCtrl.cxx 
b/dbaccess/source/ui/control/TableGrantCtrl.cxx
index c19b945854aa..c48f2afe3964 100644
--- a/dbaccess/source/ui/control/TableGrantCtrl.cxx
+++ b/dbaccess/source/ui/control/TableGrantCtrl.cxx
@@ -26,6 +26,7 @@
 #include <com/sun/star/sdbcx/XUsersSupplier.hpp>
 #include <com/sun/star/sdbcx/XAuthorizable.hpp>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 #include <toolkit/helper/vclunohelper.hxx>
 #include <vcl/svapp.hxx>
 #include <osl/diagnose.h>
diff --git a/dbaccess/source/ui/dlg/indexdialog.cxx 
b/dbaccess/source/ui/dlg/indexdialog.cxx
index 160eafa192ec..c852812a8fdd 100644
--- a/dbaccess/source/ui/dlg/indexdialog.cxx
+++ b/dbaccess/source/ui/dlg/indexdialog.cxx
@@ -31,6 +31,7 @@
 #include <vcl/weld.hxx>
 #include <com/sun/star/sdb/SQLContext.hpp>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 #include <osl/diagnose.h>
 
 namespace dbaui
diff --git a/dbaccess/source/ui/dlg/tablespage.cxx 
b/dbaccess/source/ui/dlg/tablespage.cxx
index e827cce83bff..ea5d53be7085 100644
--- a/dbaccess/source/ui/dlg/tablespage.cxx
+++ b/dbaccess/source/ui/dlg/tablespage.cxx
@@ -25,6 +25,7 @@
 #include <stringlistitem.hxx>
 #include <svl/stritem.hxx>
 #include <strings.hxx>
+#include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/sdbc/SQLException.hpp>
 #include <com/sun/star/util/XModifiable.hpp>
 #include <sqlmessage.hxx>
diff --git a/dbaccess/source/ui/misc/linkeddocuments.cxx 
b/dbaccess/source/ui/misc/linkeddocuments.cxx
index d2fda9527144..9b5147b98b58 100644
--- a/dbaccess/source/ui/misc/linkeddocuments.cxx
+++ b/dbaccess/source/ui/misc/linkeddocuments.cxx
@@ -41,6 +41,7 @@
 
 #include <cppuhelper/exc_hlp.hxx>
 #include <connectivity/dbtools.hxx>
+#include <connectivity/dbexception.hxx>
 #include <com/sun/star/io/WrongFormatException.hpp>
 
 namespace dbaui
diff --git a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx 
b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
index 01d7f66c3ef6..d6fb7ed3f287 100644
--- a/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/helplineprimitive2d.cxx
@@ -19,6 +19,7 @@
 
 #include <drawinglayer/primitive2d/helplineprimitive2d.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolygonclipper.hxx>
 #include <drawinglayer/geometry/viewinformation2d.hxx>
 #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
diff --git a/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
index 6297c7df0b07..aaaa1bc5fad3 100644
--- a/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <drawinglayer/primitive3d/sdrcubeprimitive3d.hxx>
+#include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/polygon/b3dpolypolygontools.hxx>
 #include <basegfx/polygon/b3dpolygon.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
diff --git a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
index ed0e8d41c4ab..a9540d23c444 100644
--- a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
@@ -24,6 +24,7 @@
 #include <drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
+#include <basegfx/polygon/b3dpolygon.hxx>
 #include <primitive3d/sdrdecompositiontools3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
diff --git a/drawinglayer/source/tools/emfppen.hxx 
b/drawinglayer/source/tools/emfppen.hxx
index 31812c8b0c0e..bdb5ebf0599b 100644
--- a/drawinglayer/source/tools/emfppen.hxx
+++ b/drawinglayer/source/tools/emfppen.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include <basegfx/vector/b2enums.hxx>
 #include <drawinglayer/attribute/strokeattribute.hxx>
 #include "emfpbrush.hxx"
 #include <vector>
diff --git a/extensions/source/propctrlr/sqlcommanddesign.cxx 
b/extensions/source/propctrlr/sqlcommanddesign.cxx
index c4e0d2f365b8..1c3c1e2a3a03 100644
--- a/extensions/source/propctrlr/sqlcommanddesign.cxx
+++ b/extensions/source/propctrlr/sqlcommanddesign.cxx
@@ -25,6 +25,7 @@
 
 #include <com/sun/star/awt/XWindow.hpp>
 #include <com/sun/star/awt/XTopWindow.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/uno/Sequence.hxx>
 #include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XTitle.hpp>
diff --git a/forms/source/component/ComboBox.cxx 
b/forms/source/component/ComboBox.cxx
index e8e8e929312d..35a5543d230f 100644
--- a/forms/source/component/ComboBox.cxx
+++ b/forms/source/component/ComboBox.cxx
@@ -31,6 +31,7 @@
 #include <com/sun/star/sdbc/XRowSet.hpp>
 #include <com/sun/star/container/XIndexAccess.hpp>
 #include <com/sun/star/sdbc/XConnection.hpp>
+#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
 
 #include <comphelper/basicio.hxx>
 #include <comphelper/property.hxx>
diff --git a/forms/source/component/FormComponent.cxx 
b/forms/source/component/FormComponent.cxx
index 0492afa4817f..8ccec384f410 100644
--- a/forms/source/component/FormComponent.cxx
+++ b/forms/source/component/FormComponent.cxx
@@ -39,6 +39,7 @@
 #include <com/sun/star/sdbc/ColumnValue.hpp>
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <com/sun/star/sdbc/SQLException.hpp>
+#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
 #include <com/sun/star/util/VetoException.hpp>
 #include <com/sun/star/util/XModifyBroadcaster.hpp>
 
diff --git a/framework/source/services/pathsettings.cxx 
b/framework/source/services/pathsettings.cxx
index 13727cb0dcb7..4cf707ce30f3 100644
--- a/framework/source/services/pathsettings.cxx
+++ b/framework/source/services/pathsettings.cxx
@@ -48,6 +48,7 @@
 #include <comphelper/compbase.hxx>
 #include <comphelper/sequence.hxx>
 #include <comphelper/configurationhelper.hxx>
+#include <cppuhelper/propshlp.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <unotools/configpaths.hxx>
 #include <o3tl/string_view.hxx>
diff --git a/include/IwyuFilter_include.yaml b/include/IwyuFilter_include.yaml
index 0728d7fb30e8..f4e095521f2c 100644
--- a/include/IwyuFilter_include.yaml
+++ b/include/IwyuFilter_include.yaml
@@ -139,6 +139,7 @@ excludelist:
     - com/sun/star/accessibility/XAccessibleKeyBinding.hpp
     include/comphelper/OAccessible.hxx:
     # base class has to be a complete type
+    - com/sun/star/accessibility/XAccessibleContext2.hpp
     - com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp
     - com/sun/star/accessibility/XAccessibleExtendedComponent.hpp
     include/comphelper/accessibleselectionhelper.hxx:
@@ -174,12 +175,22 @@ excludelist:
     - com/sun/star/task/XInteractionDisapprove.hpp
     - com/sun/star/task/XInteractionRequest.hpp
     - com/sun/star/task/XInteractionRetry.hpp
+    include/comphelper/indexedpropertyvalues.hxx:
+    # base class has to be a complete type
+    - com/sun/star/container/XIndexContainer.hpp
+    - com/sun/star/lang/XServiceInfo.hpp
     include/comphelper/SelectionMultiplex.hxx:
     # base class has to be a complete type
     - com/sun/star/view/XSelectionChangeListener.hpp
     include/comphelper/MasterPropertySetInfo.hxx:
     # base class has to be a complete type
     - com/sun/star/beans/XPropertySetInfo.hpp
+    include/comphelper/memorystream.hxx:
+    # base class has to be a complete type
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/io/XStream.hpp
+    - com/sun/star/io/XSeekableInputStream.hpp
+    - com/sun/star/io/XTruncate.hpp
     include/comphelper/numberedcollection.hxx:
     # base class has to be a complete type
     - com/sun/star/frame/XUntitledNumbers.hpp
@@ -196,6 +207,9 @@ excludelist:
     include/comphelper/propertystatecontainer.hxx:
     # base class has to be a complete type
     - com/sun/star/beans/XPropertyState.hpp
+    include/comphelper/propmultiplex2.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertyChangeListener.hpp
     include/comphelper/seekableinput.hxx:
     # base class has to be a complete type
     - com/sun/star/io/XInputStream.hpp
@@ -204,6 +218,7 @@ excludelist:
     # base class has to be a complete type
     - com/sun/star/io/XInputStream.hpp
     - com/sun/star/io/XSeekable.hpp
+    - com/sun/star/io/XOutputStream.hpp
     include/comphelper/unique_disposing_ptr.hxx:
     # base class has to be a complete type
     - com/sun/star/lang/XServiceInfo.hpp
diff --git a/include/avmedia/mediaitem.hxx b/include/avmedia/mediaitem.hxx
index 024c427b3f7b..5b5c740d5dc7 100644
--- a/include/avmedia/mediaitem.hxx
+++ b/include/avmedia/mediaitem.hxx
@@ -20,7 +20,6 @@
 #pragma once
 
 #include <svl/poolitem.hxx>
-#include <com/sun/star/media/ZoomLevel.hpp>
 #include <avmedia/avmediadllapi.h>
 #include <memory>
 #include <string_view>
@@ -32,6 +31,7 @@ namespace com::sun::star::embed { class XStorage; }
 namespace com::sun::star::frame { class XModel; }
 namespace com::sun::star::io { class XInputStream; }
 namespace com::sun::star::io { class XStream; }
+namespace com::sun::star::media { enum class ZoomLevel; }
 namespace com::sun::star::text { struct GraphicCrop; }
 class Graphic;
 
diff --git a/include/avmedia/mediawindow.hxx b/include/avmedia/mediawindow.hxx
index cb1aa115e294..35fc88df70cb 100644
--- a/include/avmedia/mediawindow.hxx
+++ b/include/avmedia/mediawindow.hxx
@@ -20,14 +20,13 @@
 #pragma once
 
 #include <vector>
-#include <tools/gen.hxx>
-#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/uno/Reference.hxx>
 #include <com/sun/star/media/XPlayerListener.hpp>
 #include <comphelper/compbase.hxx>
 #include <vcl/vclptr.hxx>
 #include <avmedia/avmediadllapi.h>
 
+namespace com::sun::star::awt { struct Size; }
 namespace com::sun::star::frame { class XDispatchProvider; }
 namespace com::sun::star::graphic { class XGraphic; }
 namespace com::sun::star::media {
@@ -35,6 +34,7 @@ namespace com::sun::star::media {
     class XPlayerNotifier;
 }
 
+namespace tools { class Rectangle; }
 namespace vcl { class Window; }
 namespace weld { class Window; }
 class KeyEvent;
@@ -43,6 +43,8 @@ class CommandEvent;
 struct AcceptDropEvent;
 struct ExecuteDropEvent;
 enum class PointerStyle;
+class Point;
+class Size;
 
 namespace avmedia
 {
diff --git a/include/basctl/basctldllpublic.hxx 
b/include/basctl/basctldllpublic.hxx
index 13adf9d7cc3c..bdb23f3101d2 100644
--- a/include/basctl/basctldllpublic.hxx
+++ b/include/basctl/basctldllpublic.hxx
@@ -12,9 +12,34 @@
 #include <sal/config.h>
 
 #include "basctldllapi.h"
-#include "scriptdocument.hxx"
-#include <sfx2/dispatch.hxx>
-#include <vcl/weld.hxx>
+#include <sal/types.h>
+#include <rtl/ustring.hxx>
+
+#include <functional>
+#include <string_view>
+
+class SfxDispatcher;
+
+namespace basctl
+{
+class ScriptDocument;
+}
+namespace com::sun::star::script
+{
+class XLibraryContainer;
+}
+namespace com::sun::star::uno
+{
+template <class interface_type> class Reference;
+}
+namespace weld
+{
+class Dialog;
+}
+namespace weld
+{
+class Widget;
+}
 
 namespace basctl
 {
diff --git a/include/basctl/scriptdocument.hxx 
b/include/basctl/scriptdocument.hxx
index 6b0bd570d0e8..ecbf8269f835 100644
--- a/include/basctl/scriptdocument.hxx
+++ b/include/basctl/scriptdocument.hxx
@@ -21,16 +21,22 @@
 
 #include "basctldllapi.h"
 
-#include <com/sun/star/script/XStorageBasedLibraryContainer.hpp>
-#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/task/XStatusIndicator.hpp>
-#include <com/sun/star/io/XInputStreamProvider.hpp>
+#include <sal/types.h>
+#include <rtl/ustring.hxx>
 
 #include <memory>
 #include <vector>
 
 class BasicManager;
 
+namespace com::sun::star::container { class XNameContainer; }
+namespace com::sun::star::frame { class XModel; }
+namespace com::sun::star::io { class XInputStreamProvider; }
+namespace com::sun::star::script { class XStorageBasedLibraryContainer; }
+namespace com::sun::star::task { class XStatusIndicator; }
+namespace com::sun::star::uno { template <class E> class Sequence; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
+
 
 namespace basctl
 {
diff --git a/include/basegfx/curve/b2dcubicbezier.hxx 
b/include/basegfx/curve/b2dcubicbezier.hxx
index 00a46b6333f2..8c0010afe91e 100644
--- a/include/basegfx/curve/b2dcubicbezier.hxx
+++ b/include/basegfx/curve/b2dcubicbezier.hxx
@@ -20,13 +20,16 @@
 #pragma once
 
 #include <basegfx/point/b2dpoint.hxx>
-#include <basegfx/range/b2drange.hxx>
 #include <basegfx/basegfxdllapi.h>
 
+#include <vector>
+
 namespace basegfx
 {
     class B2DPolygon;
 }
+namespace basegfx { class B2DRange; }
+namespace basegfx { class B2DVector; }
 
 namespace basegfx
 {
diff --git a/include/basegfx/matrix/b2dhommatrixtools.hxx 
b/include/basegfx/matrix/b2dhommatrixtools.hxx
index 9b81f33d2a44..ccb8e15398cd 100644
--- a/include/basegfx/matrix/b2dhommatrixtools.hxx
+++ b/include/basegfx/matrix/b2dhommatrixtools.hxx
@@ -22,11 +22,11 @@
 #include <sal/types.h>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/vector/b2dvector.hxx>
-#include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/tuple/b2dtuple.hxx>
 #include <utility>
 #include <basegfx/basegfxdllapi.h>
 
+namespace basegfx { class B2DPoint; }
 namespace basegfx { class B2DRange; }
 
 namespace basegfx::utils
diff --git a/include/basegfx/matrix/b3dhommatrixtools.hxx 
b/include/basegfx/matrix/b3dhommatrixtools.hxx
index 1ef9a27cc0a7..713fcac2262d 100644
--- a/include/basegfx/matrix/b3dhommatrixtools.hxx
+++ b/include/basegfx/matrix/b3dhommatrixtools.hxx
@@ -20,12 +20,15 @@
 #pragma once
 
 #include <basegfx/basegfxdllapi.h>
-#include <basegfx/matrix/b3dhommatrix.hxx>
 
 namespace com::sun::star::drawing
 {
 struct HomogenMatrix;
 }
+namespace basegfx
+{
+class B3DHomMatrix;
+}
 
 namespace basegfx::utils
 {
diff --git a/include/basegfx/polygon/WaveLine.hxx 
b/include/basegfx/polygon/WaveLine.hxx
index b839c7519808..f0fdc69e4028 100644
--- a/include/basegfx/polygon/WaveLine.hxx
+++ b/include/basegfx/polygon/WaveLine.hxx
@@ -11,9 +11,13 @@
 #pragma once
 
 #include <basegfx/basegfxdllapi.h>
-#include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/range/b2drectangle.hxx>
 
+namespace basegfx
+{
+class B2DPolygon;
+}
+
 namespace basegfx
 {
 // Creates a polygon of a wave line in the input rectangle.
diff --git a/include/basegfx/polygon/b2dlinegeometry.hxx 
b/include/basegfx/polygon/b2dlinegeometry.hxx
index e9cb13ef0781..918cb256dca8 100644
--- a/include/basegfx/polygon/b2dlinegeometry.hxx
+++ b/include/basegfx/polygon/b2dlinegeometry.hxx
@@ -20,11 +20,13 @@
 #pragma once
 
 #include <basegfx/numeric/ftools.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/polygon/b2dpolygon.hxx>
-#include <com/sun/star/drawing/LineCap.hpp>
 #include <basegfx/basegfxdllapi.h>
 
+namespace basegfx { class B2DPolyPolygon; }
+namespace basegfx { class B2DPolygon; }
+namespace basegfx { enum class B2DLineJoin; }
+namespace com::sun::star::drawing { enum class LineCap; }
+
 namespace basegfx::utils
 {
         /** Create line start/end geometry element, mostly arrows and things 
like that.
diff --git a/include/basegfx/polygon/b2dpolygon.hxx 
b/include/basegfx/polygon/b2dpolygon.hxx
index 475733ed677c..8471a14ef06e 100644
--- a/include/basegfx/polygon/b2dpolygon.hxx
+++ b/include/basegfx/polygon/b2dpolygon.hxx
@@ -25,7 +25,6 @@
 
 #include <sal/types.h>
 #include <o3tl/cow_wrapper.hxx>
-#include <basegfx/vector/b2enums.hxx>
 #include <basegfx/utils/systemdependentdata.hxx>
 #include <basegfx/basegfxdllapi.h>
 
@@ -38,6 +37,7 @@ namespace basegfx
     class B2DHomMatrix;
     class B2DCubicBezier;
     class B2DVector;
+    enum class B2VectorContinuity;
 }
 
 namespace basegfx
diff --git a/include/basegfx/polygon/b2dpolygonclipper.hxx 
b/include/basegfx/polygon/b2dpolygonclipper.hxx
index a6a2ce9d2fa0..945feb33a562 100644
--- a/include/basegfx/polygon/b2dpolygonclipper.hxx
+++ b/include/basegfx/polygon/b2dpolygonclipper.hxx
@@ -19,8 +19,6 @@
 
 #pragma once
 
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/basegfxdllapi.h>
 
 namespace basegfx
@@ -28,6 +26,9 @@ namespace basegfx
     class B2DRange;
 }
 
+namespace basegfx { class B2DPolyPolygon; }
+namespace basegfx { class B2DPolygon; }
+
 namespace basegfx::utils
 {
     // This method clips the given tools::PolyPolygon against a horizontal or 
vertical axis (parallel to X or Y axis). The axis is
diff --git a/include/basegfx/polygon/b2dpolygoncutandtouch.hxx 
b/include/basegfx/polygon/b2dpolygoncutandtouch.hxx
index 600ad1c5cd90..7d9d03ba0ac2 100644
--- a/include/basegfx/polygon/b2dpolygoncutandtouch.hxx
+++ b/include/basegfx/polygon/b2dpolygoncutandtouch.hxx
@@ -19,8 +19,11 @@
 
 #pragma once
 
-#include <basegfx/polygon/b2dpolygon.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <stddef.h>
+
+namespace basegfx { class B2DPoint; }
+namespace basegfx { class B2DPolyPolygon; }
+namespace basegfx { class B2DPolygon; }
 
 namespace basegfx::utils
 {
diff --git a/include/basegfx/polygon/b2dpolygontools.hxx 
b/include/basegfx/polygon/b2dpolygontools.hxx
index 09028e1b3442..cdb7df7d836d 100644
--- a/include/basegfx/polygon/b2dpolygontools.hxx
+++ b/include/basegfx/polygon/b2dpolygontools.hxx
@@ -22,10 +22,7 @@
 #include <vector>
 #include <functional>
 
-#include <basegfx/point/b2dpoint.hxx>
-#include <basegfx/vector/b2dvector.hxx>
 #include <basegfx/range/b2drectangle.hxx>
-#include <basegfx/polygon/b3dpolygon.hxx>
 #include <basegfx/polygon/b2dpolygontriangulator.hxx>
 #include <com/sun/star/drawing/PointSequence.hpp>
 #include <com/sun/star/drawing/FlagSequence.hpp>
@@ -34,6 +31,10 @@
 
 
 namespace basegfx { class B2DPolyPolygon; }
+namespace basegfx { class B2DPoint; }
+namespace basegfx { class B2DVector; }
+namespace basegfx { class B3DPolygon; }
+namespace basegfx { class B3DHomMatrix; }
 
 // Definitions for the cut flags used from the findCut methods
 enum class CutFlagValue
diff --git a/include/basegfx/polygon/b2dpolygontriangulator.hxx 
b/include/basegfx/polygon/b2dpolygontriangulator.hxx
index 1fb2c9d5428a..5907e407e25a 100644
--- a/include/basegfx/polygon/b2dpolygontriangulator.hxx
+++ b/include/basegfx/polygon/b2dpolygontriangulator.hxx
@@ -19,13 +19,13 @@
 
 #pragma once
 
-#include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/basegfxdllapi.h>
 
 #include <vector>
 
 namespace basegfx { class B2DPolyPolygon; }
+namespace basegfx { class B2DPolygon; }
 
 namespace basegfx::triangulator
 {
diff --git a/include/basegfx/polygon/b2dpolypolygontools.hxx 
b/include/basegfx/polygon/b2dpolypolygontools.hxx
index 955c5430d9ec..b3e6c92f11b7 100644
--- a/include/basegfx/polygon/b2dpolypolygontools.hxx
+++ b/include/basegfx/polygon/b2dpolypolygontools.hxx
@@ -19,8 +19,6 @@
 
 #pragma once
 
-#include <basegfx/point/b2dpoint.hxx>
-#include <basegfx/polygon/b3dpolypolygon.hxx>
 #include <com/sun/star/drawing/PointSequenceSequence.hpp>
 #include <vector>
 #include <basegfx/basegfxdllapi.h>
@@ -30,8 +28,11 @@ namespace com::sun::star::drawing { struct 
PolyPolygonBezierCoords; }
 
 namespace basegfx
 {
+    class B2DPoint;
     class B2DPolyPolygon;
     class B2DRange;
+    class B3DHomMatrix;
+    class B3DPolyPolygon;
 }
 
 namespace basegfx::utils
diff --git a/include/basegfx/polygon/b2dtrapezoid.hxx 
b/include/basegfx/polygon/b2dtrapezoid.hxx
index aeed7148e26c..baeab9896362 100644
--- a/include/basegfx/polygon/b2dtrapezoid.hxx
+++ b/include/basegfx/polygon/b2dtrapezoid.hxx
@@ -20,11 +20,11 @@
 #pragma once
 
 #include <config_options.h>
-#include <basegfx/polygon/b2dpolygon.hxx>
 #include <vector>
 #include <basegfx/basegfxdllapi.h>
 
 
+namespace basegfx { class B2DPolygon; }
 namespace basegfx { class B2DPolyPolygon; }
 namespace basegfx { class B2DPoint; }
 
diff --git a/include/basegfx/polygon/b3dpolygontools.hxx 
b/include/basegfx/polygon/b3dpolygontools.hxx
index 2f890809cf8d..244fa9a5ac99 100644
--- a/include/basegfx/polygon/b3dpolygontools.hxx
+++ b/include/basegfx/polygon/b3dpolygontools.hxx
@@ -22,8 +22,6 @@
 #include <vector>
 #include <functional>
 
-#include <basegfx/point/b3dpoint.hxx>
-#include <basegfx/vector/b3dvector.hxx>
 #include <basegfx/basegfxdllapi.h>
 
 namespace basegfx
@@ -31,6 +29,8 @@ namespace basegfx
     class B3DPolyPolygon;
     class B3DPolygon;
     class B3DRange;
+    class B3DPoint;
+    class B3DVector;
 }
 
 namespace basegfx::utils
diff --git a/include/basegfx/polygon/b3dpolypolygontools.hxx 
b/include/basegfx/polygon/b3dpolypolygontools.hxx
index d201696dc828..9a45dcacc238 100644
--- a/include/basegfx/polygon/b3dpolypolygontools.hxx
+++ b/include/basegfx/polygon/b3dpolypolygontools.hxx
@@ -19,10 +19,11 @@
 
 #pragma once
 
-#include <basegfx/point/b3dpoint.hxx>
 #include <basegfx/basegfxdllapi.h>
+#include <math.h>
 
 namespace com::sun::star::drawing { struct PolyPolygonShape3D; }
+namespace basegfx { class B3DPoint; }
 
 namespace basegfx
 {
diff --git a/include/basegfx/range/b2drangeclipper.hxx 
b/include/basegfx/range/b2drangeclipper.hxx
index 6ea0a3f0e2d9..109a764d36f5 100644
--- a/include/basegfx/range/b2drangeclipper.hxx
+++ b/include/basegfx/range/b2drangeclipper.hxx
@@ -19,10 +19,13 @@
 
 #pragma once
 
-#include <basegfx/range/b2dpolyrange.hxx>
 #include <vector>
 #include <basegfx/basegfxdllapi.h>
 
+namespace basegfx { class B2DPolyPolygon; }
+namespace basegfx { class B2DRange; }
+namespace basegfx { enum class B2VectorOrientation; }
+
 namespace basegfx::utils
 {
         /** Extract poly-polygon w/o self-intersections from poly-range
diff --git a/include/basegfx/utils/canvastools.hxx 
b/include/basegfx/utils/canvastools.hxx
index a7e1d4ef373b..5fcb6fb531d8 100644
--- a/include/basegfx/utils/canvastools.hxx
+++ b/include/basegfx/utils/canvastools.hxx
@@ -19,8 +19,6 @@
 
 #pragma once
 
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
 #include <basegfx/basegfxdllapi.h>
 
 
@@ -48,6 +46,9 @@ namespace com::sun::star::awt
     struct Rectangle;
 }
 
+namespace com::sun::star::uno { template <class E> class Sequence; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
+
 namespace basegfx
 {
     class B2DHomMatrix;
diff --git a/include/basegfx/utils/unopolypolygon.hxx 
b/include/basegfx/utils/unopolypolygon.hxx
index 6357f17b577c..8376ab5e4ce7 100644
--- a/include/basegfx/utils/unopolypolygon.hxx
+++ b/include/basegfx/utils/unopolypolygon.hxx
@@ -22,13 +22,14 @@
 #include <comphelper/compbase.hxx>
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/rendering/FillRule.hpp>
 #include <com/sun/star/rendering/XLinePolyPolygon2D.hpp>
 #include <com/sun/star/rendering/XBezierPolyPolygon2D.hpp>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/basegfxdllapi.h>
 #include <o3tl/safeint.hxx>
 
+namespace com::sun::star::rendering { enum class FillRule; }
+
 namespace basegfx::unotools
 {
     typedef comphelper::WeakComponentImplHelper<
diff --git a/include/basegfx/vector/b2dvector.hxx 
b/include/basegfx/vector/b2dvector.hxx
index b698ccffe609..3d275ddec92a 100644
--- a/include/basegfx/vector/b2dvector.hxx
+++ b/include/basegfx/vector/b2dvector.hxx
@@ -21,12 +21,13 @@
 
 #include <basegfx/tuple/b2dtuple.hxx>
 #include <basegfx/vector/b2ivector.hxx>
-#include <basegfx/vector/b2enums.hxx>
 #include <basegfx/basegfxdllapi.h>
 
 namespace basegfx
 {
     class B2DHomMatrix;
+    enum class B2VectorContinuity;
+    enum class B2VectorOrientation;
 
     /** Base Point class with two double values
 
diff --git a/include/basic/sbdef.hxx b/include/basic/sbdef.hxx
index a82fc1c9461d..9e34ee1a17e6 100644
--- a/include/basic/sbdef.hxx
+++ b/include/basic/sbdef.hxx
@@ -22,9 +22,9 @@
 #include <rtl/ustring.hxx>
 #include <basic/basicdllapi.h>
 #include <o3tl/typed_flags_set.hxx>
-#include <unotools/resmgr.hxx>
 
 class ErrCode;
+struct TranslateId;
 
 // Returns type name for Basic type, array flag is ignored
 // implementation: basic/source/runtime/methods.cxx
diff --git a/include/basic/sbmeth.hxx b/include/basic/sbmeth.hxx
index 67260ef379d9..9c884bcf9518 100644
--- a/include/basic/sbmeth.hxx
+++ b/include/basic/sbmeth.hxx
@@ -19,11 +19,11 @@
 
 #pragma once
 
-#include <comphelper/errcode.hxx>
 #include <basic/sbxmeth.hxx>
 #include <basic/sbdef.hxx>
 #include <basic/basicdllapi.h>
 
+class ErrCode;
 class SbModule;
 
 class BASIC_DLLPUBLIC SbMethod : public SbxMethod
diff --git a/include/basic/sbstar.hxx b/include/basic/sbstar.hxx
index f75845e93be7..0da1bbc13f1f 100644
--- a/include/basic/sbstar.hxx
+++ b/include/basic/sbstar.hxx
@@ -24,7 +24,6 @@
 #include <basic/sbmod.hxx>
 #include <rtl/ustring.hxx>
 #include <tools/link.hxx>
-#include <comphelper/errcode.hxx>
 
 #include <basic/sbdef.hxx>
 #include <basic/basicdllapi.h>
@@ -32,6 +31,8 @@
 namespace com::sun::star::frame { class XModel; }
 namespace com::sun::star::script { struct ModuleInfo; }
 
+class ErrCode;
+class ErrCodeMsg;
 class SbMethod;
 
 class BASIC_DLLPUBLIC StarBASIC final : public SbxObject
diff --git a/include/basic/sbuno.hxx b/include/basic/sbuno.hxx
index cd35561db33a..b87f54593131 100644
--- a/include/basic/sbuno.hxx
+++ b/include/basic/sbuno.hxx
@@ -19,11 +19,11 @@
 
 #pragma once
 
-#include <com/sun/star/uno/Type.hxx>
 #include <basic/sbxvar.hxx>
 #include <basic/basicdllapi.h>
 
 namespace com::sun::star::uno { class Any; }
+namespace com::sun::star::uno { class Type; }
 namespace com::sun::star::beans { struct Property; }
 
 class SbxObject;
diff --git a/include/codemaker/commoncpp.hxx b/include/codemaker/commoncpp.hxx
index 13d9c54582f1..169fc5d473ef 100644
--- a/include/codemaker/commoncpp.hxx
+++ b/include/codemaker/commoncpp.hxx
@@ -23,11 +23,10 @@
 
 #include <string_view>
 
-#include <codemaker/unotype.hxx>
-
 namespace rtl {
     class OString;
 }
+namespace codemaker::UnoType { enum class Sort; }
 
 namespace codemaker::cpp {
 
diff --git a/include/codemaker/commonjava.hxx b/include/codemaker/commonjava.hxx
index 12a58e6da8b5..0dc67dd01354 100644
--- a/include/codemaker/commonjava.hxx
+++ b/include/codemaker/commonjava.hxx
@@ -23,9 +23,8 @@
 
 #include <string_view>
 
-#include <codemaker/unotype.hxx>
-
 namespace rtl { class OString; }
+namespace codemaker::UnoType { enum class Sort; }
 
 namespace codemaker::java {
 
diff --git a/include/codemaker/exceptiontree.hxx 
b/include/codemaker/exceptiontree.hxx
index 13764714222f..2e5bfe0400c0 100644
--- a/include/codemaker/exceptiontree.hxx
+++ b/include/codemaker/exceptiontree.hxx
@@ -19,13 +19,14 @@
 
 #pragma once
 
-#include <rtl/ref.hxx>
 #include <rtl/string.hxx>
 
 #include <memory>
 #include <utility>
 #include <vector>
 
+namespace rtl { template <class reference_type> class Reference; }
+
 class TypeManager;
 
 namespace codemaker {
diff --git a/include/codemaker/global.hxx b/include/codemaker/global.hxx
index 96a4a5238b87..a417fc756768 100644
--- a/include/codemaker/global.hxx
+++ b/include/codemaker/global.hxx
@@ -25,8 +25,8 @@
 
 #include <osl/file.hxx>
 #include <rtl/ustring.hxx>
-#include <rtl/strbuf.hxx>
 
+namespace rtl { class OStringBuffer; }
 typedef ::std::vector< ::rtl::OString >             StringVector;
 
 
diff --git a/include/codemaker/typemanager.hxx 
b/include/codemaker/typemanager.hxx
index 302e79e351d1..8a3e2dda6f2b 100644
--- a/include/codemaker/typemanager.hxx
+++ b/include/codemaker/typemanager.hxx
@@ -24,7 +24,6 @@
 #include <string_view>
 #include <vector>
 
-#include <codemaker/unotype.hxx>
 #include <rtl/ref.hxx>
 #include <rtl/string.hxx>
 #include <rtl/textenc.h>
@@ -37,6 +36,7 @@ namespace unoidl {
     class MapCursor;
     class Provider;
 }
+namespace codemaker::UnoType { enum class Sort; }
 
 class TypeManager final : public salhelper::SimpleReferenceObject {
 public:
diff --git a/include/comphelper/SelectionMultiplex.hxx 
b/include/comphelper/SelectionMultiplex.hxx
index 6e599f544078..b33c9911add0 100644
--- a/include/comphelper/SelectionMultiplex.hxx
+++ b/include/comphelper/SelectionMultiplex.hxx
@@ -22,10 +22,10 @@
 
 #include <config_options.h>
 #include <com/sun/star/view/XSelectionChangeListener.hpp>
-#include <com/sun/star/lang/EventObject.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com::sun::star::lang { struct EventObject; }
 namespace com::sun::star::view { class XSelectionSupplier; }
 
 //= selection helper classes
diff --git a/include/comphelper/accessibletexthelper.hxx 
b/include/comphelper/accessibletexthelper.hxx
index 97bbcb3a7377..509313b2a860 100644
--- a/include/comphelper/accessibletexthelper.hxx
+++ b/include/comphelper/accessibletexthelper.hxx
@@ -22,11 +22,11 @@
 
 #include <config_options.h>
 #include <com/sun/star/accessibility/XAccessibleText.hpp>
-#include <com/sun/star/accessibility/TextSegment.hpp>
 #include <comphelper/OAccessible.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com::sun::star::accessibility { struct TextSegment; }
 namespace com::sun::star::i18n { class XBreakIterator; }
 namespace com::sun::star::i18n { class XCharacterClassification; }
 namespace com::sun::star::i18n { struct Boundary; }
diff --git a/include/comphelper/configurationhelper.hxx 
b/include/comphelper/configurationhelper.hxx
index 637068f5dc07..a5f67913f79e 100644
--- a/include/comphelper/configurationhelper.hxx
+++ b/include/comphelper/configurationhelper.hxx
@@ -20,12 +20,12 @@
 #ifndef INCLUDED_COMPHELPER_CONFIGURATIONHELPER_HXX
 #define INCLUDED_COMPHELPER_CONFIGURATIONHELPER_HXX
 
-#include <com/sun/star/uno/Reference.h>
-#include <com/sun/star/uno/Any.hxx>
 #include <rtl/ustring.hxx>
 #include <comphelper/comphelperdllapi.h>
 #include <o3tl/typed_flags_set.hxx>
 
+namespace com::sun::star::uno { class Any; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 namespace com::sun::star::uno { class XComponentContext; }
 namespace com::sun::star::uno { class XInterface; }
 
diff --git a/include/comphelper/configurationlistener.hxx 
b/include/comphelper/configurationlistener.hxx
index c041e5b9fc19..7a00dd530b6e 100644
--- a/include/comphelper/configurationlistener.hxx
+++ b/include/comphelper/configurationlistener.hxx
@@ -13,12 +13,12 @@
 #include <vector>
 #include <comphelper/comphelperdllapi.h>
 #include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/XPropertyChangeListener.hpp>
 #include <rtl/ref.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/configurationhelper.hxx>
 
+namespace com::sun::star::beans { class XPropertyChangeListener; }
 namespace com::sun::star::uno { class XComponentContext; }
 
 namespace comphelper {
diff --git a/include/comphelper/docpasswordhelper.hxx 
b/include/comphelper/docpasswordhelper.hxx
index 4f10cc0c2bb5..5f6493572b15 100644
--- a/include/comphelper/docpasswordhelper.hxx
+++ b/include/comphelper/docpasswordhelper.hxx
@@ -23,12 +23,15 @@
 #include <comphelper/comphelperdllapi.h>
 #include <string_view>
 #include <vector>
-#include <comphelper/docpasswordrequest.hxx>
 #include <comphelper/hash.hxx>
+#include <rtl/ustring.hxx>
 
 namespace com::sun::star::task { class XInteractionHandler; }
 namespace com::sun::star::beans { struct PropertyValue; }
 namespace com::sun::star::beans { struct NamedValue; }
+namespace com::sun::star::uno { template <class E> class Sequence; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
+namespace comphelper { enum class DocPasswordRequestType; }
 
 namespace comphelper {
 
diff --git a/include/comphelper/docpasswordrequest.hxx 
b/include/comphelper/docpasswordrequest.hxx
index c1c4b7b9d87e..fd13f1a84e4d 100644
--- a/include/comphelper/docpasswordrequest.hxx
+++ b/include/comphelper/docpasswordrequest.hxx
@@ -21,11 +21,12 @@
 #define INCLUDED_COMPHELPER_DOCPASSWORDREQUEST_HXX
 
 #include <comphelper/comphelperdllapi.h>
-#include <com/sun/star/task/PasswordRequestMode.hpp>
 #include <com/sun/star/task/XInteractionRequest.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <rtl/ref.hxx>
 
+namespace com::sun::star::task { enum class PasswordRequestMode; }
+
 namespace comphelper {
 
 class PasswordContinuation;
diff --git a/include/comphelper/embeddedobjectcontainer.hxx 
b/include/comphelper/embeddedobjectcontainer.hxx
index 21714da3b3e9..a6723af4d649 100644
--- a/include/comphelper/embeddedobjectcontainer.hxx
+++ b/include/comphelper/embeddedobjectcontainer.hxx
@@ -19,8 +19,6 @@
 #ifndef INCLUDED_COMPHELPER_EMBEDDEDOBJECTCONTAINER_HXX
 #define INCLUDED_COMPHELPER_EMBEDDEDOBJECTCONTAINER_HXX
 
-#include <com/sun/star/uno/Reference.h>
-#include <com/sun/star/uno/Sequence.h>
 #include <comphelper/comphelperdllapi.h>
 
 #include <rtl/ustring.hxx>
@@ -33,6 +31,8 @@ namespace com::sun::star::embed { class XStorage; }
 namespace com::sun::star::io { class XInputStream; }
 namespace com::sun::star::task { class XInteractionHandler; }
 namespace com::sun::star::uno { class XInterface; }
+namespace com::sun::star::uno { template <class E> class Sequence; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 namespace comphelper
 {
diff --git a/include/comphelper/eventattachermgr.hxx 
b/include/comphelper/eventattachermgr.hxx
index 4a2a99909459..e4f2370fb67f 100644
--- a/include/comphelper/eventattachermgr.hxx
+++ b/include/comphelper/eventattachermgr.hxx
@@ -20,7 +20,6 @@
 #ifndef INCLUDED_COMPHELPER_EVENTATTACHERMGR_HXX
 #define INCLUDED_COMPHELPER_EVENTATTACHERMGR_HXX
 
-#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
 namespace com::sun::star {
@@ -31,6 +30,7 @@ namespace script {
     class XEventAttacherManager;
 }
 }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 
 namespace comphelper
diff --git a/include/comphelper/evtmethodhelper.hxx 
b/include/comphelper/evtmethodhelper.hxx
index f420b1869422..049b8384fb6b 100644
--- a/include/comphelper/evtmethodhelper.hxx
+++ b/include/comphelper/evtmethodhelper.hxx
@@ -19,8 +19,17 @@
 
 #pragma once
 
-#include <com/sun/star/uno/Sequence.h>
 #include <comphelper/comphelperdllapi.h>
+#include <rtl/ustring.hxx>
+
+namespace com::sun::star::uno
+{
+class Type;
+}
+namespace com::sun::star::uno
+{
+template <class E> class Sequence;
+}
 
 namespace comphelper
 {
diff --git a/include/comphelper/genericpropertyset.hxx 
b/include/comphelper/genericpropertyset.hxx
index 2450ef04799b..0cde81eb62a1 100644
--- a/include/comphelper/genericpropertyset.hxx
+++ b/include/comphelper/genericpropertyset.hxx
@@ -20,9 +20,13 @@
 #ifndef INCLUDED_COMPHELPER_GENERICPROPERTYSET_HXX
 #define INCLUDED_COMPHELPER_GENERICPROPERTYSET_HXX
 
-#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com::sun::star::uno
+{
+template <class interface_type> class Reference;
+}
+
 namespace com::sun::star::beans
 {
 class XPropertySet;
diff --git a/include/comphelper/graphicmimetype.hxx 
b/include/comphelper/graphicmimetype.hxx
index 430b95efc91b..974a83fb7b6f 100644
--- a/include/comphelper/graphicmimetype.hxx
+++ b/include/comphelper/graphicmimetype.hxx
@@ -16,7 +16,6 @@
 
 #include <comphelper/comphelperdllapi.h>
 #include <rtl/ustring.hxx>
-#include <vcl/salctype.hxx>
 
 namespace com::sun::star::graphic
 {
@@ -26,6 +25,12 @@ namespace com::sun::star::io
 {
 class XInputStream;
 }
+namespace com::sun::star::uno
+{
+template <class interface_type> class Reference;
+}
+
+enum class ConvertDataFormat;
 
 namespace comphelper
 {
diff --git a/include/comphelper/interfacecontainer2.hxx 
b/include/comphelper/interfacecontainer2.hxx
index 3df7c71d49d8..b0baa6e10b60 100644
--- a/include/comphelper/interfacecontainer2.hxx
+++ b/include/comphelper/interfacecontainer2.hxx
@@ -23,11 +23,10 @@
 
 #include <vector>
 
-#include <com/sun/star/lang/EventObject.hpp>
-
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com::sun::star::lang { struct EventObject; }
 namespace com::sun::star::uno { class XInterface; }
 namespace osl { class Mutex; }
 
diff --git a/include/comphelper/interfacecontainer3.hxx 
b/include/comphelper/interfacecontainer3.hxx
index ebed65aad3ea..3aa95434b504 100644
--- a/include/comphelper/interfacecontainer3.hxx
+++ b/include/comphelper/interfacecontainer3.hxx
@@ -20,7 +20,6 @@
 
 #include <sal/config.h>
 
-#include <com/sun/star/lang/EventObject.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <o3tl/cow_wrapper.hxx>
 #include <vector>
@@ -29,6 +28,10 @@ namespace com::sun::star::uno
 {
 class XInterface;
 }
+namespace com::sun::star::lang
+{
+struct EventObject;
+}
 
 namespace comphelper
 {
diff --git a/include/comphelper/interfacecontainer4.hxx 
b/include/comphelper/interfacecontainer4.hxx
index c23c04c76018..4a09144e1735 100644
--- a/include/comphelper/interfacecontainer4.hxx
+++ b/include/comphelper/interfacecontainer4.hxx
@@ -20,7 +20,6 @@
 
 #include <sal/config.h>
 
-#include <com/sun/star/lang/EventObject.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <o3tl/cow_wrapper.hxx>
 #include <cassert>
@@ -31,6 +30,10 @@ namespace com::sun::star::uno
 {
 class XInterface;
 }
+namespace com::sun::star::lang
+{
+struct EventObject;
+}
 
 namespace comphelper
 {
diff --git a/include/comphelper/multicontainer2.hxx 
b/include/comphelper/multicontainer2.hxx
index 91875b6689f3..b5d389856bd9 100644
--- a/include/comphelper/multicontainer2.hxx
+++ b/include/comphelper/multicontainer2.hxx
@@ -21,8 +21,6 @@
 
 #include <sal/config.h>
 
-#include <osl/mutex.hxx>
-#include <com/sun/star/lang/EventObject.hpp>
 #include <comphelper/comphelperdllapi.h>
 #include <comphelper/interfacecontainer2.hxx>
 #include <memory>
@@ -33,6 +31,14 @@ namespace com::sun::star::uno
 {
 class XInterface;
 }
+namespace com::sun::star::lang
+{
+struct EventObject;
+}
+namespace osl
+{
+class Mutex;
+}
 
 namespace comphelper
 {
diff --git a/include/comphelper/multiinterfacecontainer3.hxx 
b/include/comphelper/multiinterfacecontainer3.hxx
index 2ce01aaaae54..84c2c5a60061 100644
--- a/include/comphelper/multiinterfacecontainer3.hxx
+++ b/include/comphelper/multiinterfacecontainer3.hxx
@@ -20,11 +20,15 @@
 
 #include <sal/config.h>
 
-#include <com/sun/star/lang/EventObject.hpp>
 #include <comphelper/interfacecontainer3.hxx>
 #include <memory>
 #include <vector>
 
+namespace com::sun::star::lang
+{
+struct EventObject;
+}
+
 namespace comphelper
 {
 /**
diff --git a/include/comphelper/multiinterfacecontainer4.hxx 
b/include/comphelper/multiinterfacecontainer4.hxx
index 2212d638410d..f2dfb318d4ca 100644
--- a/include/comphelper/multiinterfacecontainer4.hxx
+++ b/include/comphelper/multiinterfacecontainer4.hxx
@@ -18,11 +18,16 @@
  */
 #pragma once
 #include <sal/config.h>
-#include <com/sun/star/lang/EventObject.hpp>
 #include <comphelper/interfacecontainer4.hxx>
 #include <memory>
 #include <mutex>
 #include <vector>
+
+namespace com::sun::star::lang
+{
+struct EventObject;
+}
+
 /** */ //for docpp
 namespace comphelper
 {
diff --git a/include/comphelper/namecontainer.hxx 
b/include/comphelper/namecontainer.hxx
index 616b07f1a342..67983e0440f8 100644
--- a/include/comphelper/namecontainer.hxx
+++ b/include/comphelper/namecontainer.hxx
@@ -20,14 +20,20 @@
 #ifndef INCLUDED_COMPHELPER_NAMECONTAINER_HXX
 #define INCLUDED_COMPHELPER_NAMECONTAINER_HXX
 
-#include <com/sun/star/uno/Type.h>
-#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
 namespace com::sun::star::container
 {
 class XNameContainer;
 }
+namespace com::sun::star::uno
+{
+class Type;
+}
+namespace com::sun::star::uno
+{
+template <class interface_type> class Reference;
+}
 
 namespace comphelper
 {
diff --git a/include/comphelper/numberedcollection.hxx 
b/include/comphelper/numberedcollection.hxx
index ca5a46f56edd..346e36600add 100644
--- a/include/comphelper/numberedcollection.hxx
+++ b/include/comphelper/numberedcollection.hxx
@@ -23,7 +23,6 @@
 #include <config_options.h>
 #include <comphelper/comphelperdllapi.h>
 
-#include <com/sun/star/uno/Reference.h>
 #include <com/sun/star/frame/XUntitledNumbers.hpp>
 
 #include <cppuhelper/weakref.hxx>
@@ -34,6 +33,7 @@
 #include <vector>
 
 namespace com::sun::star::uno { class XInterface; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 namespace comphelper{
 
diff --git a/include/comphelper/numbers.hxx b/include/comphelper/numbers.hxx
index e486bac0bb3e..c69c1a5198a4 100644
--- a/include/comphelper/numbers.hxx
+++ b/include/comphelper/numbers.hxx
@@ -21,11 +21,12 @@
 #define INCLUDED_COMPHELPER_NUMBERS_HXX
 
 #include <rtl/ustring.hxx>
-#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
 namespace com::sun::star::util { class XNumberFormats; }
 namespace com::sun::star::util { class XNumberFormatter; }
+namespace com::sun::star::uno { class Any; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 namespace comphelper
 {
diff --git a/include/comphelper/ofopxmlhelper.hxx 
b/include/comphelper/ofopxmlhelper.hxx
index fe778bf1e6ca..3d50647f7265 100644
--- a/include/comphelper/ofopxmlhelper.hxx
+++ b/include/comphelper/ofopxmlhelper.hxx
@@ -24,15 +24,15 @@
 
 #include <string_view>
 
-#include <com/sun/star/uno/Sequence.h>
-
 #include <comphelper/comphelperdllapi.h>
+#include <rtl/ustring.hxx>
 
 namespace com::sun::star::beans { struct StringPair; }
 namespace com::sun::star::io { class XInputStream; }
 namespace com::sun::star::io { class XOutputStream; }
 namespace com::sun::star::uno { class XComponentContext; }
 namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
+namespace com::sun::star::uno { template <class E> class Sequence; }
 
 namespace comphelper::OFOPXMLHelper {
 
diff --git a/include/comphelper/processfactory.hxx 
b/include/comphelper/processfactory.hxx
index 7dba64eeea29..4f5c585b347e 100644
--- a/include/comphelper/processfactory.hxx
+++ b/include/comphelper/processfactory.hxx
@@ -20,13 +20,13 @@
 #ifndef INCLUDED_COMPHELPER_PROCESSFACTORY_HXX
 #define INCLUDED_COMPHELPER_PROCESSFACTORY_HXX
 
-#include <com/sun/star/uno/Reference.hxx>
 #include <comphelper/comphelperdllapi.h>
 
 namespace com::sun::star::lang {
     class XMultiServiceFactory;
 }
 namespace com::sun::star::uno { class XComponentContext; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 namespace comphelper
 {
diff --git a/include/comphelper/propshlp.hxx b/include/comphelper/propshlp.hxx
index 31f1c07ea989..9c4cb92c4915 100644
--- a/include/comphelper/propshlp.hxx
+++ b/include/comphelper/propshlp.hxx
@@ -26,7 +26,11 @@
 
 #include <comphelper/comphelperdllapi.h>
 #include <comphelper/unoimplbase.hxx>
-#include <cppuhelper/propshlp.hxx>
+
+namespace cppu
+{
+class IPropertyArrayHelper;
+}
 
 namespace comphelper
 {
diff --git a/include/comphelper/propstate.hxx b/include/comphelper/propstate.hxx
index e4c80b56a580..b4eb0c724589 100644
--- a/include/comphelper/propstate.hxx
+++ b/include/comphelper/propstate.hxx
@@ -22,7 +22,6 @@
 
 #include <config_options.h>
 #include <com/sun/star/beans/XPropertyState.hpp>
-#include <com/sun/star/uno/Sequence.h>
 
 
 #include <cppuhelper/propshlp.hxx>
diff --git a/include/comphelper/sequenceashashmap.hxx 
b/include/comphelper/sequenceashashmap.hxx
index f7d669468156..60e0d21fcd0e 100644
--- a/include/comphelper/sequenceashashmap.hxx
+++ b/include/comphelper/sequenceashashmap.hxx
@@ -21,12 +21,13 @@
 #define INCLUDED_COMPHELPER_SEQUENCEASHASHMAP_HXX
 
 #include <unordered_map>
-#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Any.hxx>
 
 #include <comphelper/comphelperdllapi.h>
 
 namespace com::sun::star::beans { struct NamedValue; }
 namespace com::sun::star::beans { struct PropertyValue; }
+namespace com::sun::star::uno { template <typename> class Sequence; }
 
 namespace comphelper{
 
diff --git a/include/comphelper/storagehelper.hxx 
b/include/comphelper/storagehelper.hxx
index 3f9356c664da..fba61e59bedb 100644
--- a/include/comphelper/storagehelper.hxx
+++ b/include/comphelper/storagehelper.hxx
@@ -19,7 +19,6 @@
 #ifndef INCLUDED_COMPHELPER_STORAGEHELPER_HXX
 #define INCLUDED_COMPHELPER_STORAGEHELPER_HXX
 
-#include <com/sun/star/uno/Sequence.h>
 #include <com/sun/star/uno/Reference.hxx>
 #include <com/sun/star/embed/ElementModes.hpp>
 #include <comphelper/comphelperdllapi.h>
@@ -47,6 +46,7 @@ namespace com::sun::star {
     namespace uno { class XComponentContext; }
     namespace awt { class XWindow; }
 }
+namespace com::sun::star::uno { template <typename> class Sequence; }
 
 namespace comphelper {
 
diff --git a/include/comphelper/string.hxx b/include/comphelper/string.hxx
index f71d6e52fea1..cb7dfb61897b 100644
--- a/include/comphelper/string.hxx
+++ b/include/comphelper/string.hxx
@@ -26,7 +26,6 @@
 #include <sal/types.h>
 #include <rtl/strbuf.hxx>
 #include <rtl/ustrbuf.hxx>
-#include <com/sun/star/uno/Sequence.h>
 #include <com/sun/star/uno/Reference.hxx>
 
 #include <com/sun/star/lang/Locale.hpp>
@@ -34,6 +33,7 @@
 namespace com::sun::star::i18n { class XBreakIterator; }
 namespace com::sun::star::i18n { class XCollator; }
 namespace com::sun::star::uno { class XComponentContext; }
+namespace com::sun::star::uno { template <typename> class Sequence; }
 
 // OUString helper functions that are not widespread or mature enough to
 // go into the stable URE API:
diff --git a/include/comphelper/synchronousdispatch.hxx 
b/include/comphelper/synchronousdispatch.hxx
index 8503b2a431e5..34411b0bf942 100644
--- a/include/comphelper/synchronousdispatch.hxx
+++ b/include/comphelper/synchronousdispatch.hxx
@@ -22,7 +22,6 @@
 
 #include <comphelper/comphelperdllapi.h>
 
-#include <com/sun/star/uno/Reference.h>
 #include <rtl/ustring.hxx>
 
 namespace com::sun::star {
@@ -34,6 +33,7 @@ namespace com::sun::star {
 
 namespace com::sun::star::beans { struct PropertyValue; }
 namespace com::sun::star::uno { template <class E> class Sequence; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 
 namespace comphelper
diff --git a/include/comphelper/traceevent.hxx 
b/include/comphelper/traceevent.hxx
index 3d44a7a2dbe7..85d403797bc1 100644
--- a/include/comphelper/traceevent.hxx
+++ b/include/comphelper/traceevent.hxx
@@ -21,11 +21,15 @@
 #include <osl/process.h>
 #include <osl/thread.h>
 #include <osl/time.h>
-#include <com/sun/star/uno/Sequence.h>
 #include <comphelper/comphelperdllapi.h>
 #include <rtl/ustrbuf.hxx>
 #include <rtl/ustring.hxx>
 
+namespace com::sun::star::uno
+{
+template <class E> class Sequence;
+}
+
 // implementation of XToolkitExperimental profiling API
 
 namespace comphelper
diff --git a/include/comphelper/types.hxx b/include/comphelper/types.hxx
index 9f58a2e1442d..3de48105feb6 100644
--- a/include/comphelper/types.hxx
+++ b/include/comphelper/types.hxx
@@ -23,13 +23,13 @@
 #include <com/sun/star/uno/Reference.hxx>
 #include <com/sun/star/lang/XComponent.hpp>
 #include <comphelper/comphelperdllapi.h>
-#include <rtl/ref.hxx>
 
 namespace com::sun::star::awt {
     struct FontDescriptor;
 }
 
 namespace com::sun::star::uno { class Any; }
+namespace rtl { template <class reference_type> class Reference; }
 
 
 namespace comphelper
diff --git a/include/comphelper/xmlsechelper.hxx 
b/include/comphelper/xmlsechelper.hxx
index 94795c3b9361..7ae26c92c666 100644
--- a/include/comphelper/xmlsechelper.hxx
+++ b/include/comphelper/xmlsechelper.hxx
@@ -21,9 +21,7 @@
 #define INCLUDED_COMPHELPER_XMLSECHELPER_HXX
 
 #include <comphelper/comphelperdllapi.h>
-
-#include <com/sun/star/security/CertificateKind.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
+#include <rtl/ustring.hxx>
 
 #include <vector>
 
@@ -36,6 +34,18 @@ namespace com::sun::star::security
 {
 class XCertificate;
 }
+namespace com::sun::star::security
+{
+enum class CertificateKind;
+}
+namespace com::sun::star::uno
+{
+template <class E> class Sequence;
+}
+namespace com::sun::star::uno
+{
+template <class interface_type> class Reference;
+}
 
 namespace comphelper::xmlsec
 {
diff --git a/include/connectivity/DriversConfig.hxx 
b/include/connectivity/DriversConfig.hxx
index bd233205e870..c5ab7a80264c 100644
--- a/include/connectivity/DriversConfig.hxx
+++ b/include/connectivity/DriversConfig.hxx
@@ -25,12 +25,13 @@
 #include <map>
 #include <string_view>
 
-#include <com/sun/star/uno/Sequence.h>
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <comphelper/singletonref.hxx>
 #include <comphelper/namedvaluecollection.hxx>
 #include <unotools/confignode.hxx>
 
+namespace com::sun::star::uno { template <typename> class Sequence; }
+
 namespace connectivity
 {
     struct TInstalledDriver
diff --git a/include/connectivity/FValue.hxx b/include/connectivity/FValue.hxx
index 6bd54fb29ddc..6c703d721145 100644
--- a/include/connectivity/FValue.hxx
+++ b/include/connectivity/FValue.hxx
@@ -21,20 +21,20 @@
 #define INCLUDED_CONNECTIVITY_FVALUE_HXX
 
 #include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/uno/Any.hxx>
 #include <rtl/ustring.hxx>
 #include <salhelper/simplereferenceobject.hxx>
 #include <rtl/ref.hxx>
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <connectivity/CommonTools.hxx>
-#include <com/sun/star/util/DateTime.hpp>
-#include <com/sun/star/util/Date.hpp>
-#include <com/sun/star/util/Time.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
 #include <utility>
 
 namespace com::sun::star::sdb { class XColumn; }
 namespace com::sun::star::sdbc { class XRow; }
+namespace com::sun::star::uno { class Any; }
+namespace com::sun::star::uno { template <class E> class Sequence; }
+namespace com::sun::star::util { struct Date; }
+namespace com::sun::star::util { struct DateTime; }
+namespace com::sun::star::util { struct Time; }
 
 namespace connectivity
 {
diff --git a/include/connectivity/IParseContext.hxx 
b/include/connectivity/IParseContext.hxx
index 51171281da1f..2c1f221bb575 100644
--- a/include/connectivity/IParseContext.hxx
+++ b/include/connectivity/IParseContext.hxx
@@ -20,7 +20,8 @@
 #define INCLUDED_CONNECTIVITY_IPARSECONTEXT_HXX
 
 #include <rtl/ustring.hxx>
-#include <com/sun/star/lang/Locale.hpp>
+
+namespace com::sun::star::lang { struct Locale; }
 
 namespace connectivity
 {
diff --git a/include/connectivity/PColumn.hxx b/include/connectivity/PColumn.hxx
index b0ececda3450..b2045ee032f1 100644
--- a/include/connectivity/PColumn.hxx
+++ b/include/connectivity/PColumn.hxx
@@ -26,12 +26,12 @@
 #include <connectivity/dbtoolsdllapi.hxx>
 #include <connectivity/sdbcx/VColumn.hxx>
 #include <connectivity/CommonTools.hxx>
-#include <rtl/ref.hxx>
 #include <comphelper/proparrhlp.hxx>
 
 namespace com::sun::star::container { class XNameAccess; }
 namespace com::sun::star::sdbc { class XDatabaseMetaData; }
 namespace com::sun::star::sdbc { class XResultSetMetaData; }
+namespace rtl { template <class reference_type> class Reference; }
 
 namespace connectivity::parse
 {
diff --git a/include/connectivity/dbconversion.hxx 
b/include/connectivity/dbconversion.hxx
index 5150e5e7e384..742897cb1025 100644
--- a/include/connectivity/dbconversion.hxx
+++ b/include/connectivity/dbconversion.hxx
@@ -20,10 +20,12 @@
 #ifndef INCLUDED_CONNECTIVITY_DBCONVERSION_HXX
 #define INCLUDED_CONNECTIVITY_DBCONVERSION_HXX
 
-#include <com/sun/star/util/Date.hpp>
 #include <connectivity/dbtoolsdllapi.hxx>
+#include <rtl/ustring.hxx>
 
+namespace com::sun::star::uno { class Any; }
 namespace com::sun::star::uno { template <typename > class Reference; }
+namespace com::sun::star::util { struct Date; }
 
 namespace com::sun::star
 {
diff --git a/include/connectivity/dbexception.hxx 
b/include/connectivity/dbexception.hxx
index 58705a3e0561..5929af524705 100644
--- a/include/connectivity/dbexception.hxx
+++ b/include/connectivity/dbexception.hxx
@@ -21,9 +21,8 @@
 #define INCLUDED_CONNECTIVITY_DBEXCEPTION_HXX
 
 #include <config_options.h>
-#include <connectivity/standardsqlstate.hxx>
 #include <connectivity/dbtoolsdllapi.hxx>
-#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Any.hxx>
 
 namespace com::sun::star
 {
@@ -38,6 +37,8 @@ namespace com::sun::star
         class SQLException;
     }
 }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
+namespace dbtools { enum class StandardSQLState; }
 
 namespace dbtools
 {
diff --git a/include/connectivity/dbmetadata.hxx 
b/include/connectivity/dbmetadata.hxx
index 17a392dfe568..fa2a6e9e95a4 100644
--- a/include/connectivity/dbmetadata.hxx
+++ b/include/connectivity/dbmetadata.hxx
@@ -20,13 +20,13 @@
 #ifndef INCLUDED_CONNECTIVITY_DBMETADATA_HXX
 #define INCLUDED_CONNECTIVITY_DBMETADATA_HXX
 
-#include <com/sun/star/uno/Reference.hxx>
-
 #include <memory>
 #include <connectivity/dbtoolsdllapi.hxx>
+#include <rtl/ustring.hxx>
 
 namespace com::sun::star::sdbc { class XConnection; }
 namespace com::sun::star::uno { class XComponentContext; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 namespace dbtools
 {
diff --git a/include/connectivity/dbtools.hxx b/include/connectivity/dbtools.hxx
index 1c9e641c897e..84dad13eb859 100644
--- a/include/connectivity/dbtools.hxx
+++ b/include/connectivity/dbtools.hxx
@@ -22,13 +22,13 @@
 
 #include <sal/config.h>
 
+#include <map>
 #include <string_view>
 
-#include <connectivity/dbexception.hxx>
 #include <comphelper/stl_types.hxx>
 #include <unotools/sharedunocomponent.hxx>
 #include <connectivity/dbtoolsdllapi.hxx>
-#include <connectivity/FValue.hxx>
+#include <connectivity/standardsqlstate.hxx>
 
 namespace com::sun::star {
 
@@ -73,6 +73,8 @@ namespace task {
 }
 
 class SvStream;
+namespace dbtools { class SQLExceptionInfo; }
+namespace connectivity { class ORowSetValue; }
 
 namespace dbtools
 {
diff --git a/include/connectivity/predicateinput.hxx 
b/include/connectivity/predicateinput.hxx
index 6d5a47801ec2..e375d04acd7f 100644
--- a/include/connectivity/predicateinput.hxx
+++ b/include/connectivity/predicateinput.hxx
@@ -22,8 +22,8 @@
 
 #include <connectivity/sqlparse.hxx>
 #include <connectivity/dbtoolsdllapi.hxx>
-#include <com/sun/star/uno/Any.hxx>
 
+namespace com::sun::star::uno { class Any; }
 namespace com::sun::star::beans { class XPropertySet; }
 namespace com::sun::star::i18n { class XLocaleData4; }
 namespace com::sun::star::sdbc { class XConnection; }
diff --git a/include/connectivity/sqlerror.hxx 
b/include/connectivity/sqlerror.hxx
index 6728684b659f..52100f210881 100644
--- a/include/connectivity/sqlerror.hxx
+++ b/include/connectivity/sqlerror.hxx
@@ -21,11 +21,17 @@
 #define INCLUDED_CONNECTIVITY_SQLERROR_HXX
 
 #include <config_options.h>
-#include <com/sun/star/sdbc/SQLException.hpp>
 #include <connectivity/dbtoolsdllapi.hxx>
+#include <rtl/ustring.hxx>
+
 #include <optional>
 #include <memory>
 
+namespace com::sun::star::sdbc { class SQLException; }
+namespace com::sun::star::uno { class Type; }
+namespace com::sun::star::uno { class XInterface; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
+
 namespace connectivity
 {
 
diff --git a/include/connectivity/sqlparse.hxx 
b/include/connectivity/sqlparse.hxx
index 9be35c456d10..cecd7d3e103b 100644
--- a/include/connectivity/sqlparse.hxx
+++ b/include/connectivity/sqlparse.hxx
@@ -27,6 +27,8 @@
 #include <comphelper/singletonref.hxx>
 #include <tools/lazydelete.hxx>
 
+#include <com/sun/star/lang/Locale.hpp>
+
 #include <map>
 #include <memory>
 #include <mutex>
diff --git a/include/cppcanvas/basegfxfactory.hxx 
b/include/cppcanvas/basegfxfactory.hxx
index 0bd75e4ed66d..8404148d6b53 100644
--- a/include/cppcanvas/basegfxfactory.hxx
+++ b/include/cppcanvas/basegfxfactory.hxx
@@ -22,7 +22,6 @@
 #include <cppcanvas/canvas.hxx>
 #include <cppcanvas/polypolygon.hxx>
 #include <cppcanvas/bitmap.hxx>
-#include <basegfx/vector/b2isize.hxx>
 
 #include <cppcanvas/cppcanvasdllapi.h>
 
@@ -30,6 +29,7 @@ namespace basegfx
 {
     class B2DPolygon;
 }
+namespace basegfx { class B2ISize; }
 
 
 /* Definition of BaseGfxFactory class */
diff --git a/include/cppcanvas/bitmap.hxx b/include/cppcanvas/bitmap.hxx
index d5b34d9285ed..cab7eb93b414 100644
--- a/include/cppcanvas/bitmap.hxx
+++ b/include/cppcanvas/bitmap.hxx
@@ -19,7 +19,6 @@
 
 #pragma once
 
-#include <com/sun/star/uno/Reference.hxx>
 #include <cppcanvas/canvasgraphic.hxx>
 #include <cppcanvas/bitmapcanvas.hxx>
 #include <memory>
@@ -28,6 +27,7 @@ namespace com::sun::star::rendering
 {
     class  XBitmap;
 }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 
 /* Definition of Bitmap interface */
diff --git a/include/cppcanvas/bitmapcanvas.hxx 
b/include/cppcanvas/bitmapcanvas.hxx
index 052092912ed1..59ee9d03c811 100644
--- a/include/cppcanvas/bitmapcanvas.hxx
+++ b/include/cppcanvas/bitmapcanvas.hxx
@@ -19,10 +19,10 @@
 
 #pragma once
 
-#include <basegfx/vector/b2isize.hxx>
 #include <cppcanvas/canvas.hxx>
 #include <memory>
 
+namespace basegfx { class B2ISize; }
 
 /* Definition of BitmapCanvas */
 
diff --git a/include/cppcanvas/canvas.hxx b/include/cppcanvas/canvas.hxx
index c7fea3c63342..7befb598a3bd 100644
--- a/include/cppcanvas/canvas.hxx
+++ b/include/cppcanvas/canvas.hxx
@@ -19,7 +19,7 @@
 
 #pragma once
 
-#include <com/sun/star/uno/Reference.hxx>
+#include <sal/types.h>
 #include <memory>
 
 namespace basegfx
@@ -34,6 +34,7 @@ namespace com::sun::star::rendering
     struct ViewState;
 }
 
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 /* Definition of BitmapCanvas */
 
diff --git a/include/cppcanvas/polypolygon.hxx 
b/include/cppcanvas/polypolygon.hxx
index fdb01d215ac4..1dafbd3702bc 100644
--- a/include/cppcanvas/polypolygon.hxx
+++ b/include/cppcanvas/polypolygon.hxx
@@ -19,7 +19,6 @@
 
 #pragma once
 
-#include <com/sun/star/uno/Reference.hxx>
 #include <cppcanvas/canvasgraphic.hxx>
 #include <cppcanvas/color.hxx>
 #include <memory>
@@ -28,6 +27,7 @@ namespace com::sun::star::rendering
 {
     class  XPolyPolygon2D;
 }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
 
 
 /* Definition of tools::PolyPolygon interface */
diff --git a/include/cppcanvas/spritecanvas.hxx 
b/include/cppcanvas/spritecanvas.hxx
index bb7d3d2f70aa..f964576a563e 100644
--- a/include/cppcanvas/spritecanvas.hxx
+++ b/include/cppcanvas/spritecanvas.hxx
@@ -19,7 +19,6 @@
 
 #pragma once
 
-#include <basegfx/vector/b2dsize.hxx>
 #include <cppcanvas/canvas.hxx>
 #include <cppcanvas/customsprite.hxx>
 #include <memory>
@@ -28,6 +27,7 @@ namespace com::sun::star::rendering
 {
     class  XSpriteCanvas;
 }
-e 
... etc. - the rest is truncated

Reply via email to