diff --git a/accessibility/source/standard/vclxaccessibletoolbox.cxx b/accessibility/source/standard/vclxaccessibletoolbox.cxx
index c9258d402be85df0cfaed3eacedbf58d57189865..e1fc533d1201c5ef2e46a9c26be582c51789493e 100644
--- a/accessibility/source/standard/vclxaccessibletoolbox.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolbox.cxx
@@ -30,6 +30,8 @@
 #include <vcl/toolbox.hxx>
 #include <comphelper/accessiblewrapper.hxx>
 #include <comphelper/processfactory.hxx>
+#include <comphelper/types.hxx>
+#include <cppuhelper/typeprovider.hxx>
 
 using namespace ::comphelper;
 using namespace ::com::sun::star;
diff --git a/basctl/source/dlged/dlgedfac.cxx b/basctl/source/dlged/dlgedfac.cxx
index be8e592fbd1fed1f94fca8d8ceec2c3b21b4b272..513fdc707b1fab5b94eeb109d48c46f55a6aa40b 100644
--- a/basctl/source/dlged/dlgedfac.cxx
+++ b/basctl/source/dlged/dlgedfac.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/awt/ScrollBarOrientation.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <comphelper/processfactory.hxx>
 
 namespace basctl
diff --git a/canvas/source/vcl/canvas.hxx b/canvas/source/vcl/canvas.hxx
index 957e9c4822f255b9df533011ca4fff0ede3c2e04..f7b8c097113f13a0c38f828930c91c817ce7a15e 100644
--- a/canvas/source/vcl/canvas.hxx
+++ b/canvas/source/vcl/canvas.hxx
@@ -33,6 +33,8 @@
 
 #include <cppuhelper/compbase.hxx>
 #include <comphelper/uno3.hxx>
+#include <comphelper/types.hxx>
+#include <cppu/unotype.hxx>
 
 #include <canvas/base/basemutexhelper.hxx>
 #include <canvas/base/integerbitmapbase.hxx>
diff --git a/canvas/source/vcl/canvascustomsprite.cxx b/canvas/source/vcl/canvascustomsprite.cxx
index f999c26a016e28355b3975e45f243c9d70dffa78..364d29e8f5863c9d22b4efbed2029ed9152647c9 100644
--- a/canvas/source/vcl/canvascustomsprite.cxx
+++ b/canvas/source/vcl/canvascustomsprite.cxx
@@ -28,6 +28,7 @@
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <basegfx/utils/canvastools.hxx>
 #include <cppuhelper/supportsservice.hxx>
+#include <comphelper/types.hxx>
 #include <rtl/math.hxx>
 #include <tools/diagnose_ex.h>
 #include <vcl/alpha.hxx>
diff --git a/canvas/source/vcl/canvascustomsprite.hxx b/canvas/source/vcl/canvascustomsprite.hxx
index 4075200328bfae2c302c63c31b1cfc85fba1574e..b3f6d3202b917adf2a88e3b4006dd607408dce21 100644
--- a/canvas/source/vcl/canvascustomsprite.hxx
+++ b/canvas/source/vcl/canvascustomsprite.hxx
@@ -22,6 +22,7 @@
 
 #include <cppuhelper/compbase.hxx>
 #include <comphelper/uno3.hxx>
+#include <comphelper/types.hxx>
 
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/lang/XComponent.hpp>
diff --git a/canvas/source/vcl/spritecanvas.hxx b/canvas/source/vcl/spritecanvas.hxx
index 954d49d662d86c037c757ee09aa0afb2511797d2..194c3c5537b292504c3cca18052b189e0f764025 100644
--- a/canvas/source/vcl/spritecanvas.hxx
+++ b/canvas/source/vcl/spritecanvas.hxx
@@ -34,6 +34,7 @@
 
 #include <cppuhelper/compbase.hxx>
 #include <comphelper/uno3.hxx>
+#include <comphelper/types.hxx>
 
 #include <canvas/base/spritecanvasbase.hxx>
 #include <canvas/base/disambiguationhelper.hxx>
diff --git a/comphelper/qa/string/test_string.cxx b/comphelper/qa/string/test_string.cxx
index 8e4910cc6085e3ab718540e7e6dd4ad5dcee022a..47f001addcdfbcea5076cae9dc07d1c937885587 100644
--- a/comphelper/qa/string/test_string.cxx
+++ b/comphelper/qa/string/test_string.cxx
@@ -20,6 +20,8 @@
 #include <comphelper/string.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <com/sun/star/i18n/CharType.hpp>
+#include <com/sun/star/i18n/XBreakIterator.hpp>
+#include <com/sun/star/i18n/XCollator.hpp>
 
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
diff --git a/comphelper/source/container/namecontainer.cxx b/comphelper/source/container/namecontainer.cxx
index 2d7c57ae152e563d61f436132a0d6de5dddaebd5..fa8343c60d49149a6338f4235acdd78c8ac859cc 100644
--- a/comphelper/source/container/namecontainer.cxx
+++ b/comphelper/source/container/namecontainer.cxx
@@ -25,6 +25,7 @@
 #include <comphelper/sequence.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <osl/mutex.hxx>
+#include <com/sun/star/container/XNameContainer.hpp>
 
 typedef std::map<OUString, css::uno::Any> SvGenericNameContainerMapImpl;
 
diff --git a/comphelper/source/misc/SelectionMultiplex.cxx b/comphelper/source/misc/SelectionMultiplex.cxx
index a0495a69d0cf09662dac7e9a05bb103f26a7c431..f9760a647c4276c58d0a181f1d29f3de7d6015c5 100644
--- a/comphelper/source/misc/SelectionMultiplex.cxx
+++ b/comphelper/source/misc/SelectionMultiplex.cxx
@@ -19,7 +19,7 @@
 
 
 #include <comphelper/SelectionMultiplex.hxx>
