include/IwyuFilter_include.yaml               |   30 ++++++++++++++++++++++++++
 include/ucbhelper/cancelcommandexecution.hxx  |    3 +-
 include/ucbhelper/content.hxx                 |    5 ++--
 include/ucbhelper/resultset.hxx               |    2 -
 ucb/source/core/ucbcmds.cxx                   |    1 
 ucb/source/ucp/cmis/cmis_resultset.cxx        |    1 
 ucb/source/ucp/hierarchy/hierarchycontent.cxx |    1 
 ucb/source/ucp/package/pkgcontent.cxx         |    1 
 ucb/source/ucp/tdoc/tdoc_content.cxx          |    1 
 ucbhelper/source/provider/resultset.cxx       |    1 
 10 files changed, 42 insertions(+), 4 deletions(-)

New commits:
commit 8215006a9d60d055f5de558f013dc666db19f53e
Author:     Gabor Kelemen <[email protected]>
AuthorDate: Fri Jan 23 20:11:14 2026 +0100
Commit:     Gabor Kelemen <[email protected]>
CommitDate: Sat Jan 31 20:55:03 2026 +0100

    tdf#146619 Use more forward declarations in include/ucbhelper/
    
    Change-Id: I233162bb69e95c4b128e8189d1eb490a67c19ffa
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198236
    Tested-by: Jenkins
    Reviewed-by: Gabor Kelemen <[email protected]>

diff --git a/include/IwyuFilter_include.yaml b/include/IwyuFilter_include.yaml
index 520c1e945ad1..5448cc31cf35 100644
--- a/include/IwyuFilter_include.yaml
+++ b/include/IwyuFilter_include.yaml
@@ -123,6 +123,9 @@ excludelist:
     include/ucbhelper/commandenvironment.hxx:
     # base class has to be a complete type
     - com/sun/star/ucb/XCommandEnvironment.hpp
+    include/ucbhelper/contentidentifier.hxx:
+    # base class has to be a complete type
+    - com/sun/star/ucb/XContentIdentifier.hpp
     include/ucbhelper/interceptedinteraction.hxx:
     # base class has to be a complete type
     - com/sun/star/task/XInteractionHandler.hpp
@@ -134,6 +137,33 @@ excludelist:
     include/ucbhelper/propertyvalueset.hxx:
     # needed in --fwdecl mode
     - namespace ucbhelper_impl { struct PropertyValue; }
+    # base class has to be a complete type
+    - com/sun/star/sdbc/XColumnLocate.hpp
+    - com/sun/star/sdbc/XRow.hpp
+    include/ucbhelper/providerhelper.hxx:
+    # base class has to be a complete type
+    - com/sun/star/ucb/XContentProvider.hpp
+    - com/sun/star/lang/XServiceInfo.hpp
+    include/ucbhelper/resultset.hxx:
+    # base class has to be a complete type
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/lang/XComponent.hpp
+    - com/sun/star/ucb/XContentAccess.hpp
+    - com/sun/star/sdbc/XResultSet.hpp
+    - com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp
+    - com/sun/star/sdbc/XRow.hpp
+    - com/sun/star/sdbc/XCloseable.hpp
+    - com/sun/star/beans/XPropertySet.hpp
+    include/ucbhelper/resultsetmetadata.hxx:
+    # base class has to be a complete type
+    - com/sun/star/sdbc/XResultSetMetaData.hpp
+    include/ucbhelper/resultsethelper.hxx:
+    # base class has to be a complete type
+    - com/sun/star/lang/XServiceInfo.hpp
+    - com/sun/star/ucb/XDynamicResultSet.hpp
+    include/ucbhelper/interactionrequest.hxx:
+    # base class has to be a complete type
+    - com/sun/star/task/XInteractionRequest.hpp
     include/comphelper/accessiblekeybindinghelper.hxx:
     # base class has to be a complete type
     - com/sun/star/accessibility/XAccessibleKeyBinding.hpp
diff --git a/include/ucbhelper/cancelcommandexecution.hxx 
b/include/ucbhelper/cancelcommandexecution.hxx
index 85eba5d987d4..d733739ba8a7 100644
--- a/include/ucbhelper/cancelcommandexecution.hxx
+++ b/include/ucbhelper/cancelcommandexecution.hxx
@@ -21,9 +21,10 @@
 #define INCLUDED_UCBHELPER_CANCELCOMMANDEXECUTION_HXX
 
 #include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/ucb/IOErrorCode.hpp>
 #include <ucbhelper/ucbhelperdllapi.h>
 