-
+#include <com/sun/star/view/XSelectionSupplier.hpp>
 
 namespace comphelper
 {
diff --git a/comphelper/source/misc/mimeconfighelper.cxx b/comphelper/source/misc/mimeconfighelper.cxx
index 8a4b002f7d77c122b762f84f99b52abd247e4367..fc55f2c73ed24bed85222c05440c39b79bdef785 100644
--- a/comphelper/source/misc/mimeconfighelper.cxx
+++ b/comphelper/source/misc/mimeconfighelper.cxx
@@ -20,6 +20,8 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/configuration/theDefaultProvider.hpp>
 #include <com/sun/star/container/XContainerQuery.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/embed/VerbDescriptor.hpp>
 #include <com/sun/star/document/XTypeDetection.hpp>
 
 #include <osl/diagnose.h>
diff --git a/comphelper/source/misc/namedvaluecollection.cxx b/comphelper/source/misc/namedvaluecollection.cxx
index 8882ccc2bdad8f8b5121c4245f2dc3724aba052e..42ef768d9297bf8e5f6fb7de44d7a6787bf31400 100644
--- a/comphelper/source/misc/namedvaluecollection.cxx
+++ b/comphelper/source/misc/namedvaluecollection.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/beans/NamedValue.hpp>
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/beans/PropertyState.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
 
 #include <rtl/ustrbuf.hxx>
 #include <rtl/instance.hxx>
diff --git a/comphelper/source/misc/numberedcollection.cxx b/comphelper/source/misc/numberedcollection.cxx
index 82225761b1891d6e1f4faf5264c3f09ece6c07b1..8b742d295cf95e77c42d133869c58e1dd5f00625 100644
--- a/comphelper/source/misc/numberedcollection.cxx
+++ b/comphelper/source/misc/numberedcollection.cxx
@@ -20,6 +20,7 @@
 #include <algorithm>
 #include <comphelper/numberedcollection.hxx>
 #include <com/sun/star/frame/UntitledNumbersConst.hpp>
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
 
 namespace comphelper{
 
diff --git a/comphelper/source/misc/numbers.cxx b/comphelper/source/misc/numbers.cxx
index 2068223d3a718d40477b8616b21778033361c40e..70eb3f4e8df0d2ac84e3bf17dd5612faa145c716 100644
--- a/comphelper/source/misc/numbers.cxx
+++ b/comphelper/source/misc/numbers.cxx
@@ -21,6 +21,7 @@
 #include <osl/diagnose.h>
 #include <sal/log.hxx>
 #include <com/sun/star/util/NumberFormat.hpp>
+#include <com/sun/star/util/XNumberFormatter.hpp>
 #include <com/sun/star/util/XNumberFormatTypes.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/lang/Locale.hpp>
diff --git a/comphelper/source/misc/sequenceashashmap.cxx b/comphelper/source/misc/sequenceashashmap.cxx
index 93e84139352c02746eccc005b1ab1df027116f4f..08301f5a8021c7e7494a347e96f7a73ac16f9647 100644
--- a/comphelper/source/misc/sequenceashashmap.cxx
+++ b/comphelper/source/misc/sequenceashashmap.cxx
@@ -19,6 +19,8 @@
 
 #include <sal/config.h>
 
+#include <com/sun/star/beans/NamedValue.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <comphelper/sequenceashashmap.hxx>
 
diff --git a/comphelper/source/misc/serviceinfohelper.cxx b/comphelper/source/misc/serviceinfohelper.cxx
index 8e70ebcc142d6de067418b88caa1a344ef7e8dc8..59cb0ea60b2d6d4ece0fd97fc6c3556e0ea4291e 100644
--- a/comphelper/source/misc/serviceinfohelper.cxx
+++ b/comphelper/source/misc/serviceinfohelper.cxx
@@ -19,8 +19,7 @@
 
 
 #include <comphelper/serviceinfohelper.hxx>
-
-// #####################################################################
+#include <com/sun/star/uno/Sequence.hxx>
 
 namespace comphelper
 {
diff --git a/comphelper/source/misc/solarmutex.cxx b/comphelper/source/misc/solarmutex.cxx
index 3af24dadb4c75408467ed109b5f27fad538d7340..3a6b34af1947e785b56a9873f30a29dbc6fa8a06 100644
--- a/comphelper/source/misc/solarmutex.cxx
+++ b/comphelper/source/misc/solarmutex.cxx
@@ -20,6 +20,7 @@
 #include <sal/config.h>
 
 #include <comphelper/solarmutex.hxx>
+#include <osl/thread.hxx>
 
 #include <assert.h>
 #include <cstdlib>
diff --git a/comphelper/source/processfactory/processfactory.cxx b/comphelper/source/processfactory/processfactory.cxx
index f3654a243ca90b1980720e98eadd04454bab753d..1f51fe6190165d87ddcb192a25441c8612c10147 100644
--- a/comphelper/source/processfactory/processfactory.cxx
+++ b/comphelper/source/processfactory/processfactory.cxx
@@ -23,6 +23,7 @@
 
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/uno/DeploymentException.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 using namespace ::com::sun::star;
 using namespace com::sun::star::uno;
diff --git a/comphelper/source/property/genericpropertyset.cxx b/comphelper/source/property/genericpropertyset.cxx
index 2bb428e9c8c6204f114a2c73725fe8caf97f8cdf..aaf94149ce406c9d25b808a45f386d82dae773b6 100644
--- a/comphelper/source/property/genericpropertyset.cxx
+++ b/comphelper/source/property/genericpropertyset.cxx
@@ -28,6 +28,7 @@
 #include <cppuhelper/supportsservice.hxx>
 #include <comphelper/propertysethelper.hxx>
 #include <osl/mutex.hxx>
+#include <rtl/ref.hxx>
 #include <comphelper/genericpropertyset.hxx>
 #include <comphelper/propertysetinfo.hxx>
 
diff --git a/comphelper/source/property/property.cxx b/comphelper/source/property/property.cxx
index b69ca62c4ac5947d3a4593f230b196d3e32030fb..54f31dcd83d0a456b68432f61c4854df39f7d75a 100644
--- a/comphelper/source/property/property.cxx
+++ b/comphelper/source/property/property.cxx
@@ -31,6 +31,7 @@
     #include <typeinfo>
 #endif
 #include <com/sun/star/beans/PropertyAttribute.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/uno/genfunc.h>
 #include <rtl/ustrbuf.hxx>
diff --git a/comphelper/source/property/propertybag.cxx b/comphelper/source/property/propertybag.cxx
index 027301a4d31813178ed009688b4cec009320f577..43aeee4276d4a2dc3c02f8e0693fcd886eaa7820 100644
--- a/comphelper/source/property/propertybag.cxx
+++ b/comphelper/source/property/propertybag.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <comphelper/propertybag.hxx>
+#include <osl/diagnose.h>
 
 #include <com/sun/star/beans/IllegalTypeException.hpp>
 #include <com/sun/star/beans/PropertyExistException.hpp>
@@ -25,6 +26,7 @@
 #include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/beans/PropertyAttribute.hpp>
 #include <com/sun/star/beans/NotRemoveableException.hpp>
+#include <com/sun/star/beans/UnknownPropertyException.hpp>
 
 #include <map>
 
diff --git a/comphelper/source/property/propertycontainerhelper.cxx b/comphelper/source/property/propertycontainerhelper.cxx
index d2e5ad30afd2bb843be23f9cfe6e6a709d385357..11e3640f9485300c907bbb1e0af202fc511aa5f4 100644
--- a/comphelper/source/property/propertycontainerhelper.cxx
+++ b/comphelper/source/property/propertycontainerhelper.cxx
@@ -22,6 +22,7 @@
 #include <osl/diagnose.h>
 #include <uno/data.h>
 #include <com/sun/star/uno/genfunc.h>
+#include <com/sun/star/uno/Sequence.hxx>
 #include <com/sun/star/beans/PropertyAttribute.hpp>
 #include <com/sun/star/beans/UnknownPropertyException.hpp>
 #include <rtl/ustrbuf.hxx>
diff --git a/comphelper/source/property/propertysethelper.cxx b/comphelper/source/property/propertysethelper.cxx
index b9405ab555bf0b1c1683f3cfa106a8e31f8c1ac7..1f456c2c00b39a89fc9e5868093847a0c755dc75 100644
--- a/comphelper/source/property/propertysethelper.cxx
+++ b/comphelper/source/property/propertysethelper.cxx
@@ -20,6 +20,7 @@
 #include <comphelper/propertysetinfo.hxx>
 #include <comphelper/propertysethelper.hxx>
 #include <osl/diagnose.h>
+#include <rtl/ref.hxx>
 
 #include <memory>
 
diff --git a/comphelper/source/streaming/oslfile2streamwrap.cxx b/comphelper/source/streaming/oslfile2streamwrap.cxx
index 198ff1ecea1291a24ac778fbc1f41c5fcb31d876..c69473a60943179cea4e84b5db2ea9527124179c 100644
--- a/comphelper/source/streaming/oslfile2streamwrap.cxx
+++ b/comphelper/source/streaming/oslfile2streamwrap.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/io/BufferSizeExceededException.hpp>
 #include <com/sun/star/io/NotConnectedException.hpp>
 #include <comphelper/oslfile2streamwrap.hxx>
+#include <osl/file.hxx>
 
 #include <algorithm>
 
diff --git a/comphelper/source/streaming/streamsection.cxx b/comphelper/source/streaming/streamsection.cxx
index f6165c7b059d9c335fbc4c978c4058480c2300a2..b03df8ab785a04927e1237dbc9c659bbf4d58d4b 100644
--- a/comphelper/source/streaming/streamsection.cxx
+++ b/comphelper/source/streaming/streamsection.cxx
@@ -18,6 +18,9 @@
  */
 
 #include <comphelper/streamsection.hxx>
+#include <com/sun/star/io/XMarkableStream.hpp>
+#include <com/sun/star/io/XDataInputStream.hpp>
+#include <com/sun/star/io/XDataOutputStream.hpp>
 #include <osl/diagnose.h>
 
 namespace comphelper
diff --git a/connectivity/source/commontools/DateConversion.cxx b/connectivity/source/commontools/DateConversion.cxx
index 025751399403f6a606de327cea31d27f9781a0bf..95c3c0b2212db0c1b4834a1cf29903f2817efaba 100644
--- a/connectivity/source/commontools/DateConversion.cxx
+++ b/connectivity/source/commontools/DateConversion.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/script/XTypeConverter.hpp>
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <com/sun/star/util/NumberFormat.hpp>
+#include <com/sun/star/util/XNumberFormatter.hpp>
 #include <com/sun/star/util/XNumberFormatTypes.hpp>
 #include <com/sun/star/sdb/XColumnUpdate.hpp>
 #include <com/sun/star/sdb/XColumn.hpp>
diff --git a/connectivity/source/commontools/TDatabaseMetaDataBase.cxx b/connectivity/source/commontools/TDatabaseMetaDataBase.cxx
index d66e6c918db47b7814b73b509d91a3687d88d4a5..e5823278095e1b90516c2e923f5a53a23ab4aa60 100644
--- a/connectivity/source/commontools/TDatabaseMetaDataBase.cxx
+++ b/connectivity/source/commontools/TDatabaseMetaDataBase.cxx
@@ -22,6 +22,7 @@
 
 #include <comphelper/sequenceashashmap.hxx>
 #include <comphelper/evtlistenerhlp.hxx>
+#include <comphelper/types.hxx>
 #include <com/sun/star/lang/XComponent.hpp>
 #include <resource/sharedresources.hxx>
 #include <strings.hrc>
diff --git a/connectivity/source/drivers/file/FStatement.cxx b/connectivity/source/drivers/file/FStatement.cxx
index 2457d52be05111c1db1665a10c1159b671007f27..d99e3808f37b3bf5764808202ee82cbaebd39669 100644
--- a/connectivity/source/drivers/file/FStatement.cxx
+++ b/connectivity/source/drivers/file/FStatement.cxx
@@ -32,6 +32,7 @@
 #include <comphelper/processfactory.hxx>
 #include <comphelper/sequence.hxx>
 #include <cppuhelper/typeprovider.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbexception.hxx>
 #include <strings.hrc>
 #include <algorithm>
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
index dffbeb996add410b1c944facab1348d2df9e7976..9f3ae07c39101a86b5ede321fd9677a0642283e6 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -48,6 +48,7 @@
 #include <comphelper/processfactory.hxx>
 #include <comphelper/propertysequence.hxx>
 #include <cppuhelper/supportsservice.hxx>
+#include <comphelper/types.hxx>
 #include <unotools/confignode.hxx>
 #include <unotools/ucbstreamhelper.hxx>
 #include <strings.hrc>
diff --git a/connectivity/source/drivers/hsqldb/HUser.cxx b/connectivity/source/drivers/hsqldb/HUser.cxx
index 5fd38f739a51306eb8853a91b4670936131ef86a..0c413d117b0bb9eed8619ff7d5cce0a1e258a489 100644
--- a/connectivity/source/drivers/hsqldb/HUser.cxx
+++ b/connectivity/source/drivers/hsqldb/HUser.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/sdbc/XResultSet.hpp>
 #include <connectivity/dbtools.hxx>
 #include <connectivity/dbexception.hxx>
+#include <comphelper/types.hxx>
 #include <com/sun/star/sdbcx/Privilege.hpp>
 #include <com/sun/star/sdbcx/PrivilegeObject.hpp>
 #include <TConnection.hxx>
diff --git a/connectivity/source/drivers/jdbc/PreparedStatement.cxx b/connectivity/source/drivers/jdbc/PreparedStatement.cxx
index 85ef0adb621d06923f92b96011457b8b37f972cc..a01df751c4a0538cd69806ee72c20ef90624422f 100644
--- a/connectivity/source/drivers/jdbc/PreparedStatement.cxx
+++ b/connectivity/source/drivers/jdbc/PreparedStatement.cxx
@@ -27,6 +27,7 @@
 #include <cppuhelper/typeprovider.hxx>
 #include <cppuhelper/queryinterface.hxx>
 #include <comphelper/sequence.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbtools.hxx>
 #include <connectivity/FValue.hxx>
 #include <connectivity/dbexception.hxx>
diff --git a/connectivity/source/drivers/macab/MacabResultSet.cxx b/connectivity/source/drivers/macab/MacabResultSet.cxx
index 72920f138c100aeff87b271406a7cceb3a0d83a4..fd129a1b798adde1d360a3173ac2fbdb2d7a5cdd 100644
--- a/connectivity/source/drivers/macab/MacabResultSet.cxx
+++ b/connectivity/source/drivers/macab/MacabResultSet.cxx
@@ -29,6 +29,8 @@
 #include <com/sun/star/beans/PropertyAttribute.hpp>
 #include <com/sun/star/sdbcx/CompareBookmark.hpp>
 #include <TConnection.hxx>
+#include <cppuhelper/typeprovider.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbexception.hxx>
 #include <resource/sharedresources.hxx>
 #include <strings.hrc>
diff --git a/connectivity/source/drivers/macab/MacabStatement.cxx b/connectivity/source/drivers/macab/MacabStatement.cxx
index c8a7e83073566f1e54beb9f0dad9b42f6341f86e..55d91567330e7c9b4f9d5fb7ab0c0e3198d6d1aa 100644
--- a/connectivity/source/drivers/macab/MacabStatement.cxx
+++ b/connectivity/source/drivers/macab/MacabStatement.cxx
@@ -28,6 +28,7 @@
 #include "macabcondition.hxx"
 #include "macaborder.hxx"
 #include <TConnection.hxx>
+#include <cppuhelper/typeprovider.hxx>
 #include <connectivity/dbexception.hxx>
 #include <resource/sharedresources.hxx>
 #include <strings.hrc>
diff --git a/connectivity/source/drivers/mork/MPreparedStatement.cxx b/connectivity/source/drivers/mork/MPreparedStatement.cxx
index 4945b26dd9c3931ee3bfec9ea6cc359cfac5ff5f..442dc9060822a724cc07bf7833d84eb76f47ba2b 100644
--- a/connectivity/source/drivers/mork/MPreparedStatement.cxx
+++ b/connectivity/source/drivers/mork/MPreparedStatement.cxx
@@ -11,6 +11,7 @@
 #include "MPreparedStatement.hxx"
 #include "MResultSetMetaData.hxx"
 #include <connectivity/dbtools.hxx>
+#include <comphelper/types.hxx>
 #include <com/sun/star/sdbc/ColumnValue.hpp>
 #include <sal/log.hxx>
 
diff --git a/connectivity/source/drivers/mork/MResultSet.cxx b/connectivity/source/drivers/mork/MResultSet.cxx
index d169e8259b0d1ba18d604a998679f45dca505faa..49600e8bda3e97d52869dc0648e39ad36feefe8a 100644
--- a/connectivity/source/drivers/mork/MResultSet.cxx
+++ b/connectivity/source/drivers/mork/MResultSet.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
 #include <com/sun/star/sdbcx/CompareBookmark.hpp>
 #include <connectivity/dbtools.hxx>
+#include <comphelper/types.hxx>
 #include <sal/log.hxx>
 
 #include <vector>
diff --git a/connectivity/source/inc/TConnection.hxx b/connectivity/source/inc/TConnection.hxx
index 2a18da132d04732e8416a6399e2875af46730950..8737da6dddbc922810af7bc3e71733e2a88db5df 100644
--- a/connectivity/source/inc/TConnection.hxx
+++ b/connectivity/source/inc/TConnection.hxx
@@ -20,6 +20,7 @@
 #define INCLUDED_CONNECTIVITY_SOURCE_INC_TCONNECTION_HXX
 
 #include <rtl/textenc.h>
+#include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
diff --git a/dbaccess/source/core/api/RowSetCache.cxx b/dbaccess/source/core/api/RowSetCache.cxx
index 8a05dd9b147aa559bc669f77780981b2e93821a9..ab47a8722846a7e8a081d2a2139c45fc03462c38 100644
--- a/dbaccess/source/core/api/RowSetCache.cxx
+++ b/dbaccess/source/core/api/RowSetCache.cxx
@@ -44,6 +44,7 @@
 
 #include <comphelper/extract.hxx>
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbexception.hxx>
 #include <connectivity/dbtools.hxx>
 #include <connectivity/sqliterator.hxx>
diff --git a/dbaccess/source/core/api/querycontainer.cxx b/dbaccess/source/core/api/querycontainer.cxx
index 26bbec26c13d016074cf756ed08ff2f658222d84..edf1237070c71d39abab5378d92b36b43ed1ee8d 100644
--- a/dbaccess/source/core/api/querycontainer.cxx
+++ b/dbaccess/source/core/api/querycontainer.cxx
@@ -36,6 +36,7 @@
 #include <osl/diagnose.h>
 #include <comphelper/uno3.hxx>
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/exc_hlp.hxx>
 
 using namespace dbtools;
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
index 0e1df67501766946e910bb76f12c5fee7ff8c1a0..abdd5242d27ae56313c519d8b7d216b6a70c6c70 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
@@ -45,6 +45,7 @@
 #include <cppuhelper/exc_hlp.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <cppuhelper/typeprovider.hxx>
+#include <comphelper/types.hxx>
 #include <rtl/digest.h>
 #include <sfx2/signaturestate.hxx>
 #include <tools/debug.hxx>
diff --git a/dbaccess/source/core/dataaccess/connection.cxx b/dbaccess/source/core/dataaccess/connection.cxx
index 1793af9e5253734762ebeba91dd73a3829738b9a..5bed9986d13a51844f84b0f7596ef87daba33ad7 100644
--- a/dbaccess/source/core/dataaccess/connection.cxx
+++ b/dbaccess/source/core/dataaccess/connection.cxx
@@ -48,6 +48,7 @@
 #include <tools/diagnose_ex.h>
 #include <osl/diagnose.h>
 #include <comphelper/sequence.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <cppuhelper/typeprovider.hxx>
 
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index b495e1afb5ef83482c8752c601b13b996b17a005..e84af4dfe653c8fcb7c818524942266629b96743 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -69,6 +69,7 @@
 #include <comphelper/numberedcollection.hxx>
 #include <comphelper/storagehelper.hxx>
 #include <comphelper/propertysetinfo.hxx>
+#include <comphelper/types.hxx>
 
 #include <connectivity/dbtools.hxx>
 
diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx
index 8ecba91846d419620f2b51262236cbff7a05ea98..fd707eb1cb66615602d67125defebb0138633cee 100644
--- a/dbaccess/source/core/dataaccess/datasource.cxx
+++ b/dbaccess/source/core/dataaccess/datasource.cxx
@@ -54,6 +54,7 @@
 #include <comphelper/interaction.hxx>
 #include <comphelper/property.hxx>
 #include <comphelper/sequence.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <connectivity/dbexception.hxx>
 #include <connectivity/dbtools.hxx>
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.cxx b/dbaccess/source/core/dataaccess/documentdefinition.cxx
index cf72ef2d252049fb5dbc91274b3633bc2ce43092..2bca0c6199843bb1ac8a6b1be57a0745a168f196 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.cxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.cxx
@@ -27,6 +27,7 @@
 #include <comphelper/namedvaluecollection.hxx>
 #include <comphelper/classids.hxx>
 #include <comphelper/propertysequence.hxx>
+#include <comphelper/types.hxx>
 #include <com/sun/star/frame/XUntitledNumbers.hpp>
 #include <com/sun/star/awt/XTopWindow.hpp>
 #include <com/sun/star/awt/Size.hpp>
diff --git a/dbaccess/source/ui/app/AppControllerGen.cxx b/dbaccess/source/ui/app/AppControllerGen.cxx
index ef04d8c059326630c769ee200e434f9deb98e431..1512c77233c51ed2510bed693d907d7cdd60e22b 100644
--- a/dbaccess/source/ui/app/AppControllerGen.cxx
+++ b/dbaccess/source/ui/app/AppControllerGen.cxx
@@ -51,6 +51,7 @@
 #include <com/sun/star/util/XRefreshable.hpp>
 
 #include <cppuhelper/exc_hlp.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbexception.hxx>
 #include <connectivity/dbtools.hxx>
 #include <connectivity/sqlerror.hxx>
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index 4108eb78db34cbe9c0ff1dd9b48139791a9c6859..73b9997c79d27e99f396dffb6191271d21b3aea0 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -71,6 +71,7 @@
 #include <comphelper/interaction.hxx>
 #include <comphelper/sequence.hxx>
 #include <comphelper/string.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbexception.hxx>
 #include <connectivity/dbtools.hxx>
 #include <connectivity/sqlerror.hxx>
diff --git a/dbaccess/source/ui/browser/sbagrid.cxx b/dbaccess/source/ui/browser/sbagrid.cxx
index e1680295683dd92f460ef83cdfafcf85a10ca6d1..9f5709f347824d59d9797a8839cb8c796a72b715 100644
--- a/dbaccess/source/ui/browser/sbagrid.cxx
+++ b/dbaccess/source/ui/browser/sbagrid.cxx
@@ -70,6 +70,7 @@
 #include <connectivity/dbconversion.hxx>
 #include <cppuhelper/typeprovider.hxx>
 #include <comphelper/servicehelper.hxx>
+#include <comphelper/types.hxx>
 #include <com/sun/star/sdbcx/XTablesSupplier.hpp>
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <browserids.hxx>
diff --git a/dbaccess/source/ui/control/dbtreelistbox.cxx b/dbaccess/source/ui/control/dbtreelistbox.cxx
index 580bb79b89bcd09c691b91bb02e54468825e7e35..9bbf1b2af5a9b68b7edbc276f0189885613cc78b 100644
--- a/dbaccess/source/ui/control/dbtreelistbox.cxx
+++ b/dbaccess/source/ui/control/dbtreelistbox.cxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/datatransfer/dnd/XDragGestureRecognizer.hpp>
 #include <com/sun/star/ui/XContextMenuInterceptor.hpp>
 #include <com/sun/star/util/URL.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <comphelper/interfacecontainer2.hxx>
 #include <comphelper/processfactory.hxx>
diff --git a/dbaccess/source/ui/querydesign/QTableWindow.cxx b/dbaccess/source/ui/querydesign/QTableWindow.cxx
index cba04bb093e90ca9f41f70484c66aa26f0327e4e..7b5be605292b4280d1d6db7a33ab03b483515537 100644
--- a/dbaccess/source/ui/querydesign/QTableWindow.cxx
+++ b/dbaccess/source/ui/querydesign/QTableWindow.cxx
@@ -37,6 +37,7 @@
 #include "TableFieldInfo.hxx"
 #include <UITools.hxx>
 #include <svtools/treelistentry.hxx>
+#include <comphelper/types.hxx>
 
 using namespace ::com::sun::star::sdbc;
 using namespace ::com::sun::star::sdbcx;
diff --git a/drawinglayer/source/primitive2d/controlprimitive2d.cxx b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
index a6295406d9676e6a6adb847458328f0889d5c0e7..4de6279cb60d98ec6bb7b436e694535f5c31fc77 100644
--- a/drawinglayer/source/primitive2d/controlprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
@@ -21,6 +21,7 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <comphelper/processfactory.hxx>
 #include <com/sun/star/awt/XWindow2.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <drawinglayer/geometry/viewinformation2d.hxx>
 #include <vcl/virdev.hxx>
 #include <vcl/svapp.hxx>
diff --git a/drawinglayer/source/primitive2d/textlayoutdevice.cxx b/drawinglayer/source/primitive2d/textlayoutdevice.cxx
index ccef3e685cbb4b5287e466e68487c539371d1b86..132b98f0921f62a87467a50d3a56f6b725615482 100644
--- a/drawinglayer/source/primitive2d/textlayoutdevice.cxx
+++ b/drawinglayer/source/primitive2d/textlayoutdevice.cxx
@@ -32,6 +32,7 @@
 #include <i18nlangtag/languagetag.hxx>
 #include <drawinglayer/primitive2d/textprimitive2d.hxx>
 #include <vcl/svapp.hxx>
+#include <o3tl/deleter.hxx>
 
 
 // VDev RevDevice provider
diff --git a/embeddedobj/source/commonembedding/xfactory.cxx b/embeddedobj/source/commonembedding/xfactory.cxx
index 6fdb9e92514465f5376063a6dea0f2e3044e0f5a..2bac339a7651ab7cf0c41c2d5bf491db9c262653 100644
--- a/embeddedobj/source/commonembedding/xfactory.cxx
+++ b/embeddedobj/source/commonembedding/xfactory.cxx
@@ -22,6 +22,7 @@
 #include <com/sun/star/document/XTypeDetection.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/beans/NamedValue.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/io/IOException.hpp>
 #include <comphelper/processfactory.hxx>
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index f5b565884e1f38a850356af1dc3a512da4ba16f6..24c2531a295338a3ed0bd7ffaea7a18963303ff1 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -75,6 +75,7 @@
 #include <com/sun/star/text/WritingMode2.hpp>
 
 #include <comphelper/extract.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbconversion.hxx>
 #include <connectivity/dbexception.hxx>
 #include <cppuhelper/exc_hlp.hxx>
diff --git a/extensions/source/propctrlr/genericpropertyhandler.cxx b/extensions/source/propctrlr/genericpropertyhandler.cxx
index 21bddf5fc736855592ea7883fd7b3986cc07cbf8..a220b164493db9e3a98f8cf9d693fd19fb23d754 100644
--- a/extensions/source/propctrlr/genericpropertyhandler.cxx
+++ b/extensions/source/propctrlr/genericpropertyhandler.cxx
@@ -37,6 +37,7 @@
 #include <cppuhelper/implbase.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <comphelper/extract.hxx>
+#include <comphelper/types.hxx>
 #include <tools/debug.hxx>
 
 #include <algorithm>
diff --git a/filter/source/msfilter/mscodec.cxx b/filter/source/msfilter/mscodec.cxx
index 975c9078dd1de6e8e7fa2af1adfbe09f7fcd8729..9200cce2ca8daf33d54039b43052aa4ac8c5af6a 100644
--- a/filter/source/msfilter/mscodec.cxx
+++ b/filter/source/msfilter/mscodec.cxx
@@ -27,6 +27,7 @@
 #include <comphelper/hash.hxx>
 #include <comphelper/sequenceashashmap.hxx>
 #include <comphelper/docpasswordhelper.hxx>
+#include <com/sun/star/beans/NamedValue.hpp>
 
 #define DEBUG_MSO_ENCRYPTION_STD97 0
 
diff --git a/forms/source/component/Columns.cxx b/forms/source/component/Columns.cxx
index 667ad43c0734a914275d7cc0355e7a927d2b708b..24a431aca5d550b0c6da935757843137a3221340 100644
--- a/forms/source/component/Columns.cxx
+++ b/forms/source/component/Columns.cxx
@@ -35,6 +35,7 @@
 #include <comphelper/property.hxx>
 #include <comphelper/basicio.hxx>
 #include <comphelper/servicehelper.hxx>
+#include <comphelper/types.hxx>
 #include <services.hxx>
 #include <strings.hrc>
 #include <tools/debug.hxx>
diff --git a/forms/source/component/Currency.cxx b/forms/source/component/Currency.cxx
index dac29657ab5cb7765afa4cbf6174d893924c7ff7..a64cd35287cbd23ec9b931ba9b8c4bd3371ff2e6 100644
--- a/forms/source/component/Currency.cxx
+++ b/forms/source/component/Currency.cxx
@@ -22,6 +22,7 @@
 #include <unotools/localedatawrapper.hxx>
 #include <vcl/svapp.hxx>
 #include <unotools/syslocale.hxx>
+#include <comphelper/types.hxx>
 
 
 namespace frm
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index ea9ce31a05913167b8842616a84569d365343f81..1ae25440211793b9a197f99eaa59236b2364df43 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -61,6 +61,7 @@
 #include <connectivity/dbtools.hxx>
 #include <cppuhelper/exc_hlp.hxx>
 #include <cppuhelper/supportsservice.hxx>
+#include <comphelper/types.hxx>
 #include <rtl/math.hxx>
 #include <rtl/tencinfo.h>
 #include <svl/inettype.hxx>
diff --git a/forms/source/component/Edit.cxx b/forms/source/component/Edit.cxx
index b7cc5dc73f8e8bc913a5fbb3c570334d51ec3ac6..600010321d7b5ee9c96c614c0425e3adcb26b33c 100644
--- a/forms/source/component/Edit.cxx
+++ b/forms/source/component/Edit.cxx
@@ -37,6 +37,7 @@
 #include <connectivity/dbconversion.hxx>
 
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <tools/diagnose_ex.h>
 #include <sal/log.hxx>
 
diff --git a/forms/source/component/EditBase.cxx b/forms/source/component/EditBase.cxx
index 52f368f54051aa2f89b08f6d40e4838289fd5b0f..58b769d40522260fb54e51f111ff0e7f58b5bf5c 100644
--- a/forms/source/component/EditBase.cxx
+++ b/forms/source/component/EditBase.cxx
@@ -23,6 +23,7 @@
 #include <tools/debug.hxx>
 #include <comphelper/basicio.hxx>
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/queryinterface.hxx>
 #include <frm_resource.hxx>
 #include <strings.hrc>
diff --git a/forms/source/component/Filter.cxx b/forms/source/component/Filter.cxx
index 9b956a19b6d109799cee587b5c6b8bb7652deff6..dd3c4f989e6fb3dc5ae0fb78697ced5fc8d643b0 100644
--- a/forms/source/component/Filter.cxx
+++ b/forms/source/component/Filter.cxx
@@ -48,6 +48,7 @@
 #include <com/sun/star/awt/XItemList.hpp>
 
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <connectivity/dbconversion.hxx>
 #include <connectivity/dbtools.hxx>
diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx
index 2279b49dfcff7322a9538056b2cfc1f3385d3453..1e2e742eaba924bec90dd2b4ed79804c82abd173 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -25,6 +25,7 @@
 #include <comphelper/property.hxx>
 #include <comphelper/sequence.hxx>
 #include <comphelper/numbers.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbtools.hxx>
 #include <connectivity/dbconversion.hxx>
 #include <o3tl/any.hxx>
diff --git a/forms/source/component/Grid.cxx b/forms/source/component/Grid.cxx
index 6529269368421190d569b4b9d441d663d9ff80de..ba3bfd222bf8a7d6d56b555da4f547f063f03416 100644
--- a/forms/source/component/Grid.cxx
+++ b/forms/source/component/Grid.cxx
@@ -30,6 +30,7 @@
 #include <com/sun/star/text/WritingMode2.hpp>
 #include <comphelper/basicio.hxx>
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/queryinterface.hxx>
 #include <vcl/unohelp.hxx>
 #include <vcl/svapp.hxx>
diff --git a/forms/source/component/ImageControl.cxx b/forms/source/component/ImageControl.cxx
index b5b85d77b1fabfb3440e3f31413fe1e9bb11f4ce..2f8feff4a38ae20432c4ea58145d12aa7cf75ce0 100644
--- a/forms/source/component/ImageControl.cxx
+++ b/forms/source/component/ImageControl.cxx
@@ -51,6 +51,7 @@
 #include <unotools/streamhelper.hxx>
 #include <comphelper/guarding.hxx>
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <unotools/ucbstreamhelper.hxx>
 #include <svl/urihelper.hxx>
 
diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index f294615cdd978405a2bef6ab3a358a73d01464d9..b41e06ce1c4fb0f86d382d12d5cd7ac8e6c05f9d 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -41,6 +41,7 @@
 #include <comphelper/basicio.hxx>
 #include <comphelper/property.hxx>
 #include <comphelper/sequence.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbtools.hxx>
 #include <connectivity/formattedcolumnvalue.hxx>
 #include <connectivity/dbconversion.hxx>
diff --git a/forms/source/component/Numeric.cxx b/forms/source/component/Numeric.cxx
index b4c2537c2152f461c4d836abeec4bf51d056cd77..73a8e2980df4038cfacdebc0c337000d956a7e57 100644
--- a/forms/source/component/Numeric.cxx
+++ b/forms/source/component/Numeric.cxx
@@ -18,6 +18,7 @@
  */
 
 #include "Numeric.hxx"
+#include <comphelper/types.hxx>
 
 namespace frm
 {
diff --git a/forms/source/component/clickableimage.cxx b/forms/source/component/clickableimage.cxx
index c328e4241958788be4c75d569e2efb02b46c51cb..bae745377e41b84e038b3057c21f86de839a7f20 100644
--- a/forms/source/component/clickableimage.cxx
+++ b/forms/source/component/clickableimage.cxx
@@ -44,6 +44,7 @@
 #include <services.hxx>
 #include <comphelper/interfacecontainer2.hxx>
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/exc_hlp.hxx>
 #include <svtools/imageresourceaccess.hxx>
 #define LOCAL_URL_PREFIX    '#'
diff --git a/forms/source/misc/InterfaceContainer.cxx b/forms/source/misc/InterfaceContainer.cxx
index 03de92cdc02a61038573b7d04f797e00c87895f9..ac7049c08d625bc64676c5e842a5e55a95b2c321 100644
--- a/forms/source/misc/InterfaceContainer.cxx
+++ b/forms/source/misc/InterfaceContainer.cxx
@@ -40,6 +40,7 @@
 #include <comphelper/eventattachermgr.hxx>
 #include <comphelper/property.hxx>
 #include <comphelper/sequence.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/exc_hlp.hxx>
 #include <cppuhelper/queryinterface.hxx>
 #include <tools/debug.hxx>
diff --git a/framework/source/uielement/toolbarmodemenucontroller.cxx b/framework/source/uielement/toolbarmodemenucontroller.cxx
index 12d813e9c59653ff5814f6b1d31366cef0bebf0b..b61b3cd5e28181638d8685556fd91fe0071c6931 100644
--- a/framework/source/uielement/toolbarmodemenucontroller.cxx
+++ b/framework/source/uielement/toolbarmodemenucontroller.cxx
@@ -36,6 +36,7 @@
 #include <vcl/settings.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <sal/log.hxx>
+#include <comphelper/types.hxx>
 #include <vcl/window.hxx>
 #include <svtools/menuoptions.hxx>
 #include <svtools/miscopt.hxx>
diff --git a/include/IwyuFilter_include.yaml b/include/IwyuFilter_include.yaml
index 1569881e4a484f9b0934962884b514e32bfa81a7..81b3bc048b9ef65857940f2eb24198b33a6fd38a 100644
--- a/include/IwyuFilter_include.yaml
+++ b/include/IwyuFilter_include.yaml
@@ -155,3 +155,49 @@ blacklist:
     - com/sun/star/task/XInteractionDisapprove.hpp
     - com/sun/star/task/XInteractionRequest.hpp
     - com/sun/star/task/XInteractionRetry.hpp
+    include/comphelper/SelectionMultiplex.hxx:
+    # base class has to be a complete type
+    - com/sun/star/view/XSelectionChangeListener.hpp
+    include/comphelper/namedvaluecollection.hxx:
+    # Needed for template class
+    - com/sun/star/beans/PropertyValue.hpp
+    - com/sun/star/beans/NamedValue.hpp
+    include/comphelper/numberedcollection.hxx:
+    # base class has to be a complete type
+    - com/sun/star/frame/XUntitledNumbers.hpp
+    include/comphelper/oslfile2streamwrap.hxx:
+    # base class has to be a complete type
+    - com/sun/star/io/XInputStream.hpp
+    - com/sun/star/io/XOutputStream.hpp
+    include/comphelper/propmultiplex.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertyChangeListener.hpp
+    include/comphelper/propertystatecontainer.hxx:
+    # base class has to be a complete type
+    - com/sun/star/beans/XPropertyState.hpp
+    include/comphelper/seqstream.hxx:
+    # base class has to be a complete type
+    - com/sun/star/io/XInputStream.hpp
+    - com/sun/star/io/XSeekable.hpp
+    include/comphelper/sequence.hxx:
+    # Needed for implicit dtor
+    - com/sun/star/uno/Sequence.hxx
+    include/comphelper/sequenceashashmap.hxx:
+    # Needed for implicit dtor
+    - com/sun/star/uno/Sequence.hxx
+    include/comphelper/servicedecl.hxx:
+    # base class has to be a complete type
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/uno/XComponentContext.hpp
+    include/comphelper/servicehelper.hxx:
+    # Needed for macro
+    - rtl/instance.hxx
+    include/comphelper/simplefileaccessinteraction.hxx:
+    # base class has to be a complete type
+    - com/sun/star/task/XInteractionHandler.hpp
+    include/comphelper/unique_disposing_ptr.hxx:
+    # base class has to be a complete type
+    - com/sun/star/lang/XServiceInfo.hpp
+    include/comphelper/uno3.hxx:
+    # Needed for macro
+    - comphelper/sequence.hxx
diff --git a/include/comphelper/MasterPropertySet.hxx b/include/comphelper/MasterPropertySet.hxx
index 4a78c5ee76383688e785d8cbffe466510a93b161..73f376a601a4c5d2da7fe93b11c1fb924486245b 100644
--- a/include/comphelper/MasterPropertySet.hxx
+++ b/include/comphelper/MasterPropertySet.hxx
@@ -22,12 +22,13 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/beans/XPropertyState.hpp>
 #include <com/sun/star/beans/XMultiPropertySet.hpp>
-#include <comphelper/PropertyInfoHash.hxx>
 #include <comphelper/comphelperdllapi.h>
-#include <comphelper/solarmutex.hxx>
 #include <rtl/ref.hxx>
 #include <map>
 
+namespace comphelper { class SolarMutex; }
+namespace comphelper { struct PropertyInfo; }
+
 namespace comphelper
 {
     class MasterPropertySetInfo;
diff --git a/include/comphelper/PropertyInfoHash.hxx b/include/comphelper/PropertyInfoHash.hxx
index 3f1e4e084c9782bc0ddd96605fbe31efe9ca7dbb..03c4373001d2d08ed26920e0418a65bbb2211031 100644
--- a/include/comphelper/PropertyInfoHash.hxx
+++ b/include/comphelper/PropertyInfoHash.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_COMPHELPER_PROPERTYINFOHASH_HXX
 
 #include <rtl/ustring.hxx>
-#include <com/sun/star/uno/Type.hxx>
+#include <com/sun/star/uno/Type.h>
 #include <unordered_map>
 
 namespace comphelper
diff --git a/include/comphelper/SelectionMultiplex.hxx b/include/comphelper/SelectionMultiplex.hxx
index 8479ad7c4938ba5b10e44fad37d36b351e5a2288..77ed7a363636e0fbfde1223063d754e06bd94d35 100644
--- a/include/comphelper/SelectionMultiplex.hxx
+++ b/include/comphelper/SelectionMultiplex.hxx
@@ -21,11 +21,12 @@
 #define INCLUDED_COMPHELPER_SELECTIONMULTIPLEX_HXX
 
 #include <com/sun/star/view/XSelectionChangeListener.hpp>
-#include <com/sun/star/view/XSelectionSupplier.hpp>
+#include <com/sun/star/lang/EventObject.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <comphelper/comphelperdllapi.h>
 #include <rtl/ref.hxx>
 
+namespace com { namespace sun { namespace star { namespace view { class XSelectionSupplier; } } } }
 
 //= selection helper classes
 
diff --git a/include/comphelper/mimeconfighelper.hxx b/include/comphelper/mimeconfighelper.hxx
index 88ac1fc8d02d9b6a8ec32ca3561b88760269044c..c9b38452ad81235ba90d0a3e1452bea4094c654f 100644
--- a/include/comphelper/mimeconfighelper.hxx
+++ b/include/comphelper/mimeconfighelper.hxx
@@ -21,16 +21,15 @@
 #define INCLUDED_COMPHELPER_MIMECONFIGHELPER_HXX
 
 #include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/container/XContainerQuery.hpp>
-#include <com/sun/star/beans/NamedValue.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/embed/VerbDescriptor.hpp>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace beans { struct NamedValue; } } } }
+namespace com { namespace sun { namespace star { namespace beans { struct PropertyValue; } } } }
+namespace com { namespace sun { namespace star { namespace container { class XContainerQuery; } } } }
+namespace com { namespace sun { namespace star { namespace container { class XNameAccess; } } } }
+namespace com { namespace sun { namespace star { namespace embed { struct VerbDescriptor; } } } }
+namespace com { namespace sun { namespace star { namespace lang { class XMultiServiceFactory; } } } }
+namespace com { namespace sun { namespace star { namespace uno { class XComponentContext; } } } }
 
 enum class SfxFilterFlags;
 
diff --git a/include/comphelper/namecontainer.hxx b/include/comphelper/namecontainer.hxx
index fd078c6e863090526a942920396765a8b64b9839..3df8e1fc3e0bb2e1477c60097c2ff2367aa38cc9 100644
--- a/include/comphelper/namecontainer.hxx
+++ b/include/comphelper/namecontainer.hxx
@@ -20,10 +20,12 @@
 #ifndef INCLUDED_COMPHELPER_NAMECONTAINER_HXX
 #define INCLUDED_COMPHELPER_NAMECONTAINER_HXX
 
-#include <com/sun/star/uno/Type.hxx>
-#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/uno/Type.h>
+#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace container { class XNameContainer; } } } }
+
 namespace comphelper
 {
     COMPHELPER_DLLPUBLIC css::uno::Reference< css::container::XNameContainer >
diff --git a/include/comphelper/namedvaluecollection.hxx b/include/comphelper/namedvaluecollection.hxx
index 80a20f1348edb83ad3b203a63bead6e4e5a22205..3f3e405f5d0f4643d2826ba773a2af698e485904 100644
--- a/include/comphelper/namedvaluecollection.hxx
+++ b/include/comphelper/namedvaluecollection.hxx
@@ -28,10 +28,8 @@
 #include <com/sun/star/beans/NamedValue.hpp>
 
 #include <memory>
-#include <algorithm>
 #include <vector>
 
-
 namespace comphelper
 {
 
diff --git a/include/comphelper/numberedcollection.hxx b/include/comphelper/numberedcollection.hxx
index f004e0a31dcfe04cde45f2f31e12b6e93195d8b6..e2d9a24d4db70853d2fb86ce9892c56dc30d4470 100644
--- a/include/comphelper/numberedcollection.hxx
+++ b/include/comphelper/numberedcollection.hxx
@@ -22,19 +22,17 @@
 
 #include <comphelper/comphelperdllapi.h>
 
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/lang/IllegalArgumentException.hpp>
-#include <com/sun/star/uno/XInterface.hpp>
+#include <com/sun/star/uno/Reference.h>
 #include <com/sun/star/frame/XUntitledNumbers.hpp>
 
 #include <cppuhelper/basemutex.hxx>
 #include <cppuhelper/weakref.hxx>
 #include <cppuhelper/implbase.hxx>
 
-#include <functional>
 #include <unordered_map>
 #include <vector>
 
+namespace com { namespace sun { namespace star { namespace uno { class XInterface; } } } }
 
 namespace comphelper{
 
diff --git a/include/comphelper/numbers.hxx b/include/comphelper/numbers.hxx
index 5b368476721505253d33dc7e1fbf553e76d14a08..9699a8b1d5153ac2ca1d7bc933e993c3f117a466 100644
--- a/include/comphelper/numbers.hxx
+++ b/include/comphelper/numbers.hxx
@@ -20,11 +20,12 @@
 #ifndef INCLUDED_COMPHELPER_NUMBERS_HXX
 #define INCLUDED_COMPHELPER_NUMBERS_HXX
 
-#include <com/sun/star/util/XNumberFormats.hpp>
-#include <com/sun/star/util/XNumberFormatter.hpp>
-#include <com/sun/star/lang/Locale.hpp>
+#include <rtl/ustring.hxx>
+#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace util { class XNumberFormats; } } } }
+namespace com { namespace sun { namespace star { namespace util { class XNumberFormatter; } } } }
 
 namespace comphelper
 {
diff --git a/include/comphelper/ofopxmlhelper.hxx b/include/comphelper/ofopxmlhelper.hxx
index 8c3b62be395677d9b9fb6ce85b40fcd22ad359e5..4679d3fd381c0d58b18695fc02d37d4a34342cc6 100644
--- a/include/comphelper/ofopxmlhelper.hxx
+++ b/include/comphelper/ofopxmlhelper.hxx
@@ -20,13 +20,15 @@
 #ifndef INCLUDED_COMPHELPER_OFOPXMLHELPER_HXX
 #define INCLUDED_COMPHELPER_OFOPXMLHELPER_HXX
 
-#include <com/sun/star/beans/StringPair.hpp>
-#include <com/sun/star/io/XInputStream.hpp>
-#include <com/sun/star/io/XOutputStream.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/uno/Sequence.h>
 
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace beans { struct StringPair; } } } }
+namespace com { namespace sun { namespace star { namespace io { class XInputStream; } } } }
+namespace com { namespace sun { namespace star { namespace io { class XOutputStream; } } } }
+namespace com { namespace sun { namespace star { namespace uno { class XComponentContext; } } } }
+namespace com { namespace sun { namespace star { namespace uno { template <class interface_type> class Reference; } } } }
 
 namespace comphelper
 {
diff --git a/include/comphelper/oslfile2streamwrap.hxx b/include/comphelper/oslfile2streamwrap.hxx
index 7a5197a0d09bdfef5d2c307aa71fddab626550a6..d365df6ccb120297d292b8695f9cdaadb30c6901 100644
--- a/include/comphelper/oslfile2streamwrap.hxx
+++ b/include/comphelper/oslfile2streamwrap.hxx
@@ -21,11 +21,12 @@
 
 #include <osl/mutex.hxx>
 #include <com/sun/star/io/XOutputStream.hpp>
-#include <com/sun/star/io/XInputStream.hpp>
+ #include <com/sun/star/io/XInputStream.hpp>
 #include <cppuhelper/implbase.hxx>
-#include <osl/file.hxx>
 #include <comphelper/comphelperdllapi.h>
 
+namespace osl { class File; }
+
 namespace comphelper
 {
 
diff --git a/include/comphelper/processfactory.hxx b/include/comphelper/processfactory.hxx
index 51ba33754a98e234b905ee86f433a619d7361942..7531ee4fbebeab914ad402735f52da8c4a549600 100644
--- a/include/comphelper/processfactory.hxx
+++ b/include/comphelper/processfactory.hxx
@@ -20,13 +20,15 @@
 #ifndef INCLUDED_COMPHELPER_PROCESSFACTORY_HXX
 #define INCLUDED_COMPHELPER_PROCESSFACTORY_HXX
 
-#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
 namespace com { namespace sun { namespace star { namespace lang {
     class XMultiServiceFactory;
 } } } }
 
+namespace com { namespace sun { namespace star { namespace uno { class XComponentContext; } } } }
+
 namespace comphelper
 {
 
diff --git a/include/comphelper/profilezone.hxx b/include/comphelper/profilezone.hxx
index 09b140748c3324924ed4631e20b16e86af2bb10d..3b3b5ee5041c9483c696b438bad2532b36e71b2a 100644
--- a/include/comphelper/profilezone.hxx
+++ b/include/comphelper/profilezone.hxx
@@ -10,12 +10,10 @@
 #ifndef INCLUDED_COMPHELPER_PROFILEZONE_HXX
 #define INCLUDED_COMPHELPER_PROFILEZONE_HXX
 
-#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Sequence.h>
 #include <comphelper/comphelperdllapi.h>
 #include <rtl/ustring.hxx>
 
-#include <vector>
-
 // implementation of XToolkitExperimental profiling API
 
 namespace comphelper
diff --git a/include/comphelper/propagg.hxx b/include/comphelper/propagg.hxx
index 67cabd5c64020fbb3050f091fc1b13405931390b..cb0b1749b36e8928ccc7d70fd0da10bedb4aacff 100644
--- a/include/comphelper/propagg.hxx
+++ b/include/comphelper/propagg.hxx
@@ -20,7 +20,11 @@
 #ifndef INCLUDED_COMPHELPER_PROPAGG_HXX
 #define INCLUDED_COMPHELPER_PROPAGG_HXX
 
-#include <com/sun/star/uno/XAggregation.hpp>
+#include <com/sun/star/beans/Property.hpp>
+#include <com/sun/star/beans/PropertyState.hpp>
+#include <com/sun/star/beans/XPropertiesChangeListener.hpp>
+#include <com/sun/star/beans/XVetoableChangeListener.hpp>
+#include <com/sun/star/lang/EventObject.hpp>
 #include <comphelper/propstate.hxx>
 #include <comphelper/comphelperdllapi.h>
 
diff --git a/include/comphelper/property.hxx b/include/comphelper/property.hxx
index c8b583db7f9afa937aec3ef2c2e84ac4dd0fb595..1a7f86591fe4b27f0fe4408491677ee1857dc8d2 100644
--- a/include/comphelper/property.hxx
+++ b/include/comphelper/property.hxx
@@ -23,10 +23,10 @@
 #include <cppuhelper/proptypehlp.hxx>
 #include <comphelper/extract.hxx>
 #include <com/sun/star/beans/Property.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
 #include <type_traits>
 #include <comphelper/comphelperdllapi.h>
-#include <cppu/unotype.hxx>
+
+namespace com { namespace sun { namespace star { namespace beans { class XPropertySet; } } } }
 
 namespace comphelper
 {
diff --git a/include/comphelper/propertycontainer.hxx b/include/comphelper/propertycontainer.hxx
index 78d4eda7c4037dfee888a1391c27d461ecda4410..37e355222a5105572b43a73c82e98889a20cf9a5 100644
--- a/include/comphelper/propertycontainer.hxx
+++ b/include/comphelper/propertycontainer.hxx
@@ -22,10 +22,12 @@
 
 #include <comphelper/propertycontainerhelper.hxx>
 #include <cppuhelper/propshlp.hxx>
-#include <com/sun/star/uno/Type.hxx>
 #include <comphelper/comphelperdllapi.h>
 
 
+namespace com { namespace sun { namespace star { namespace uno { class Any; } } } }
+namespace com { namespace sun { namespace star { namespace uno { class Type; } } } }
+
 namespace comphelper
 {
 
diff --git a/include/comphelper/propertycontainerhelper.hxx b/include/comphelper/propertycontainerhelper.hxx
index 4f37a1018e669d66c243d7f88073520cab8ed9fe..0b5a178f6e4ad475ba2fe3be6f55f6e2c74eb7f9 100644
--- a/include/comphelper/propertycontainerhelper.hxx
+++ b/include/comphelper/propertycontainerhelper.hxx
@@ -20,7 +20,6 @@
 #ifndef INCLUDED_COMPHELPER_PROPERTYCONTAINERHELPER_HXX
 #define INCLUDED_COMPHELPER_PROPERTYCONTAINERHELPER_HXX
 
-#include <cppuhelper/propshlp.hxx>
 #include <com/sun/star/uno/Type.hxx>
 #include <com/sun/star/beans/Property.hpp>
 #include <vector>
diff --git a/include/comphelper/propertysethelper.hxx b/include/comphelper/propertysethelper.hxx
index a7ce8870bdab8ae3c4f295451e261118d0125547..763a0b91b0a720defc25fccfe5119cdb3180eb7f 100644
--- a/include/comphelper/propertysethelper.hxx
+++ b/include/comphelper/propertysethelper.hxx
@@ -24,9 +24,10 @@
 #include <com/sun/star/beans/XPropertyState.hpp>
 #include <com/sun/star/beans/XMultiPropertySet.hpp>
 #include <comphelper/comphelperdllapi.h>
-#include <rtl/ref.hxx>
 #include <memory>
 
+namespace rtl { template <class reference_type> class Reference; }
+
 namespace comphelper
 {
 class PropertySetInfo;
diff --git a/include/comphelper/propertystatecontainer.hxx b/include/comphelper/propertystatecontainer.hxx
index f2f04410d732471137ead05f0d83147906c3ce41..966e2cb9939b632167bdef1cb7f5ff0b9f64a034 100644
--- a/include/comphelper/propertystatecontainer.hxx
+++ b/include/comphelper/propertystatecontainer.hxx
@@ -24,11 +24,8 @@
 #include <com/sun/star/beans/XPropertyState.hpp>
 #include <cppuhelper/implbase1.hxx>
 #include <comphelper/uno3.hxx>
-#include <osl/diagnose.h>
 #include <comphelper/comphelperdllapi.h>
 
-#include <map>
-
 
 namespace comphelper
 {
diff --git a/include/comphelper/propstate.hxx b/include/comphelper/propstate.hxx
index 697bb3560b8dae38081d7ce2c27920929d173d38..3e3cea79e08226bad357972a747305a16b7e671b 100644
--- a/include/comphelper/propstate.hxx
+++ b/include/comphelper/propstate.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_COMPHELPER_PROPSTATE_HXX
 
 #include <com/sun/star/beans/XPropertyState.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Sequence.h>
 
 
 #include <cppuhelper/propshlp.hxx>
diff --git a/include/comphelper/proxyaggregation.hxx b/include/comphelper/proxyaggregation.hxx
index 585d81010931137856b133114652d397fd625879..f32fa5ecc3d8df3bb0f11ac8184e96bc99c1c512 100644
--- a/include/comphelper/proxyaggregation.hxx
+++ b/include/comphelper/proxyaggregation.hxx
@@ -20,11 +20,8 @@
 #ifndef INCLUDED_COMPHELPER_PROXYAGGREGATION_HXX
 #define INCLUDED_COMPHELPER_PROXYAGGREGATION_HXX
 
-#include <com/sun/star/uno/XAggregation.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
 #include <cppuhelper/implbase1.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <cppuhelper/interfacecontainer.h>
 #include <cppuhelper/basemutex.hxx>
 #include <comphelper/uno3.hxx>
 #include <cppuhelper/compbase_ex.hxx>
@@ -33,6 +30,8 @@
 namespace com { namespace sun { namespace star { namespace uno {
     class XComponentContext;
 } } } }
+namespace com { namespace sun { namespace star { namespace uno { class XAggregation; } } } }
+namespace com { namespace sun { namespace star { namespace lang { class XComponent; } } } }
 
 /* class hierarchy herein:
 
diff --git a/include/comphelper/sequence.hxx b/include/comphelper/sequence.hxx
index 903b0b5ae25b515f2356d29939b8d076028d78f2..d80534f4a8c76561403d209780b73eb70680e1ac 100644
--- a/include/comphelper/sequence.hxx
+++ b/include/comphelper/sequence.hxx
@@ -20,7 +20,6 @@
 #ifndef INCLUDED_COMPHELPER_SEQUENCE_HXX
 #define INCLUDED_COMPHELPER_SEQUENCE_HXX
 
-#include <algorithm>
 #include <com/sun/star/uno/Sequence.hxx>
 #include <osl/diagnose.h>
 #include <comphelper/comphelperdllapi.h>
diff --git a/include/comphelper/sequenceashashmap.hxx b/include/comphelper/sequenceashashmap.hxx
index 35cdabc9aa767a0eaa21a7221843956d3ef52b16..ba956f8401e6cb1fbaed50f3d326613cba044872 100644
--- a/include/comphelper/sequenceashashmap.hxx
+++ b/include/comphelper/sequenceashashmap.hxx
@@ -20,14 +20,13 @@
 #ifndef INCLUDED_COMPHELPER_SEQUENCEASHASHMAP_HXX
 #define INCLUDED_COMPHELPER_SEQUENCEASHASHMAP_HXX
 
-#include <algorithm>
 #include <unordered_map>
 #include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/beans/NamedValue.hpp>
 
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace beans { struct NamedValue; } } } }
+namespace com { namespace sun { namespace star { namespace beans { struct PropertyValue; } } } }
 
 namespace comphelper{
 
diff --git a/include/comphelper/servicedecl.hxx b/include/comphelper/servicedecl.hxx
index 40cb81c0dbeb8edc697844e7344c64c886b55777..8594d36f16582081d720171abca91f9e7a820164 100644
--- a/include/comphelper/servicedecl.hxx
+++ b/include/comphelper/servicedecl.hxx
@@ -23,7 +23,6 @@
 #include <cppuhelper/implbase.hxx>
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
-#include <uno/environment.h>
 
 #include <functional>
 #include <initializer_list>
diff --git a/include/comphelper/serviceinfohelper.hxx b/include/comphelper/serviceinfohelper.hxx
index 0e0e619e6440c7037bdb7881ab61f7f95089c608..8b3bb70750f5ae19abb5f74e98953388bd36b383 100644
--- a/include/comphelper/serviceinfohelper.hxx
+++ b/include/comphelper/serviceinfohelper.hxx
@@ -23,10 +23,12 @@
 #include <sal/config.h>
 
 #include <initializer_list>
+#include <rtl/ustring.hxx>
 
-#include <com/sun/star/lang/XServiceInfo.hpp>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace uno { template <class E> class Sequence; } } } }
+
 namespace comphelper {
 
 /** This class provides a basic helper for classes supporting the XServiceInfo Interface.
diff --git a/include/comphelper/sharedmutex.hxx b/include/comphelper/sharedmutex.hxx
index 82ed7f9bef776d8f4fa4225a87098f1c95849b6c..a92c7ccb33e6d3835c49e85945e41f3ba601e444 100644
--- a/include/comphelper/sharedmutex.hxx
+++ b/include/comphelper/sharedmutex.hxx
@@ -21,9 +21,10 @@
 #define INCLUDED_COMPHELPER_SHAREDMUTEX_HXX
 
 #include <comphelper/comphelperdllapi.h>
-#include <osl/mutex.hxx>
 #include <memory>
 
+namespace osl { class Mutex; }
+
 namespace comphelper
 {
 
diff --git a/include/comphelper/simplefileaccessinteraction.hxx b/include/comphelper/simplefileaccessinteraction.hxx
index 69cec86d171243d93747ae01dd33644d86bd4179..78705d8724b3b2320f7820002543dad65679f262 100644
--- a/include/comphelper/simplefileaccessinteraction.hxx
+++ b/include/comphelper/simplefileaccessinteraction.hxx
@@ -12,9 +12,11 @@
 
 #include <sal/config.h>
 #include <ucbhelper/interceptedinteraction.hxx>
-#include <com/sun/star/task/XInteractionHandler.hpp>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace task { class XInteractionHandler; } } } }
+namespace com { namespace sun { namespace star { namespace task { class XInteractionRequest; } } } }
+
 namespace comphelper {
 /** An interaction handler wrapper for simple file access.
 
diff --git a/include/comphelper/solarmutex.hxx b/include/comphelper/solarmutex.hxx
index fdecd0d09b9cb3c443a92f994a4d62d9e9bced1a..0c147f405560e384227e49ed460d1e8ece55578a 100644
--- a/include/comphelper/solarmutex.hxx
+++ b/include/comphelper/solarmutex.hxx
@@ -22,7 +22,8 @@
 
 #include <sal/config.h>
 
-#include <osl/thread.hxx>
+#include <assert.h>
+#include <osl/thread.h>
 #include <osl/mutex.hxx>
 #include <comphelper/comphelperdllapi.h>
 
diff --git a/include/comphelper/stl_types.hxx b/include/comphelper/stl_types.hxx
index bf8cc2b704948fb586055030a2627a716f091dbd..c166b5a7040e8f00b58765d73dde5636ff1b67ab 100644
--- a/include/comphelper/stl_types.hxx
+++ b/include/comphelper/stl_types.hxx
@@ -21,13 +21,12 @@
 
 #include <sal/config.h>
 
-#include <math.h>
 #include <memory>
 
 #include <rtl/ustring.hxx>
 #include <rtl/ustrbuf.hxx>
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/beans/PropertyValue.hpp>
+
+namespace com { namespace sun { namespace star { namespace uno { template <typename > class Reference; } } } }
 
 namespace comphelper
 {
diff --git a/include/comphelper/storagehelper.hxx b/include/comphelper/storagehelper.hxx
index ef82b83effae2cdcf17e7eccb80415a24a4e5606..2ebec23e1eb75a713ee14a76ef6d372e40f5cc11 100644
--- a/include/comphelper/storagehelper.hxx
+++ b/include/comphelper/storagehelper.hxx
@@ -19,7 +19,7 @@
 #ifndef INCLUDED_COMPHELPER_STORAGEHELPER_HXX
 #define INCLUDED_COMPHELPER_STORAGEHELPER_HXX
 
-#include <com/sun/star/uno/Sequence.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>
diff --git a/include/comphelper/streamsection.hxx b/include/comphelper/streamsection.hxx
index 6c52892fde6ba4c6cded7be2666356cedabf262d..d24783c937047a2b693148de5f24b2ef879e5356 100644
--- a/include/comphelper/streamsection.hxx
+++ b/include/comphelper/streamsection.hxx
@@ -20,11 +20,13 @@
 #ifndef INCLUDED_COMPHELPER_STREAMSECTION_HXX
 #define INCLUDED_COMPHELPER_STREAMSECTION_HXX
 
-#include <com/sun/star/io/XMarkableStream.hpp>
-#include <com/sun/star/io/XDataInputStream.hpp>
-#include <com/sun/star/io/XDataOutputStream.hpp>
+#include <com/sun/star/uno/Reference.h>
 #include <comphelper/comphelperdllapi.h>
 
+namespace com { namespace sun { namespace star { namespace io { class XDataInputStream; } } } }
+namespace com { namespace sun { namespace star { namespace io { class XDataOutputStream; } } } }
+namespace com { namespace sun { namespace star { namespace io { class XMarkableStream; } } } }
+
 namespace comphelper
 {
 
diff --git a/include/comphelper/string.hxx b/include/comphelper/string.hxx
index c3d4ec178e92f8c0f48c5a1989bece75eed858a4..9f5738e5ba48bac5f1e5ef6429b249393f1321b3 100644
--- a/include/comphelper/string.hxx
+++ b/include/comphelper/string.hxx
@@ -22,17 +22,19 @@
 
 #include <sal/config.h>
 
-#include <cstddef>
 #include <vector>
 #include <comphelper/comphelperdllapi.h>
 #include <sal/types.h>
 #include <rtl/strbuf.hxx>
 #include <rtl/ustrbuf.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/uno/Reference.hxx>
 
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/i18n/XCollator.hpp>
-#include <com/sun/star/i18n/XBreakIterator.hpp>
+#include <com/sun/star/lang/Locale.hpp>
+
+namespace com { namespace sun { namespace star { namespace i18n { class XBreakIterator; } } } }
+namespace com { namespace sun { namespace star { namespace i18n { class XCollator; } } } }
+namespace com { namespace sun { namespace star { namespace uno { class XComponentContext; } } } }
 
 // 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 a547703376e79858472f41efa2247d0fe980e3fc..3c2b89b9fbfddeaf5d99bcc85c46b5c110bf445d 100644
--- a/include/comphelper/synchronousdispatch.hxx
+++ b/include/comphelper/synchronousdispatch.hxx
@@ -22,10 +22,8 @@
 
 #include <comphelper/comphelperdllapi.h>
 
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-
-#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/uno/Reference.h>
+#include <rtl/ustring.hxx>
 
 namespace com { namespace sun { namespace star {
     namespace uno {
@@ -34,6 +32,9 @@ namespace com { namespace sun { namespace star {
         class XComponent; }
 } } }
 
+namespace com { namespace sun { namespace star { namespace beans { struct PropertyValue; } } } }
+namespace com { namespace sun { namespace star { namespace uno { template <class E> class Sequence; } } } }
+
 
 namespace comphelper
 {
diff --git a/include/comphelper/syntaxhighlight.hxx b/include/comphelper/syntaxhighlight.hxx
index 22f1338ea12f9d54ccaddb50d08d8cbc166f350b..26cfd9baad62128f29f2d5f8e2bb5d1f2f988605 100644
--- a/include/comphelper/syntaxhighlight.hxx
+++ b/include/comphelper/syntaxhighlight.hxx
@@ -23,10 +23,6 @@
 
 #include <comphelper/comphelperdllapi.h>
 
-#ifdef UNX
-#include <sys/resource.h>
-#endif
-
 #include <vector>
 #include <memory>
 
diff --git a/include/comphelper/threadpool.hxx b/include/comphelper/threadpool.hxx
index fd5905edc8212f95d20b1235eee0ea47221f7d8c..092078199981eceff264987280c487350c54d8a6 100644
--- a/include/comphelper/threadpool.hxx
+++ b/include/comphelper/threadpool.hxx
@@ -14,7 +14,6 @@
 #include <rtl/ref.hxx>
 #include <comphelper/comphelperdllapi.h>
 #include <mutex>
-#include <thread>
 #include <condition_variable>
 #include <vector>
 #include <memory>
@@ -22,7 +21,6 @@
 namespace comphelper
 {
 class ThreadTaskTag;
-class ThreadPool;
 
 class COMPHELPER_DLLPUBLIC ThreadTask
 {
diff --git a/include/comphelper/types.hxx b/include/comphelper/types.hxx
index a5b56219c295190f001de661f1a2c028d1b216e0..1e5b2f9f0a907dbf06a2d13252c237044f0ca438 100644
--- a/include/comphelper/types.hxx
+++ b/include/comphelper/types.hxx
@@ -20,19 +20,18 @@
 #ifndef INCLUDED_COMPHELPER_TYPES_HXX
 #define INCLUDED_COMPHELPER_TYPES_HXX
 
-#include <com/sun/star/uno/Any.hxx>
 #include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/lang/IllegalArgumentException.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 #include <comphelper/comphelperdllapi.h>
-#include <cppu/unotype.hxx>
 
 namespace com { namespace sun { namespace star { namespace awt {
     struct FontDescriptor;
 } } } }
 
+namespace com { namespace sun { namespace star { namespace uno { class Any; } } } }
+namespace com { namespace sun { namespace star { namespace uno { class XInterface; } } } }
+
 
 namespace comphelper
 {
diff --git a/include/comphelper/unique_disposing_ptr.hxx b/include/comphelper/unique_disposing_ptr.hxx
index 51a9710f606d4b022fde5af6090a520b6cd8448d..e72b039e66068a1fc133162b73570a0da4c2a937 100644
--- a/include/comphelper/unique_disposing_ptr.hxx
+++ b/include/comphelper/unique_disposing_ptr.hxx
@@ -17,9 +17,10 @@
 #include <com/sun/star/frame/XDesktop.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 
-#include <o3tl/deleter.hxx>
 #include <vcl/svapp.hxx>
 
+namespace o3tl { template <typename T> struct default_delete; }
+
 namespace comphelper
 {
 //Similar to std::unique_ptr, except additionally releases the ptr on XComponent::disposing and/or XTerminateListener::notifyTermination if supported
diff --git a/include/comphelper/uno3.hxx b/include/comphelper/uno3.hxx
index b21fe75765bf25c0418ae718165c2b664e73de78..1312d0c6e24038c5883db5ed9832d1bc63abfca0 100644
--- a/include/comphelper/uno3.hxx
+++ b/include/comphelper/uno3.hxx
@@ -20,11 +20,8 @@
 #ifndef INCLUDED_COMPHELPER_UNO3_HXX
 #define INCLUDED_COMPHELPER_UNO3_HXX
 
-#include <rtl/instance.hxx>
-#include <comphelper/types.hxx>
 #include <com/sun/star/uno/XAggregation.hpp>
 #include <comphelper/sequence.hxx>
-#include <cppuhelper/typeprovider.hxx>
 
 
 namespace comphelper
diff --git a/include/comphelper/weakbag.hxx b/include/comphelper/weakbag.hxx
index 981a6c834e36b1a3ae239850c33d6c0c355ab79e..c52defab23eb9486016dbbc8b1b9f567ebcbfa9a 100644
--- a/include/comphelper/weakbag.hxx
+++ b/include/comphelper/weakbag.hxx
@@ -23,7 +23,7 @@
 #include <sal/config.h>
 
 #include <vector>
-#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Reference.h>
 #include <cppuhelper/weakref.hxx>
 #include <osl/diagnose.h>
 
diff --git a/include/comphelper/weakeventlistener.hxx b/include/comphelper/weakeventlistener.hxx
index 273153cfaeb9abb7f0a670bd63ebc5094a0d3d7c..b77ab2a3023137a5e2c863a191fdd9f2eef2784e 100644
--- a/include/comphelper/weakeventlistener.hxx
+++ b/include/comphelper/weakeventlistener.hxx
@@ -22,12 +22,14 @@
 
 #include <cppuhelper/compbase.hxx>
 #include <cppuhelper/basemutex.hxx>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/uno/XWeak.hpp>
 #include <cppuhelper/weakref.hxx>
 #include <comphelper/comphelperdllapi.h>
 
 
+namespace com { namespace sun { namespace star { namespace lang { class XComponent; } } } }
+namespace com { namespace sun { namespace star { namespace lang { class XEventListener; } } } }
+namespace com { namespace sun { namespace star { namespace uno { class XWeak; } } } }
+
 namespace comphelper
 {
 
diff --git a/include/comphelper/xmltools.hxx b/include/comphelper/xmltools.hxx
index 85915ec47f9a84e4de905618315e6ca5181f6ed6..e40ea4e24a26a74c1998ab9f4d25ee8102b721a3 100644
--- a/include/comphelper/xmltools.hxx
+++ b/include/comphelper/xmltools.hxx
@@ -10,9 +10,7 @@
 #ifndef INCLUDED_COMPHELPER_XMLTOOLS_HXX
 #define INCLUDED_COMPHELPER_XMLTOOLS_HXX
 
-#include <rtl/strbuf.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
+#include <rtl/string.hxx>
 #include <comphelper/comphelperdllapi.h>
 
 namespace comphelper
diff --git a/linguistic/source/hyphdsp.cxx b/linguistic/source/hyphdsp.cxx
index e7d35007cfaf60c1fd59c4ddd9e8d19a60fde858..22643b3b9c0492b39811040fbc7140d12aa59e67 100644
--- a/linguistic/source/hyphdsp.cxx
+++ b/linguistic/source/hyphdsp.cxx
@@ -23,6 +23,7 @@
 #include <algorithm>
 
 #include <cppuhelper/factory.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/registry/XRegistryKey.hpp>
 #include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp>
 #include <com/sun/star/linguistic2/XHyphenatedWord.hpp>
diff --git a/linguistic/source/spelldsp.cxx b/linguistic/source/spelldsp.cxx
index 0251635c3d9f7082eee9df24bec6bc3d09b6ec76..e557207ffdcc90837ee6e6ae40cf6d45fbf7a423 100644
--- a/linguistic/source/spelldsp.cxx
+++ b/linguistic/source/spelldsp.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp>
 #include <com/sun/star/linguistic2/SpellFailure.hpp>
 #include <com/sun/star/registry/XRegistryKey.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/factory.hxx>
 #include <unotools/localedatawrapper.hxx>
diff --git a/linguistic/source/thesdsp.cxx b/linguistic/source/thesdsp.cxx
index 0e35a0ba5b802d7edf74ba6e06a216a052c3cf6b..cdb5a77af8e4349aace01d3e5166917953d117cb 100644
--- a/linguistic/source/thesdsp.cxx
+++ b/linguistic/source/thesdsp.cxx
@@ -25,6 +25,7 @@
 #include <com/sun/star/registry/XRegistryKey.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <comphelper/processfactory.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <osl/mutex.hxx>
 #include <sal/log.hxx>
 
diff --git a/oox/source/core/filterdetect.cxx b/oox/source/core/filterdetect.cxx
index a2e34ecd7168e31ed6b4e35c80f38802d3867d75..b68f05160a621d8f2979aa38f5e38bbd4dc13860 100644
--- a/oox/source/core/filterdetect.cxx
+++ b/oox/source/core/filterdetect.cxx
@@ -35,6 +35,7 @@
 #include <oox/crypto/DocumentDecryption.hxx>
 
 #include <com/sun/star/uri/UriReferenceFactory.hpp>
+#include <com/sun/star/beans/NamedValue.hpp>
 
 using namespace ::com::sun::star;
 
diff --git a/oox/source/crypto/DocumentDecryption.cxx b/oox/source/crypto/DocumentDecryption.cxx
index a8462b657329fc73ebfbc97e91a47a639f421482..88f2a7287d7159e7a4f6850dfa21e27f4e6b21e0 100644
--- a/oox/source/crypto/DocumentDecryption.cxx
+++ b/oox/source/crypto/DocumentDecryption.cxx
@@ -13,6 +13,7 @@
 #include <comphelper/sequenceashashmap.hxx>
 #include <cppuhelper/implbase.hxx>
 
+#include <com/sun/star/beans/NamedValue.hpp>
 #include <com/sun/star/io/XStream.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <oox/crypto/AgileEngine.hxx>
diff --git a/oox/source/drawingml/chart/converterbase.cxx b/oox/source/drawingml/chart/converterbase.cxx
index 3d0b8c413bab64d851256f70bd42f641dfee0317..c5268af73a9119dd05aa35ca0d667cf842acbcaa 100644
--- a/oox/source/drawingml/chart/converterbase.cxx
+++ b/oox/source/drawingml/chart/converterbase.cxx
@@ -30,6 +30,7 @@
 #include <com/sun/star/drawing/FillStyle.hpp>
 #include <com/sun/star/drawing/LineStyle.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <osl/diagnose.h>
 #include <basegfx/numeric/ftools.hxx>
 #include <oox/core/xmlfilterbase.hxx>
diff --git a/oox/source/ole/olehelper.cxx b/oox/source/ole/olehelper.cxx
index 5dd58e5c7de6a327fd7f10a82f56350aa67e04f2..a8cc9a02ba776769fd504540391fecd4a061b924 100644
--- a/oox/source/ole/olehelper.cxx
+++ b/oox/source/ole/olehelper.cxx
@@ -40,6 +40,7 @@
 #include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/awt/Size.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <tools/globname.hxx>
 #include <unotools/streamwrap.hxx>
diff --git a/oox/source/ole/oleobjecthelper.cxx b/oox/source/ole/oleobjecthelper.cxx
index 47ba8bc918f0e909b3d180d5af9853e554f57b27..cb909592f9b2e024af91730afad1a283b33d0183 100644
--- a/oox/source/ole/oleobjecthelper.cxx
+++ b/oox/source/ole/oleobjecthelper.cxx
@@ -21,6 +21,7 @@
 
 #include <com/sun/star/awt/Rectangle.hpp>
 #include <com/sun/star/awt/Size.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/document/XEmbeddedObjectResolver.hpp>
diff --git a/reportdesign/source/core/api/ReportDefinition.cxx b/reportdesign/source/core/api/ReportDefinition.cxx
index 45dc3857c01c215e0f3dd3f23747ee895133b978..6b273ea26fc4b3d94a5fab438b7b5db1bf367b76 100644
--- a/reportdesign/source/core/api/ReportDefinition.cxx
+++ b/reportdesign/source/core/api/ReportDefinition.cxx
@@ -105,6 +105,7 @@
 #include <cppuhelper/implbase.hxx>
 #include <cppuhelper/interfacecontainer.h>
 #include <cppuhelper/supportsservice.hxx>
+#include <cppuhelper/typeprovider.hxx>
 #include <dbaccess/dbaundomanager.hxx>
 #include <editeng/paperinf.hxx>
 #include <framework/titlehelper.hxx>
diff --git a/reportdesign/source/core/api/Section.cxx b/reportdesign/source/core/api/Section.cxx
index 4340b77405b28e92fd7bf05e26a74dcb0f60b2e6..69be4b7fc3c82ffb6665ebb3ed0356e21502327b 100644
--- a/reportdesign/source/core/api/Section.cxx
+++ b/reportdesign/source/core/api/Section.cxx
@@ -20,6 +20,7 @@
 #include <comphelper/enumhelper.hxx>
 #include <connectivity/dbtools.hxx>
 #include <cppuhelper/supportsservice.hxx>
+#include <cppuhelper/typeprovider.hxx>
 #include <com/sun/star/report/XReportComponent.hpp>
 #include <com/sun/star/report/ForceNewPage.hpp>
 #include <com/sun/star/beans/PropertyAttribute.hpp>
diff --git a/reportdesign/source/ui/dlg/AddField.cxx b/reportdesign/source/ui/dlg/AddField.cxx
index cb244049b9feddef20afbfdb906e0b2edde80e93..41c9699968397d818e5b2b8e407724fb1b40c519 100644
--- a/reportdesign/source/ui/dlg/AddField.cxx
+++ b/reportdesign/source/ui/dlg/AddField.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/sdb/XDocumentDataSource.hpp>
 #include <com/sun/star/i18n/XCollator.hpp>
+#include <com/sun/star/beans/XPropertyChangeListener.hpp>
 
 #include <vcl/waitobj.hxx>
 #include <vcl/svapp.hxx>
diff --git a/reportdesign/source/ui/misc/statusbarcontroller.cxx b/reportdesign/source/ui/misc/statusbarcontroller.cxx
index af9b9333a527f83d9388af7a0a37fe3b7b412ccc..08461d90b51d8e64369f1daf215122b944d284dc 100644
--- a/reportdesign/source/ui/misc/statusbarcontroller.cxx
+++ b/reportdesign/source/ui/misc/statusbarcontroller.cxx
@@ -20,6 +20,7 @@
 #include <statusbarcontroller.hxx>
 
 #include <cppuhelper/supportsservice.hxx>
+#include <comphelper/types.hxx>
 #include <svx/zoomsliderctrl.hxx>
 #include <svx/zoomctrl.hxx>
 #include <svx/svxids.hrc>
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index 7bc4c6a4f4d13da5d9d3069755a900e38c327fea..085160518c63d2e42727b8f5cd213adf1360b3ee 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -35,6 +35,7 @@
 #include <comphelper/property.hxx>
 #include <comphelper/propertysequence.hxx>
 #include <comphelper/sequenceashashmap.hxx>
+#include <comphelper/types.hxx>
 
 #include <connectivity/dbtools.hxx>
 #include <com/sun/star/view/PaperFormat.hpp>
diff --git a/sc/source/ui/unoobj/cellvaluebinding.cxx b/sc/source/ui/unoobj/cellvaluebinding.cxx
index b7e8a01f42b1d7867a4c649cfbbd7e405124446c..c65f26e83ed29248a16c1dde0abbec7f1d3f733c 100644
--- a/sc/source/ui/unoobj/cellvaluebinding.cxx
+++ b/sc/source/ui/unoobj/cellvaluebinding.cxx
@@ -32,6 +32,7 @@
 #include <com/sun/star/util/XNumberFormatTypes.hpp>
 #include <com/sun/star/util/NumberFormat.hpp>
 #include <cppuhelper/supportsservice.hxx>
+#include <comphelper/types.hxx>
 
 namespace calc
 {
diff --git a/sd/qa/unit/uimpress.cxx b/sd/qa/unit/uimpress.cxx
index 9567df577c459081f7546698127dd9f9e2fee1d9..d0dbd223887b790bfe05fab9f00007f27701dd53 100644
--- a/sd/qa/unit/uimpress.cxx
+++ b/sd/qa/unit/uimpress.cxx
@@ -25,6 +25,7 @@
 
 #include <com/sun/star/uno/Reference.hxx>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/XMultiComponentFactory.hpp>
 
 using namespace ::com::sun::star;
 
diff --git a/svtools/langsupport/langsupport.cxx b/svtools/langsupport/langsupport.cxx
index 263e04845310187698318f757a6d1189bb9c4696..1aae3df70277857bf0ed73ceae9abd98430d83a7 100644
--- a/svtools/langsupport/langsupport.cxx
+++ b/svtools/langsupport/langsupport.cxx
@@ -9,6 +9,7 @@
 
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <comphelper/processfactory.hxx>
 #include <cppuhelper/bootstrap.hxx>
 #include <i18nlangtag/languagetag.hxx>
diff --git a/svx/source/accessibility/ChildrenManagerImpl.cxx b/svx/source/accessibility/ChildrenManagerImpl.cxx
index a62587ddfc4720967888120f743c43b24bad8db1..74a956befb7ef0a7a620f33b449b84827436c67c 100644
--- a/svx/source/accessibility/ChildrenManagerImpl.cxx
+++ b/svx/source/accessibility/ChildrenManagerImpl.cxx
@@ -32,6 +32,7 @@
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/view/XSelectionSupplier.hpp>
 #include <com/sun/star/container/XChild.hpp>
+#include <comphelper/types.hxx>
 
 #include <rtl/ustring.hxx>
 #include <tools/debug.hxx>
diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx
index 7aa1a207bedeef1aeabe87f4ff34624f7284bf57..2a344282a2cbc917bb8e2e8d86429effa370628a 100644
--- a/svx/source/fmcomp/fmgridcl.cxx
+++ b/svx/source/fmcomp/fmgridcl.cxx
@@ -56,6 +56,7 @@
 #include <comphelper/processfactory.hxx>
 #include <comphelper/property.hxx>
 #include <comphelper/string.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/dbtools.hxx>
 #include <sfx2/dispatch.hxx>
 #include <sfx2/viewfrm.hxx>
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 9b2a774ae91863c4759da4752785b15fbe014adb..ee8df28c5ec2522d9bce74ae263a7dc507d4b6c8 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -51,6 +51,7 @@
 #include <comphelper/property.hxx>
 #include <comphelper/servicehelper.hxx>
 #include <comphelper/string.hxx>
+#include <comphelper/types.hxx>
 #include <connectivity/formattedcolumnvalue.hxx>
 #include <cppuhelper/typeprovider.hxx>
 #include <i18nlangtag/lang.h>
diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx
index 06dfb8496c3c7f2306d1b425a0ab3ffda8dfae08..eedf197d0c8fba792f66bfc59c031e5d83efdd37 100644
--- a/svx/source/fmcomp/gridctrl.cxx
+++ b/svx/source/fmcomp/gridctrl.cxx
@@ -55,6 +55,7 @@
 #include <sdbdatacolumn.hxx>
 
 #include <comphelper/property.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/implbase.hxx>
 
 #include <algorithm>
diff --git a/svx/source/form/fmdmod.cxx b/svx/source/form/fmdmod.cxx
index 509d4c4ed5dc276a78ca4697e09037cab26ac74d..849d21b2587137e0814c17a84a2328363efc3506 100644
--- a/svx/source/form/fmdmod.cxx
+++ b/svx/source/form/fmdmod.cxx
@@ -23,6 +23,7 @@
 #include <fmobj.hxx>
 #include <svx/unoshape.hxx>
 #include <comphelper/processfactory.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <svx/fmglob.hxx>
 
 using namespace ::svxform;
diff --git a/svx/source/form/formcontroller.cxx b/svx/source/form/formcontroller.cxx
index ea762b98d52a0c55b68a2b129da2a7a886576a35..a5e6fae5fe7587c2de36dab6a3a07a14735f5815 100644
--- a/svx/source/form/formcontroller.cxx
+++ b/svx/source/form/formcontroller.cxx
@@ -71,6 +71,7 @@
 #include <comphelper/property.hxx>
 #include <comphelper/sequence.hxx>
 #include <comphelper/flagguard.hxx>
+#include <comphelper/types.hxx>
 #include <cppuhelper/queryinterface.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <cppuhelper/typeprovider.hxx>
diff --git a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
index 57b0bfaff55ed96beea6fbd29b8d3d8eaf959542..c785a6cdad13c203a05dfc439e9f0ab0d53b4901 100644
--- a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
@@ -41,6 +41,7 @@
 #include <com/sun/star/awt/InvalidateStyle.hpp>
 #include <com/sun/star/util/XModeChangeListener.hpp>
 #include <com/sun/star/util/XModeChangeBroadcaster.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/container/XContainerListener.hpp>
 #include <com/sun/star/container/XContainer.hpp>
 
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index b87dc21c6a2ed4ce6c4ee02c8657a991ff87a0ed..f1ac0921dac3d772787c91dc4eebabc542766eca 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -30,6 +30,7 @@
 #include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <comphelper/processfactory.hxx>
 #include <svl/urihelper.hxx>
 #include <com/sun/star/uno/Sequence.h>
diff --git a/svx/source/svdraw/svdouno.cxx b/svx/source/svdraw/svdouno.cxx
index 68b13f3d2e4f3be2f514af42ee8580c1fbef1397..38ea6471ebe4e2896bd41dcda6688882c00baca4 100644
--- a/svx/source/svdraw/svdouno.cxx
+++ b/svx/source/svdraw/svdouno.cxx
@@ -31,6 +31,7 @@
 #include <com/sun/star/io/XObjectOutputStream.hpp>
 #include <com/sun/star/io/XObjectInputStream.hpp>
 #include <com/sun/star/util/XCloneable.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <comphelper/processfactory.hxx>
 #include <vcl/pdfextoutdevdata.hxx>
 #include <svx/svdouno.hxx>
diff --git a/sw/source/core/docnode/retrieveinputstream.cxx b/sw/source/core/docnode/retrieveinputstream.cxx
index 030dcfbbbf16d705a8873e197e38756a4cea72a3..c53ab66715e63bf9e81c6aa53b2a8ed793f13123 100644
--- a/sw/source/core/docnode/retrieveinputstream.cxx
+++ b/sw/source/core/docnode/retrieveinputstream.cxx
@@ -20,6 +20,7 @@
 #include <retrieveinputstream.hxx>
 #include <unotools/mediadescriptor.hxx>
 #include <com/sun/star/io/XStream.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
 
 /* class for a thread to retrieve an input stream given by an URL
 
diff --git a/sw/source/filter/html/htmlatr.cxx b/sw/source/filter/html/htmlatr.cxx
index 5abf7f41cc2041d5580cf79a4a255a8e75904891..3cc9826e278586ae91ad34a370d1e58cd2c74922 100644
--- a/sw/source/filter/html/htmlatr.cxx
+++ b/sw/source/filter/html/htmlatr.cxx
@@ -19,6 +19,7 @@
 
 #include <hintids.hxx>
 #include <com/sun/star/i18n/ScriptType.hpp>
+#include <com/sun/star/i18n/XBreakIterator.hpp>
 #include <comphelper/string.hxx>
 #include <utility>
 #include <vcl/svapp.hxx>
diff --git a/sw/source/filter/html/htmlfldw.cxx b/sw/source/filter/html/htmlfldw.cxx
index e9ee2209e15dacbee0f2b25b3e46a5588377c9e9..333b5731f249d8f33b9743f0da3d384434bc6045 100644
--- a/sw/source/filter/html/htmlfldw.cxx
+++ b/sw/source/filter/html/htmlfldw.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <com/sun/star/i18n/ScriptType.hpp>
+#include <com/sun/star/i18n/XBreakIterator.hpp>
 #include <comphelper/string.hxx>
 #include <svtools/htmlkywd.hxx>
 #include <svtools/htmlout.hxx>
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index 42bdd7be095b31fab4f351db56e92064db91dc4f..a4f6966ab268aaf0fc2420ec855013b28699e02e 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -26,6 +26,7 @@
 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
 #include <com/sun/star/document/XDocumentProperties.hpp>
 #include <com/sun/star/i18n/ScriptType.hpp>
+#include <com/sun/star/i18n/XBreakIterator.hpp>
 #include <comphelper/string.hxx>
 #include <o3tl/safeint.hxx>
 #include <rtl/ustrbuf.hxx>
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 6e2987cc67fe8883976e09f887096ed39da6bfe9..65a1ca26e45ceb5f0430e4c83984de926775eaca 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -137,6 +137,7 @@
 #include <svtools/miscopt.hxx>
 
 #include <com/sun/star/i18n/ScriptType.hpp>
+#include <com/sun/star/i18n/XBreakIterator.hpp>
 #include <com/sun/star/chart2/XChartDocument.hpp>
 #include <com/sun/star/drawing/ShadingPattern.hpp>
 #include <com/sun/star/text/GraphicCrop.hpp>
diff --git a/sw/source/filter/ww8/ww8par5.cxx b/sw/source/filter/ww8/ww8par5.cxx
index c72bc4811ec33f332755743387509c6fa94685d9..5595a31f35ccc56ffd110bef745b0d7b999d7d2e 100644
--- a/sw/source/filter/ww8/ww8par5.cxx
+++ b/sw/source/filter/ww8/ww8par5.cxx
@@ -40,6 +40,7 @@
 #include <ucbhelper/commandenvironment.hxx>
 
 #include <com/sun/star/i18n/ScriptType.hpp>
+#include <com/sun/star/i18n/XBreakIterator.hpp>
 #include <hintids.hxx>
 #include <editeng/fontitem.hxx>
 #include <editeng/fhgtitem.hxx>
diff --git a/ucb/source/ucp/package/pkgprovider.cxx b/ucb/source/ucp/package/pkgprovider.cxx
index 4a550138dcbaab78ae6a735b449ec05a07cc2c15..f07c88f2410a73c33b4cb8879e57802e7579f709 100644
--- a/ucb/source/ucp/package/pkgprovider.cxx
+++ b/ucb/source/ucp/package/pkgprovider.cxx
@@ -34,6 +34,7 @@
 #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
 #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
 #include <com/sun/star/ucb/IllegalIdentifierException.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include "pkgprovider.hxx"
 #include "pkgcontent.hxx"
 #include "pkguri.hxx"
diff --git a/unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx b/unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx
index 0d4d79321a9980594a02c48ce318ac79cb5ce4e7..56d6da9f3e4ee81d52d408b2a07769fd52004f2f 100644
--- a/unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx
+++ b/unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx
@@ -29,6 +29,7 @@
 #include <com/sun/star/lang/Locale.hpp>
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 
 #include <cppuhelper/exc_hlp.hxx>
 #include <cppunit/Message.h>
diff --git a/vbahelper/source/vbahelper/vbashape.cxx b/vbahelper/source/vbahelper/vbashape.cxx
index 2991df012235a674577e88d4c31cc9944e2aff56..fe5aaaa99d2a09f31171b0f337a6e225816f6267 100644
--- a/vbahelper/source/vbahelper/vbashape.cxx
+++ b/vbahelper/source/vbahelper/vbashape.cxx
@@ -28,6 +28,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/text/TextContentAnchorType.hpp>
 #include <com/sun/star/text/RelOrientation.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <ooo/vba/office/MsoShapeType.hpp>
 #include <ooo/vba/office/MsoAutoShapeType.hpp>
 #include <ooo/vba/word/WdRelativeHorizontalPosition.hpp>
diff --git a/writerfilter/source/dmapper/TablePositionHandler.cxx b/writerfilter/source/dmapper/TablePositionHandler.cxx
index 4b9a0091c7a07251dae3dbacd54fed3e1cff19c9..151c7fd50071fa8ebc6c8779ff4fd2c04682b9e5 100644
--- a/writerfilter/source/dmapper/TablePositionHandler.cxx
+++ b/writerfilter/source/dmapper/TablePositionHandler.cxx
@@ -9,6 +9,7 @@
 #include "TablePositionHandler.hxx"
 #include "ConversionHelper.hxx"
 #include <ooxml/resourceids.hxx>
+#include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/text/HoriOrientation.hpp>
 #include <com/sun/star/text/VertOrientation.hpp>
 #include <com/sun/star/text/RelOrientation.hpp>
diff --git a/xmloff/source/transform/OOo2Oasis.cxx b/xmloff/source/transform/OOo2Oasis.cxx
index 1f354a34dd5f9aeb772cea2d36f85e4bd319607b..26482ab78e6e3dda108413afdeac422056138440 100644
--- a/xmloff/source/transform/OOo2Oasis.cxx
+++ b/xmloff/source/transform/OOo2Oasis.cxx
@@ -20,6 +20,7 @@
 #include <rtl/ustrbuf.hxx>
 #include <osl/diagnose.h>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <comphelper/base64.hxx>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/servicehelper.hxx>
diff --git a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
index e79e3db09e9aecc7f616f5c5bba7425e25446c39..5d33268f741d3347a04057d88b44d1d2bce662f3 100644
--- a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
+++ b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
@@ -21,6 +21,7 @@
 #include <com/sun/star/mozilla/XMozillaBootstrap.hpp>
 #include <com/sun/star/xml/crypto/DigestID.hpp>
 #include <com/sun/star/xml/crypto/CipherID.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <cppuhelper/supportsservice.hxx>
 #include <officecfg/Office/Common.hxx>
 #include <sal/types.h>