+namespace com::sun::star::ucb { enum class IOErrorCode; }
+
 namespace com::sun::star {
     namespace uno { class Any; }
     namespace ucb { class XCommandEnvironment; }
diff --git a/include/ucbhelper/content.hxx b/include/ucbhelper/content.hxx
index 6f4a7b2d4316..a989106ef461 100644
--- a/include/ucbhelper/content.hxx
+++ b/include/ucbhelper/content.hxx
@@ -20,8 +20,7 @@
 #define INCLUDED_UCBHELPER_CONTENT_HXX
 
 #include <rtl/ref.hxx>
-#include <com/sun/star/uno/Reference.h>
-#include <com/sun/star/uno/Sequence.h>
+#include <rtl/ustring.hxx>
 #include <ucbhelper/ucbhelperdllapi.h>
 
 namespace com::sun::star::beans
@@ -62,6 +61,8 @@ class XComponentContext;
 namespace com::sun::star::uno
 {
 class Any;
+template <class E> class Sequence;
+template <class interface_type> class Reference;
 }
 
 namespace ucbhelper
diff --git a/include/ucbhelper/resultset.hxx b/include/ucbhelper/resultset.hxx
index 5a7a92963aee..37555263a2e1 100644
--- a/include/ucbhelper/resultset.hxx
+++ b/include/ucbhelper/resultset.hxx
@@ -29,7 +29,6 @@
 #include <com/sun/star/sdbc/XCloseable.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 
-#include <rtl/ref.hxx>
 #include <salhelper/simplereferenceobject.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <ucbhelper/ucbhelperdllapi.h>
@@ -38,6 +37,7 @@
 
 namespace com::sun::star::uno { class XComponentContext; }
 namespace com::sun::star::ucb { class XCommandEnvironment; }
+namespace rtl { template <class reference_type> class Reference; }
 
 namespace ucbhelper {
 
diff --git a/ucb/source/core/ucbcmds.cxx b/ucb/source/core/ucbcmds.cxx
index 7995e6746629..30733ca733a3 100644
--- a/ucb/source/core/ucbcmds.cxx
+++ b/ucb/source/core/ucbcmds.cxx
@@ -42,6 +42,7 @@
 #include <com/sun/star/ucb/IllegalIdentifierException.hpp>
 #include <com/sun/star/ucb/InsertCommandArgument2.hpp>
 #include <com/sun/star/ucb/InteractiveBadTransferURLException.hpp>
+#include <com/sun/star/ucb/IOErrorCode.hpp>
 #include <com/sun/star/ucb/NameClash.hpp>
 #include <com/sun/star/ucb/NameClashException.hpp>
 #include <com/sun/star/ucb/OpenCommandArgument2.hpp>
diff --git a/ucb/source/ucp/cmis/cmis_resultset.cxx 
b/ucb/source/ucp/cmis/cmis_resultset.cxx
index 602071c590ed..2e4d502446b4 100644
--- a/ucb/source/ucp/cmis/cmis_resultset.cxx
+++ b/ucb/source/ucp/cmis/cmis_resultset.cxx
@@ -9,6 +9,7 @@
 
 #include "cmis_datasupplier.hxx"
 #include "cmis_resultset.hxx"
+#include <rtl/ref.hxx>
 
 using namespace com::sun::star::ucb;
 using namespace com::sun::star::uno;
diff --git a/ucb/source/ucp/hierarchy/hierarchycontent.cxx 
b/ucb/source/ucp/hierarchy/hierarchycontent.cxx
index a526be72b8ae..40c084ac0175 100644
--- a/ucb/source/ucp/hierarchy/hierarchycontent.cxx
+++ b/ucb/source/ucp/hierarchy/hierarchycontent.cxx
@@ -47,6 +47,7 @@
 #include <com/sun/star/ucb/IllegalIdentifierException.hpp>
 #include <com/sun/star/ucb/InsertCommandArgument.hpp>
 #include <com/sun/star/ucb/InteractiveBadTransferURLException.hpp>
+#include <com/sun/star/ucb/IOErrorCode.hpp>
 #include <com/sun/star/ucb/MissingPropertiesException.hpp>
 #include <com/sun/star/ucb/NameClash.hpp>
 #include <com/sun/star/ucb/NameClashException.hpp>
diff --git a/ucb/source/ucp/package/pkgcontent.cxx 
b/ucb/source/ucp/package/pkgcontent.cxx
index 818dafeaaec4..0a6d9aca1c79 100644
--- a/ucb/source/ucp/package/pkgcontent.cxx
+++ b/ucb/source/ucp/package/pkgcontent.cxx
@@ -46,6 +46,7 @@
 #include <com/sun/star/ucb/IllegalIdentifierException.hpp>
 #include <com/sun/star/ucb/InsertCommandArgument.hpp>
 #include <com/sun/star/ucb/InteractiveBadTransferURLException.hpp>
+#include <com/sun/star/ucb/IOErrorCode.hpp>
 #include <com/sun/star/ucb/MissingInputStreamException.hpp>
 #include <com/sun/star/ucb/NameClash.hpp>
 #include <com/sun/star/ucb/NameClashException.hpp>
diff --git a/ucb/source/ucp/tdoc/tdoc_content.cxx 
b/ucb/source/ucp/tdoc/tdoc_content.cxx
index dcc2653beade..6accd6e9f65f 100644
--- a/ucb/source/ucp/tdoc/tdoc_content.cxx
+++ b/ucb/source/ucp/tdoc/tdoc_content.cxx
@@ -52,6 +52,7 @@
 #include <com/sun/star/ucb/IllegalIdentifierException.hpp>
 #include <com/sun/star/ucb/InsertCommandArgument.hpp>
 #include <com/sun/star/ucb/InteractiveBadTransferURLException.hpp>
+#include <com/sun/star/ucb/IOErrorCode.hpp>
 #include <com/sun/star/ucb/MissingInputStreamException.hpp>
 #include <com/sun/star/ucb/NameClash.hpp>
 #include <com/sun/star/ucb/NameClashException.hpp>
diff --git a/ucbhelper/source/provider/resultset.cxx 
b/ucbhelper/source/provider/resultset.cxx
index bce18cb01403..5b2552b4038b 100644
--- a/ucbhelper/source/provider/resultset.cxx
+++ b/ucbhelper/source/provider/resultset.cxx
@@ -24,6 +24,7 @@
 #include <cppuhelper/queryinterface.hxx>
 #include <com/sun/star/beans/PropertyAttribute.hpp>
 #include <com/sun/star/sdbc/SQLException.hpp>
+#include <rtl/ref.hxx>
 #include <ucbhelper/resultset.hxx>
 #include <ucbhelper/resultsetmetadata.hxx>
 #include <ucbhelper/macros.hxx>

Reply via email to