[Libreoffice-commits] .: 12 commits - basebmp/test basegfx/test basic/inc basic/source binaryurp/qa bridges/source comphelper/qa cppuhelper/inc cppuhelper/qa cppuhelper/source cppuhelper/test cppu/qa desktop/qa editeng/qa filter/source forms/qa framework/source hwpfilter/qa i18npool/qa lotuswordpro/qa o3tl/qa qadevOOo/tests sal/cppunittester sal/inc sal/prj sal/qa sal/workben sax/qa sc/qa sc/source sd/qa sfx2/qa slideshow/test smoketestoo_native/makefile.mk smoketestoo_native/smoketest.cxx smoketestoo_native/version.map solenv/inc starmath/qa stoc/inc stoc/source stoc/test svl/qa svtools/qa sw/qa sw/source test/source toolkit/qa tools/qa tools/test writerfilter/qa xmloff/inc xmloff/Package_inc.mk xmloff/source xmlsecurity/qa

Stephan Bergmann sbergmann at kemper.freedesktop.org
Mon Sep 12 13:47:59 PDT 2011


 basebmp/test/basebmp_cppunittester_all.cxx                            |    1 
 basebmp/test/basictest.cxx                                            |    4 
 basebmp/test/bmpmasktest.cxx                                          |    3 
 basebmp/test/bmptest.cxx                                              |    3 
 basebmp/test/cliptest.cxx                                             |    3 
 basebmp/test/export.map                                               |   34 
 basebmp/test/filltest.cxx                                             |    3 
 basebmp/test/linetest.cxx                                             |    3 
 basebmp/test/masktest.cxx                                             |    3 
 basebmp/test/polytest.cxx                                             |    3 
 basegfx/test/basegfx1d.cxx                                            |    4 
 basegfx/test/basegfx2d.cxx                                            |    2 
 basegfx/test/basegfx3d.cxx                                            |    2 
 basegfx/test/basegfx_cppunittester_all.cxx                            |    1 
 basegfx/test/basegfxtools.cxx                                         |    2 
 basegfx/test/boxclipper.cxx                                           |    2 
 basegfx/test/clipstate.cxx                                            |    2 
 basegfx/test/genericclipper.cxx                                       |    2 
 basic/inc/pch/precompiled_basic.hxx                                   |    1 
 basic/source/classes/sbunoobj.cxx                                     |   29 
 binaryurp/qa/binaryurp_cppunittester_all.cxx                          |    1 
 binaryurp/qa/test-cache.cxx                                           |    5 
 binaryurp/qa/test-unmarshal.cxx                                       |    5 
 bridges/source/cpp_uno/cc50_solaris_intel/except.cxx                  |    3 
 bridges/source/cpp_uno/cc50_solaris_sparc/except.cxx                  |    3 
 bridges/source/cpp_uno/cc50_solaris_sparc/makefile.mk                 |    4 
 bridges/source/cpp_uno/gcc3_aix_powerpc/makefile.mk                   |    4 
 bridges/source/cpp_uno/gcc3_ios_arm/makefile.mk                       |    4 
 bridges/source/cpp_uno/gcc3_linux_alpha/makefile.mk                   |    4 
 bridges/source/cpp_uno/gcc3_linux_arm/makefile.mk                     |    4 
 bridges/source/cpp_uno/gcc3_linux_hppa/makefile.mk                    |    4 
 bridges/source/cpp_uno/gcc3_linux_ia64/makefile.mk                    |    4 
 bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk                   |    4 
 bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk                    |    4 
 bridges/source/cpp_uno/gcc3_linux_mips/makefile.mk                    |    4 
 bridges/source/cpp_uno/gcc3_linux_powerpc/makefile.mk                 |    4 
 bridges/source/cpp_uno/gcc3_linux_powerpc64/makefile.mk               |    4 
 bridges/source/cpp_uno/gcc3_linux_s390/makefile.mk                    |    4 
 bridges/source/cpp_uno/gcc3_linux_s390x/makefile.mk                   |    4 
 bridges/source/cpp_uno/gcc3_linux_sparc/makefile.mk                   |    4 
 bridges/source/cpp_uno/gcc3_macosx_intel/makefile.mk                  |    4 
 bridges/source/cpp_uno/gcc3_macosx_powerpc/makefile.mk                |    4 
 bridges/source/cpp_uno/gcc3_solaris_intel/makefile.mk                 |    4 
 bridges/source/cpp_uno/gcc3_solaris_sparc/makefile.mk                 |    4 
 bridges/source/cpp_uno/mingw_intel/makefile.mk                        |    3 
 comphelper/qa/string/test_string.cxx                                  |    6 
 comphelper/qa/weakbag/test_weakbag.cxx                                |    1 
 comphelper/qa/weakbag/test_weakbag_noadditional.cxx                   |    3 
 cppu/qa/cppu_cppunittester_all.cxx                                    |    2 
 cppu/qa/cppumaker/test_cppumaker.cxx                                  |    2 
 cppu/qa/test_any.cxx                                                  |    4 
 cppu/qa/test_recursion.cxx                                            |    4 
 cppu/qa/test_reference.cxx                                            |    4 
 cppu/qa/test_unotype.cxx                                              |    4 
 cppuhelper/inc/cppuhelper/stdidlclass.hxx                             |  197 -
 cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx                        |    3 
 cppuhelper/qa/propertysetmixin/makefile.mk                            |    4 
 cppuhelper/qa/propertysetmixin/test.map                               |   34 
 cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx              |    4 
 cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx                 |    1 
 cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx          |    1 
 cppuhelper/qa/unourl/cppu_unourl.cxx                                  |    3 
 cppuhelper/qa/weak/test_weak.cxx                                      |    4 
 cppuhelper/source/makefile.mk                                         |    1 
 cppuhelper/source/stdidlclass.cxx                                     |  238 --
 cppuhelper/test/testidlclass.cxx                                      |   24 
 desktop/qa/deployment_misc/makefile.mk                                |    3 
 desktop/qa/deployment_misc/test_dp_version.cxx                        |    2 
 desktop/qa/deployment_misc/version.map                                |   34 
 editeng/qa/items/borderline_test.cxx                                  |    4 
 filter/source/svg/test/parsertest.cxx                                 |    2 
 forms/qa/unoapi/forms.sce                                             |    2 
 framework/source/loadenv/loadenv.cxx                                  |   13 
 hwpfilter/qa/cppunit/test_hwpfilter.cxx                               |    8 
 i18npool/qa/cppunit/i18npool_cppunittester_all.cxx                    |    2 
 i18npool/qa/cppunit/test_breakiterator.cxx                            |   11 
 lotuswordpro/qa/cppunit/test_lotuswordpro.cxx                         |    8 
 o3tl/qa/test-cow_wrapper.cxx                                          |    5 
 o3tl/qa/test-heap_ptr.cxx                                             |    3 
 o3tl/qa/test-range.cxx                                                |    3 
 o3tl/qa/test-vector_pool.cxx                                          |    3 
 qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java             |   15 
 sal/cppunittester/cppunittester.cxx                                   |    1 
 sal/inc/cppunittester/protectorfactory.hxx                            |    1 
 sal/inc/sal/cppunit.h                                                 |   45 
 sal/inc/sal/precppunit.hxx                                            |   39 
 sal/prj/d.lst                                                         |    1 
 sal/qa/ByteSequence/ByteSequence.cxx                                  |    1 
 sal/qa/ByteSequence/makefile.mk                                       |    3 
 sal/qa/OStringBuffer/makefile.mk                                      |    3 
 sal/qa/OStringBuffer/rtl_OStringBuffer.cxx                            |    2 
 sal/qa/export.map                                                     |   34 
 sal/qa/osl/condition/makefile.mk                                      |    3 
 sal/qa/osl/condition/osl_Condition_Const.h                            |    3 
 sal/qa/osl/file/makefile.mk                                           |    7 
 sal/qa/osl/file/osl_File.cxx                                          |    2 
 sal/qa/osl/file/osl_old_test_file.cxx                                 |    2 
 sal/qa/osl/file/test_cpy_wrt_file.cxx                                 |    2 
 sal/qa/osl/getsystempathfromfileurl/makefile.mk                       |    3 
 sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx |    1 
 sal/qa/osl/getsystempathfromfileurl/version.map                       |   34 
 sal/qa/osl/module/export_dll.map                                      |   35 
 sal/qa/osl/module/makefile.mk                                         |    7 
 sal/qa/osl/module/osl_Module_Const.h                                  |    2 
 sal/qa/osl/module/osl_Module_DLL.cxx                                  |    2 
 sal/qa/osl/mutex/osl_Mutex.cxx                                        |    7 
 sal/qa/osl/pipe/osl_Pipe.cxx                                          |    8 
 sal/qa/osl/process/makefile.mk                                        |    5 
 sal/qa/osl/process/osl_Thread.cxx                                     |    2 
 sal/qa/osl/process/osl_process.cxx                                    |    2 
 sal/qa/osl/profile/osl_old_testprofile.cxx                            |   10 
 sal/qa/osl/security/makefile.mk                                       |    3 
 sal/qa/osl/security/osl_Security.cxx                                  |    2 
 sal/qa/osl/security/osl_Security_Const.h                              |    3 
 sal/qa/osl/setthreadname/test-setthreadname.cxx                       |    6 
 sal/qa/osl/setthreadname/version.map                                  |   34 
 sal/qa/osl/socket/makefile.mk                                         |   17 
 sal/qa/osl/socket/osl_AcceptorSocket.cxx                              |    2 
 sal/qa/osl/socket/osl_ConnectorSocket.cxx                             |    2 
 sal/qa/osl/socket/osl_DatagramSocket.cxx                              |    2 
 sal/qa/osl/socket/osl_Socket.cxx                                      |    2 
 sal/qa/osl/socket/osl_Socket2.cxx                                     |    2 
 sal/qa/osl/socket/osl_SocketAddr.cxx                                  |    2 
 sal/qa/osl/socket/osl_Socket_tests.cxx                                |    2 
 sal/qa/osl/socket/osl_StreamSocket.cxx                                |    2 
 sal/qa/osl/socket/sockethelper.cxx                                    |    3 
 sal/qa/osl/thread/test_thread.cxx                                     |    2 
 sal/qa/rtl/alloc/makefile.mk                                          |    3 
 sal/qa/rtl/alloc/rtl_alloc.cxx                                        |    4 
 sal/qa/rtl/bootstrap/makefile.mk                                      |    3 
 sal/qa/rtl/cipher/makefile.mk                                         |    3 
 sal/qa/rtl/cipher/rtl_cipher.cxx                                      |    2 
 sal/qa/rtl/crc32/makefile.mk                                          |    3 
 sal/qa/rtl/crc32/rtl_crc32.cxx                                        |    3 
 sal/qa/rtl/digest/makefile.mk                                         |    3 
 sal/qa/rtl/digest/rtl_digest.cxx                                      |    2 
 sal/qa/rtl/doublelock/makefile.mk                                     |    3 
 sal/qa/rtl/doublelock/rtl_doublelocking.cxx                           |    3 
 sal/qa/rtl/locale/makefile.mk                                         |    3 
 sal/qa/rtl/locale/rtl_locale.cxx                                      |    3 
 sal/qa/rtl/logfile/makefile.mk                                        |    3 
 sal/qa/rtl/logfile/rtl_logfile.cxx                                    |    3 
 sal/qa/rtl/math/rtl_math.cxx                                          |    3 
 sal/qa/rtl/math/test-rtl-math.cxx                                     |    6 
 sal/qa/rtl/math/test_rtl_math.cxx                                     |    9 
 sal/qa/rtl/ostring/makefile.mk                                        |    7 
 sal/qa/rtl/ostring/rtl_OString2.cxx                                   |    3 
 sal/qa/rtl/ostring/rtl_str.cxx                                        |    2 
 sal/qa/rtl/ostring/rtl_string.cxx                                     |    2 
 sal/qa/rtl/oustring/makefile.mk                                       |    5 
 sal/qa/rtl/oustringbuffer/makefile.mk                                 |    3 
 sal/qa/rtl/oustringbuffer/test_oustringbuffer_noadditional.cxx        |    2 
 sal/qa/rtl/oustringbuffer/test_oustringbuffer_tostring.cxx            |    2 
 sal/qa/rtl/oustringbuffer/test_oustringbuffer_utf32.cxx               |    2 
 sal/qa/rtl/process/makefile.mk                                        |    3 
 sal/qa/rtl/random/makefile.add                                        |   19 
 sal/qa/rtl/random/makefile.mk                                         |    3 
 sal/qa/rtl/random/rtl_random.cxx                                      |    2 
 sal/qa/rtl/strings/makefile.mk                                        |    3 
 sal/qa/rtl/strings/test_oustring_compare.cxx                          |    2 
 sal/qa/rtl/strings/test_oustring_convert.cxx                          |    2 
 sal/qa/rtl/strings/test_oustring_endswith.cxx                         |    2 
 sal/qa/rtl/strings/test_oustring_noadditional.cxx                     |    2 
 sal/qa/rtl/textenc/makefile.mk                                        |    5 
 sal/qa/rtl/uri/makefile.mk                                            |    5 
 sal/qa/rtl/uuid/makefile.mk                                           |    3 
 sal/qa/rtl_strings/makefile.mk                                        |   13 
 sal/qa/sal/makefile.mk                                                |    3 
 sal/qa/sal/test_types.cxx                                             |    1 
 sal/qa/static/sal_cppunittester_all.cxx                               |    1 
 sal/qa/systools/makefile.mk                                           |    3 
 sal/qa/testHelperFunctions/makefile.mk                                |    3 
 sal/workben/t_osl_getVolInfo.cxx                                      |    2 
 sal/workben/t_osl_joinProcess.cxx                                     |    2 
 sax/qa/cppunit/makefile.mk                                            |    3 
 sax/qa/cppunit/sax_cppunittester_all.cxx                              |    1 
 sax/qa/cppunit/test_converter.cxx                                     |    4 
 sax/qa/cppunit/version.map                                            |   34 
 sc/qa/unit/filters-test.cxx                                           |    9 
 sc/qa/unit/ucalc.cxx                                                  |    9 
 sc/source/core/tool/addincol.cxx                                      |    3 
 sc/source/ui/unoobj/docuno.cxx                                        |    2 
 sd/qa/unit/uimpress.cxx                                               |    8 
 sfx2/qa/cppunit/test_metadatable.cxx                                  |    9 
 slideshow/test/slidetest.cxx                                          |    8 
 slideshow/test/testshape.cxx                                          |    3 
 slideshow/test/testview.cxx                                           |    3 
 slideshow/test/views.cxx                                              |    3 
 smoketestoo_native/makefile.mk                                        |    4 
 smoketestoo_native/smoketest.cxx                                      |    3 
 smoketestoo_native/version.map                                        |   34 
 solenv/inc/_cppunit.mk                                                |   20 
 solenv/inc/cppunit.mk                                                 |    2 
 starmath/qa/cppunit/test_nodetotextvisitors.cxx                       |    2 
 starmath/qa/cppunit/test_starmath.cxx                                 |    8 
 stoc/inc/pch/precompiled_stoc.hxx                                     |    1 
 stoc/source/corereflection/corefl.xml                                 |    1 
 stoc/source/inspect/insp.xml                                          |    1 
 stoc/source/inspect/introspection.cxx                                 | 1053 ++++------
 stoc/source/invocation/inv.xml                                        |    1 
 stoc/test/uriproc/makefile.mk                                         |    3 
 stoc/test/uriproc/test_uriproc.cxx                                    |    3 
 stoc/test/uriproc/version.map                                         |   34 
 svl/qa/test_URIHelper.cxx                                             |    2 
 svl/qa/unit/svl.cxx                                                   |    2 
 svtools/qa/cppunit/filters-test.cxx                                   |    7 
 sw/qa/core/Test-BigPtrArray.cxx                                       |    9 
 sw/qa/core/filters-test.cxx                                           |    9 
 sw/qa/core/swdoc-test.cxx                                             |    9 
 sw/source/ui/uno/unomod.cxx                                           |    5 
 sw/source/ui/uno/unotxdoc.cxx                                         |    2 
 test/source/cpp/officeconnection.cxx                                  |    5 
 test/source/cpp/uniquepipename.cxx                                    |    1 
 test/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx       |    3 
 toolkit/qa/complex/toolkit/UnitConversion.java                        |   13 
 tools/qa/cppunit/test_pathutils.cxx                                   |    7 
 tools/qa/cppunit/test_reversemap.cxx                                  |   11 
 tools/qa/cppunit/test_stream.cxx                                      |    7 
 tools/qa/cppunit/tools_cppunittester_all.cxx                          |    1 
 tools/qa/urlobj/tools_urlobj_test.cxx                                 |    3 
 tools/test/tests.cxx                                                  |    3 
 writerfilter/qa/cppunittests/doctok/testdoctok.cxx                    |    8 
 writerfilter/qa/cppunittests/rtftok/testrtftok.cxx                    |    8 
 xmloff/Package_inc.mk                                                 |    1 
 xmloff/inc/xmloff/PropertySetInfoHash.hxx                             |   47 
 xmloff/inc/xmloff/SinglePropertySetInfoCache.hxx                      |    3 
 xmloff/inc/xmloff/txtparae.hxx                                        |    3 
 xmloff/source/style/SinglePropertySetInfoCache.cxx                    |   52 
 xmloff/source/style/xmlexppr.cxx                                      |   58 
 xmlsecurity/qa/certext/SanCertExt.cxx                                 |    7 
 230 files changed, 1204 insertions(+), 1738 deletions(-)

New commits:
commit d996328cd5f46eeed2df0cbd510eda28e2f7cef9
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Sep 12 21:24:31 2011 +0200

    sb140: #i113503# mixing system CppUnit and OOo STLport does not work, backed out a6913c9677c2
    
    For LibO, that just means replacing sal/cppunit.h with sal/precppunit.hxx.

diff --git a/basebmp/test/basebmp_cppunittester_all.cxx b/basebmp/test/basebmp_cppunittester_all.cxx
index 53a8113..076fe43 100644
--- a/basebmp/test/basebmp_cppunittester_all.cxx
+++ b/basebmp/test/basebmp_cppunittester_all.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/basebmp/test/basictest.cxx b/basebmp/test/basictest.cxx
index a248529..246a25a 100644
--- a/basebmp/test/basictest.cxx
+++ b/basebmp/test/basictest.cxx
@@ -26,13 +26,15 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_basebmp
 #endif
 
 // autogenerated file with codegen.pl
 
-#include <sal/cppunit.h>
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basebmp/test/bmpmasktest.cxx b/basebmp/test/bmpmasktest.cxx
index 5ba4774..755128b 100644
--- a/basebmp/test/bmpmasktest.cxx
+++ b/basebmp/test/bmpmasktest.cxx
@@ -28,6 +28,9 @@
 
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basebmp/test/bmptest.cxx b/basebmp/test/bmptest.cxx
index 7b3a2cb..6a42c61 100644
--- a/basebmp/test/bmptest.cxx
+++ b/basebmp/test/bmptest.cxx
@@ -28,6 +28,9 @@
 
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basebmp/test/cliptest.cxx b/basebmp/test/cliptest.cxx
index c41edf3..08812a9 100644
--- a/basebmp/test/cliptest.cxx
+++ b/basebmp/test/cliptest.cxx
@@ -28,6 +28,9 @@
 
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basebmp/test/filltest.cxx b/basebmp/test/filltest.cxx
index d15fa10..3cddc4a 100644
--- a/basebmp/test/filltest.cxx
+++ b/basebmp/test/filltest.cxx
@@ -28,6 +28,9 @@
 
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basebmp/test/linetest.cxx b/basebmp/test/linetest.cxx
index cee66f4..885235d 100644
--- a/basebmp/test/linetest.cxx
+++ b/basebmp/test/linetest.cxx
@@ -28,6 +28,9 @@
 
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basebmp/test/masktest.cxx b/basebmp/test/masktest.cxx
index 239a069..3847d60 100644
--- a/basebmp/test/masktest.cxx
+++ b/basebmp/test/masktest.cxx
@@ -28,6 +28,9 @@
 
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basebmp/test/polytest.cxx b/basebmp/test/polytest.cxx
index 99aba1a..0be253e 100644
--- a/basebmp/test/polytest.cxx
+++ b/basebmp/test/polytest.cxx
@@ -28,6 +28,9 @@
 
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basegfx/test/basegfx1d.cxx b/basegfx/test/basegfx1d.cxx
index 860a6dc..0134dfe 100644
--- a/basegfx/test/basegfx1d.cxx
+++ b/basegfx/test/basegfx1d.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_basegfx
 #endif
@@ -34,7 +37,6 @@
 #include "precompiled_basegfx.hxx"
 // autogenerated file with codegen.pl
 
-#include <sal/cppunit.h>
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/basegfx/test/basegfx2d.cxx b/basegfx/test/basegfx2d.cxx
index 6cccd67..0d14638 100644
--- a/basegfx/test/basegfx2d.cxx
+++ b/basegfx/test/basegfx2d.cxx
@@ -26,6 +26,8 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basegfx.hxx"
diff --git a/basegfx/test/basegfx3d.cxx b/basegfx/test/basegfx3d.cxx
index 691b51a..c488f97 100644
--- a/basegfx/test/basegfx3d.cxx
+++ b/basegfx/test/basegfx3d.cxx
@@ -26,6 +26,8 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basegfx.hxx"
diff --git a/basegfx/test/basegfx_cppunittester_all.cxx b/basegfx/test/basegfx_cppunittester_all.cxx
index 7508fe1..7c6616b 100644
--- a/basegfx/test/basegfx_cppunittester_all.cxx
+++ b/basegfx/test/basegfx_cppunittester_all.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/basegfx/test/basegfxtools.cxx b/basegfx/test/basegfxtools.cxx
index 4380aaf..18c0721 100644
--- a/basegfx/test/basegfxtools.cxx
+++ b/basegfx/test/basegfxtools.cxx
@@ -26,6 +26,8 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basegfx.hxx"
diff --git a/basegfx/test/boxclipper.cxx b/basegfx/test/boxclipper.cxx
index 4d809bb..2be9df5 100644
--- a/basegfx/test/boxclipper.cxx
+++ b/basegfx/test/boxclipper.cxx
@@ -26,6 +26,8 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basegfx.hxx"
diff --git a/basegfx/test/clipstate.cxx b/basegfx/test/clipstate.cxx
index d8c1066..179f376 100644
--- a/basegfx/test/clipstate.cxx
+++ b/basegfx/test/clipstate.cxx
@@ -26,6 +26,8 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basegfx.hxx"
diff --git a/basegfx/test/genericclipper.cxx b/basegfx/test/genericclipper.cxx
index 81d8acd..22b6bda 100644
--- a/basegfx/test/genericclipper.cxx
+++ b/basegfx/test/genericclipper.cxx
@@ -26,6 +26,8 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basegfx.hxx"
diff --git a/binaryurp/qa/binaryurp_cppunittester_all.cxx b/binaryurp/qa/binaryurp_cppunittester_all.cxx
index 31e82e4..d88d5ab 100644
--- a/binaryurp/qa/binaryurp_cppunittester_all.cxx
+++ b/binaryurp/qa/binaryurp_cppunittester_all.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/binaryurp/qa/test-cache.cxx b/binaryurp/qa/test-cache.cxx
index c47f6f7..a831f4d 100644
--- a/binaryurp/qa/test-cache.cxx
+++ b/binaryurp/qa/test-cache.cxx
@@ -26,12 +26,13 @@
 *
 ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_binaryurp_cache
 #endif
 
-#include "sal/config.h"
-
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/binaryurp/qa/test-unmarshal.cxx b/binaryurp/qa/test-unmarshal.cxx
index 5c4940d..74ee12c 100644
--- a/binaryurp/qa/test-unmarshal.cxx
+++ b/binaryurp/qa/test-unmarshal.cxx
@@ -26,12 +26,13 @@
 *
 ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_binaryurp_unmarshal
 #endif
 
-#include "sal/config.h"
-
 #include "com/sun/star/io/IOException.hpp"
 #include "com/sun/star/uno/Sequence.hxx"
 #include "cppu/unotype.hxx"
diff --git a/comphelper/qa/string/test_string.cxx b/comphelper/qa/string/test_string.cxx
index 21d84c9..db6d52e 100644
--- a/comphelper/qa/string/test_string.cxx
+++ b/comphelper/qa/string/test_string.cxx
@@ -27,12 +27,16 @@
  ************************************************************************/
 
 #include "precompiled_comphelper.hxx"
-#include "sal/cppunit.h"
+#include "sal/precppunit.hxx"
 
 #include <comphelper/string.hxx>
 #include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/i18n/CharType.hpp>
 
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "rtl/string.hxx"
 #include "rtl/ustring.hxx"
 
diff --git a/comphelper/qa/weakbag/test_weakbag.cxx b/comphelper/qa/weakbag/test_weakbag.cxx
index 84767f0..9e71398 100644
--- a/comphelper/qa/weakbag/test_weakbag.cxx
+++ b/comphelper/qa/weakbag/test_weakbag.cxx
@@ -28,6 +28,7 @@
 
 #include "precompiled_comphelper.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "com/sun/star/uno/Reference.hxx"
 #include "com/sun/star/uno/XInterface.hpp"
diff --git a/comphelper/qa/weakbag/test_weakbag_noadditional.cxx b/comphelper/qa/weakbag/test_weakbag_noadditional.cxx
index 9f3bfe5..f101e07 100644
--- a/comphelper/qa/weakbag/test_weakbag_noadditional.cxx
+++ b/comphelper/qa/weakbag/test_weakbag_noadditional.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <cppunit/plugin/TestPlugIn.h>
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/cppu/qa/cppu_cppunittester_all.cxx b/cppu/qa/cppu_cppunittester_all.cxx
index e77c046..bf2a680 100644
--- a/cppu/qa/cppu_cppunittester_all.cxx
+++ b/cppu/qa/cppu_cppunittester_all.cxx
@@ -27,8 +27,8 @@
 ************************************************************************/
 
 #include "precompiled_cppu.hxx"
-
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/cppu/qa/cppumaker/test_cppumaker.cxx b/cppu/qa/cppumaker/test_cppumaker.cxx
index 8e71264..850eb10 100644
--- a/cppu/qa/cppumaker/test_cppumaker.cxx
+++ b/cppu/qa/cppumaker/test_cppumaker.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_cppu.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "FILE.hpp"
 #include "lconv.hpp"
diff --git a/cppu/qa/test_any.cxx b/cppu/qa/test_any.cxx
index 4c7f58d..ddee0fb 100644
--- a/cppu/qa/test_any.cxx
+++ b/cppu/qa/test_any.cxx
@@ -28,13 +28,13 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_cppu.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_qa_cppu_any
 #endif
 
-#include "sal/config.h"
-
 #include <stdlib.h> // wntmsci10 does not like <cstdlib>
 
 #include <cppunit/TestSuite.h>
diff --git a/cppu/qa/test_recursion.cxx b/cppu/qa/test_recursion.cxx
index da7d389..53f57cd 100644
--- a/cppu/qa/test_recursion.cxx
+++ b/cppu/qa/test_recursion.cxx
@@ -27,13 +27,13 @@
  ************************************************************************/
 
 #include "precompiled_cppu.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_qa_cppu_recursion
 #endif
 
-#include "sal/config.h"
-
 #include <cppunit/TestSuite.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/TestCase.h>
diff --git a/cppu/qa/test_reference.cxx b/cppu/qa/test_reference.cxx
index 8bc21a0..a2509bf 100644
--- a/cppu/qa/test_reference.cxx
+++ b/cppu/qa/test_reference.cxx
@@ -28,13 +28,13 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_cppu.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_qa_cppu_reference
 #endif
 
-#include "sal/config.h"
-
 #include <cppunit/TestSuite.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/TestCase.h>
diff --git a/cppu/qa/test_unotype.cxx b/cppu/qa/test_unotype.cxx
index 4173bf8..ee40c85 100644
--- a/cppu/qa/test_unotype.cxx
+++ b/cppu/qa/test_unotype.cxx
@@ -28,13 +28,13 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_cppu.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_qa_cppu_unotype
 #endif
 
-#include "sal/config.h"
-
 #include <cppunit/TestSuite.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/TestCase.h>
diff --git a/cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx b/cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx
index 09ec884..7d40a8d 100644
--- a/cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx
+++ b/cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <string.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx b/cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx
index cad8c66..2ca98f9 100644
--- a/cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx
+++ b/cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx
@@ -28,13 +28,13 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_cppuhelper.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_cppuhelper_propertysetmixin
 #endif
 
-#include "sal/config.h"
-
 #include "test/cppuhelper/propertysetmixin/CppSupplier.hpp"
 #include "test/cppuhelper/propertysetmixin/JavaSupplier.hpp"
 #include "test/cppuhelper/propertysetmixin/XSupplier.hpp"
diff --git a/cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx b/cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx
index a1085a6..82a0540 100644
--- a/cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx
+++ b/cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx b/cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx
index 90d7f8b..44b913b 100644
--- a/cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx
+++ b/cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/cppuhelper/qa/unourl/cppu_unourl.cxx b/cppuhelper/qa/unourl/cppu_unourl.cxx
index df6c63e..d7ad8a6 100644
--- a/cppuhelper/qa/unourl/cppu_unourl.cxx
+++ b/cppuhelper/qa/unourl/cppu_unourl.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
 #include <cppunit/plugin/TestPlugIn.h>
diff --git a/cppuhelper/qa/weak/test_weak.cxx b/cppuhelper/qa/weak/test_weak.cxx
index 0a0cae4..b9ba635 100644
--- a/cppuhelper/qa/weak/test_weak.cxx
+++ b/cppuhelper/qa/weak/test_weak.cxx
@@ -28,13 +28,13 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_cppuhelper.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
 #include <cppunit/plugin/TestPlugIn.h>
 
-#include "sal/config.h"
-
 #include "com/sun/star/lang/DisposedException.hpp"
 #include "com/sun/star/uno/Reference.hxx"
 #include "com/sun/star/uno/RuntimeException.hpp"
diff --git a/desktop/qa/deployment_misc/test_dp_version.cxx b/desktop/qa/deployment_misc/test_dp_version.cxx
index 480172b..6a08b12 100644
--- a/desktop/qa/deployment_misc/test_dp_version.cxx
+++ b/desktop/qa/deployment_misc/test_dp_version.cxx
@@ -28,8 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_desktop.hxx"
-
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstddef>
 
diff --git a/editeng/qa/items/borderline_test.cxx b/editeng/qa/items/borderline_test.cxx
index 5d67b62..519d916 100644
--- a/editeng/qa/items/borderline_test.cxx
+++ b/editeng/qa/items/borderline_test.cxx
@@ -27,12 +27,14 @@
  * instead of those above.
  */
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
 #include <cppunit/plugin/TestPlugIn.h>
 
 #include <editeng/borderline.hxx>
-#include <sal/cppunit.h>
 
 #define TEST_WIDTH long( 40 )
 
diff --git a/filter/source/svg/test/parsertest.cxx b/filter/source/svg/test/parsertest.cxx
index 07845ba..c051959 100644
--- a/filter/source/svg/test/parsertest.cxx
+++ b/filter/source/svg/test/parsertest.cxx
@@ -26,6 +26,8 @@
  */
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_filter.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
diff --git a/hwpfilter/qa/cppunit/test_hwpfilter.cxx b/hwpfilter/qa/cppunit/test_hwpfilter.cxx
index 460db0f..b0666e6 100644
--- a/hwpfilter/qa/cppunit/test_hwpfilter.cxx
+++ b/hwpfilter/qa/cppunit/test_hwpfilter.cxx
@@ -26,7 +26,13 @@
  * instead of those above.
  */
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <cppuhelper/bootstrap.hxx>
 #include <comphelper/processfactory.hxx>
diff --git a/i18npool/qa/cppunit/i18npool_cppunittester_all.cxx b/i18npool/qa/cppunit/i18npool_cppunittester_all.cxx
index f56002f..d431259 100644
--- a/i18npool/qa/cppunit/i18npool_cppunittester_all.cxx
+++ b/i18npool/qa/cppunit/i18npool_cppunittester_all.cxx
@@ -27,8 +27,8 @@
 ************************************************************************/
 
 #include "precompiled_i18npool.hxx"
-
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
index 85faeb9..ab5936a 100644
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -25,21 +25,26 @@
  * instead of those above.
  */
 
+#include "precompiled_i18npool.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_i18npool_breakiterator
 #endif
 
-#include "precompiled_i18npool.hxx"
-
 #include <cppuhelper/compbase1.hxx>
 #include <cppuhelper/bootstrap.hxx>
 #include <cppuhelper/basemutex.hxx>
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include <com/sun/star/i18n/XBreakIterator.hpp>
 #include <com/sun/star/i18n/CharacterIteratorMode.hpp>
 #include <com/sun/star/i18n/ScriptType.hdl>
 
 #include <rtl/strbuf.hxx>
-#include <sal/cppunit.h>
 
 #include <string.h>
 
diff --git a/lotuswordpro/qa/cppunit/test_lotuswordpro.cxx b/lotuswordpro/qa/cppunit/test_lotuswordpro.cxx
index e4072bb..dc776f8 100644
--- a/lotuswordpro/qa/cppunit/test_lotuswordpro.cxx
+++ b/lotuswordpro/qa/cppunit/test_lotuswordpro.cxx
@@ -26,7 +26,13 @@
  * instead of those above.
  */
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <cppuhelper/bootstrap.hxx>
 #include <comphelper/processfactory.hxx>
diff --git a/o3tl/qa/test-cow_wrapper.cxx b/o3tl/qa/test-cow_wrapper.cxx
index fbf9fe4..fa20573 100644
--- a/o3tl/qa/test-cow_wrapper.cxx
+++ b/o3tl/qa/test-cow_wrapper.cxx
@@ -1,10 +1,13 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
-#include <sal/cppunit.h>
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include "cow_wrapper_clients.hxx"
 
diff --git a/o3tl/qa/test-heap_ptr.cxx b/o3tl/qa/test-heap_ptr.cxx
index 381b8a3..4db17fd 100644
--- a/o3tl/qa/test-heap_ptr.cxx
+++ b/o3tl/qa/test-heap_ptr.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/o3tl/qa/test-range.cxx b/o3tl/qa/test-range.cxx
index ee45744..117bd02 100644
--- a/o3tl/qa/test-range.cxx
+++ b/o3tl/qa/test-range.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/o3tl/qa/test-vector_pool.cxx b/o3tl/qa/test-vector_pool.cxx
index 1e3ec7a..6cb207f 100644
--- a/o3tl/qa/test-vector_pool.cxx
+++ b/o3tl/qa/test-vector_pool.cxx
@@ -1,6 +1,9 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 // autogenerated file with codegen.pl
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx
index 78da5dd..49ae0b3 100644
--- a/sal/cppunittester/cppunittester.cxx
+++ b/sal/cppunittester/cppunittester.cxx
@@ -28,6 +28,7 @@
 
 #include "precompiled_sal.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef WNT
 #include <windows.h>
diff --git a/sal/inc/cppunittester/protectorfactory.hxx b/sal/inc/cppunittester/protectorfactory.hxx
index 916f89f..0d730e3 100644
--- a/sal/inc/cppunittester/protectorfactory.hxx
+++ b/sal/inc/cppunittester/protectorfactory.hxx
@@ -29,6 +29,7 @@
 #define INCLUDED_CPPUNITTESTER_PROTECTORFACTORY_HXX
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "sal/types.h"
 
diff --git a/sal/inc/sal/cppunit.h b/sal/inc/sal/cppunit.h
deleted file mode 100644
index 0d085c2..0000000
--- a/sal/inc/sal/cppunit.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _SAL_CPPUNIT_H_
-#define _SAL_CPPUNIT_H_
-
-#include <sal/types.h>
-
-#include <cppunit/TestAssert.h>
-#include <cppunit/TestFixture.h>
-#include <cppunit/extensions/HelperMacros.h>
-#include <cppunit/plugin/TestPlugIn.h>
-#include <cppunit/Protector.h>
-
-#undef CPPUNIT_PLUGIN_EXPORT
-#define CPPUNIT_PLUGIN_EXPORT extern "C" SAL_DLLPUBLIC_EXPORT
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/inc/sal/precppunit.hxx b/sal/inc/sal/precppunit.hxx
new file mode 100644
index 0000000..a0f7c94
--- /dev/null
+++ b/sal/inc/sal/precppunit.hxx
@@ -0,0 +1,39 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2011 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org.  If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#ifndef INCLUDED_SAL_PRECPPUNIT_HXX
+#define INCLUDED_SAL_PRECPPUNIT_HXX
+
+#include "sal/config.h"
+
+#include "sal/types.h"
+
+// Overwrite the way CppUnit test plug-ins export the test function, adapting it
+// to OOo's symbol visibility framework:
+#define CPPUNIT_PLUGIN_EXPORT extern "C" SAL_DLLPUBLIC_EXPORT
+
+#endif
diff --git a/sal/prj/d.lst b/sal/prj/d.lst
index 981fc5e..ac6bc63 100644
--- a/sal/prj/d.lst
+++ b/sal/prj/d.lst
@@ -9,6 +9,7 @@ mkdir: %_DEST%\inc\systools\win32
 ..\inc\cppunittester\protectorfactory.hxx %_DEST%\inc\protectorfactory.hxx
 ..\%__SRC%\inc\rtlbootstrap.mk %_DEST%\inc\rtlbootstrap.mk
 ..\inc\sal\*.h %_DEST%\inc\sal\*.h
+..\inc\sal\precppunit.hxx %_DEST%\inc\sal\precppunit.hxx
 ..\%__SRC%\inc\sal\typesizes.h %_DEST%\inc\sal\typesizes.h
 ..\inc\osl\*.h %_DEST%\inc\osl\*.h
 ..\inc\osl\*.hxx %_DEST%\inc\osl\*.hxx
diff --git a/sal/qa/ByteSequence/ByteSequence.cxx b/sal/qa/ByteSequence/ByteSequence.cxx
index f715c90..3a0e3a5 100644
--- a/sal/qa/ByteSequence/ByteSequence.cxx
+++ b/sal/qa/ByteSequence/ByteSequence.cxx
@@ -28,6 +28,7 @@
 
 #include "precompiled_sal.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
diff --git a/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx b/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx
index ba6c326..4bfadc4 100644
--- a/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx
+++ b/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <rtl/string.hxx>
 #include <rtl_String_Const.h>
diff --git a/sal/qa/osl/condition/osl_Condition_Const.h b/sal/qa/osl/condition/osl_Condition_Const.h
index e000e7c..e4c7887 100644
--- a/sal/qa/osl/condition/osl_Condition_Const.h
+++ b/sal/qa/osl/condition/osl_Condition_Const.h
@@ -29,6 +29,9 @@
 #ifndef _OSL_CONDITION_CONST_H_
 #define _OSL_CONDITION_CONST_H_
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <sal/types.h>
 #include <rtl/ustring.hxx>
 
diff --git a/sal/qa/osl/file/osl_File.cxx b/sal/qa/osl/file/osl_File.cxx
index a1683e1..f69749f 100644
--- a/sal/qa/osl/file/osl_File.cxx
+++ b/sal/qa/osl/file/osl_File.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_qa_osl_File
diff --git a/sal/qa/osl/file/osl_old_test_file.cxx b/sal/qa/osl/file/osl_old_test_file.cxx
index 04f2f5a..c243243 100644
--- a/sal/qa/osl/file/osl_old_test_file.cxx
+++ b/sal/qa/osl/file/osl_old_test_file.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_osl_old_test_file
diff --git a/sal/qa/osl/file/test_cpy_wrt_file.cxx b/sal/qa/osl/file/test_cpy_wrt_file.cxx
index 5613530..f5a4a27 100644
--- a/sal/qa/osl/file/test_cpy_wrt_file.cxx
+++ b/sal/qa/osl/file/test_cpy_wrt_file.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_tcwf
diff --git a/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx b/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx
index 4d9e655..534b798 100644
--- a/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx
+++ b/sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx
@@ -27,6 +27,7 @@
 
 #include "precompiled_sal.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
diff --git a/sal/qa/osl/module/osl_Module_Const.h b/sal/qa/osl/module/osl_Module_Const.h
index 9074a28..599ee14 100644
--- a/sal/qa/osl/module/osl_Module_Const.h
+++ b/sal/qa/osl/module/osl_Module_Const.h
@@ -29,6 +29,8 @@
 #ifndef _OSL_MODULE_CONST_H_
 #define _OSL_MODULE_CONST_H_
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <sal/types.h>
 #include <rtl/ustring.hxx>
diff --git a/sal/qa/osl/mutex/osl_Mutex.cxx b/sal/qa/osl/mutex/osl_Mutex.cxx
index b4b2ecc..ff42b64 100644
--- a/sal/qa/osl/mutex/osl_Mutex.cxx
+++ b/sal/qa/osl/mutex/osl_Mutex.cxx
@@ -29,8 +29,13 @@
 //------------------------------------------------------------------------
 // include files
 //------------------------------------------------------------------------
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include <osl_Mutex_Const.h>
 
 using namespace osl;
diff --git a/sal/qa/osl/pipe/osl_Pipe.cxx b/sal/qa/osl/pipe/osl_Pipe.cxx
index ba5f8da..97705dc 100644
--- a/sal/qa/osl/pipe/osl_Pipe.cxx
+++ b/sal/qa/osl/pipe/osl_Pipe.cxx
@@ -30,7 +30,13 @@
 // include files
 //------------------------------------------------------------------------
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "test/uniquepipename.hxx"
 #include <sal/types.h>
 #include <rtl/ustring.hxx>
diff --git a/sal/qa/osl/process/osl_Thread.cxx b/sal/qa/osl/process/osl_Thread.cxx
index de0589f..1dd0860 100644
--- a/sal/qa/osl/process/osl_Thread.cxx
+++ b/sal/qa/osl/process/osl_Thread.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_osl_Thread
diff --git a/sal/qa/osl/process/osl_process.cxx b/sal/qa/osl/process/osl_process.cxx
index ae09ead..67d9282 100644
--- a/sal/qa/osl/process/osl_process.cxx
+++ b/sal/qa/osl/process/osl_process.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_osl_process
diff --git a/sal/qa/osl/profile/osl_old_testprofile.cxx b/sal/qa/osl/profile/osl_old_testprofile.cxx
index f2695a3..2e36b79 100644
--- a/sal/qa/osl/profile/osl_old_testprofile.cxx
+++ b/sal/qa/osl/profile/osl_old_testprofile.cxx
@@ -30,12 +30,16 @@
 // this file is converted to use with testshl2
 // original was placed in sal/test/textenc.cxx
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
-// -----------------------------------------------------------------------------
 #include <stdio.h>
 #include <osl/profile.h>
-#include <sal/cppunit.h>
-
 
 //==================================================================================================
 // -----------------------------------------------------------------------------
diff --git a/sal/qa/osl/security/osl_Security.cxx b/sal/qa/osl/security/osl_Security.cxx
index 6ec5274..21461ca 100644
--- a/sal/qa/osl/security/osl_Security.cxx
+++ b/sal/qa/osl/security/osl_Security.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 //------------------------------------------------------------------------
 // header file
diff --git a/sal/qa/osl/security/osl_Security_Const.h b/sal/qa/osl/security/osl_Security_Const.h
index 197745f..0c3a242 100644
--- a/sal/qa/osl/security/osl_Security_Const.h
+++ b/sal/qa/osl/security/osl_Security_Const.h
@@ -29,6 +29,9 @@
 #ifndef _OSL_SECURITY_CONST_H_
 #define _OSL_SECURITY_CONST_H_
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #if ( defined WNT )                     // Windows
 #include <io.h>
 #endif
diff --git a/sal/qa/osl/setthreadname/test-setthreadname.cxx b/sal/qa/osl/setthreadname/test-setthreadname.cxx
index b969ad5..eb5aef6 100644
--- a/sal/qa/osl/setthreadname/test-setthreadname.cxx
+++ b/sal/qa/osl/setthreadname/test-setthreadname.cxx
@@ -26,13 +26,17 @@
 ************************************************************************/
 
 #include "sal/config.h"
-#include <sal/cppunit.h>
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
 #include <limits>
 
 #include "boost/noncopyable.hpp"
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "osl/thread.hxx"
 
 namespace {
diff --git a/sal/qa/osl/socket/osl_AcceptorSocket.cxx b/sal/qa/osl/socket/osl_AcceptorSocket.cxx
index a648e47..a19d631 100644
--- a/sal/qa/osl/socket/osl_AcceptorSocket.cxx
+++ b/sal/qa/osl/socket/osl_AcceptorSocket.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 /**  test coder preface:
     1. the BSD socket function will meet "unresolved external symbol error" on Windows platform
diff --git a/sal/qa/osl/socket/osl_ConnectorSocket.cxx b/sal/qa/osl/socket/osl_ConnectorSocket.cxx
index bf47ea3..f8a5670 100644
--- a/sal/qa/osl/socket/osl_ConnectorSocket.cxx
+++ b/sal/qa/osl/socket/osl_ConnectorSocket.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 /**  test coder preface:
     1. the BSD socket function will meet "unresolved external symbol error" on Windows platform
diff --git a/sal/qa/osl/socket/osl_DatagramSocket.cxx b/sal/qa/osl/socket/osl_DatagramSocket.cxx
index 111c690..eed51ed 100644
--- a/sal/qa/osl/socket/osl_DatagramSocket.cxx
+++ b/sal/qa/osl/socket/osl_DatagramSocket.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 /**  test coder preface:
     1. the BSD socket function will meet "unresolved external symbol error" on Windows platform
diff --git a/sal/qa/osl/socket/osl_Socket.cxx b/sal/qa/osl/socket/osl_Socket.cxx
index f16dc16..df3a10b 100644
--- a/sal/qa/osl/socket/osl_Socket.cxx
+++ b/sal/qa/osl/socket/osl_Socket.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 /**  test coder preface:
     1. the BSD socket function will meet "unresolved external symbol error" on Windows platform
diff --git a/sal/qa/osl/socket/osl_Socket2.cxx b/sal/qa/osl/socket/osl_Socket2.cxx
index bee02b9..0eb9f05 100644
--- a/sal/qa/osl/socket/osl_Socket2.cxx
+++ b/sal/qa/osl/socket/osl_Socket2.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 /**  test coder preface:
     1. the BSD socket function will meet "unresolved external symbol error" on Windows platform
diff --git a/sal/qa/osl/socket/osl_SocketAddr.cxx b/sal/qa/osl/socket/osl_SocketAddr.cxx
index 476fade..13e9521 100644
--- a/sal/qa/osl/socket/osl_SocketAddr.cxx
+++ b/sal/qa/osl/socket/osl_SocketAddr.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 /**  test coder preface:
     1. the BSD socket function will meet "unresolved external symbol error" on Windows platform
diff --git a/sal/qa/osl/socket/osl_Socket_tests.cxx b/sal/qa/osl/socket/osl_Socket_tests.cxx
index 120d9fa..1b36964 100644
--- a/sal/qa/osl/socket/osl_Socket_tests.cxx
+++ b/sal/qa/osl/socket/osl_Socket_tests.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 //------------------------------------------------------------------------
 // include files
diff --git a/sal/qa/osl/socket/osl_StreamSocket.cxx b/sal/qa/osl/socket/osl_StreamSocket.cxx
index c2683d6..ffe7eb5 100644
--- a/sal/qa/osl/socket/osl_StreamSocket.cxx
+++ b/sal/qa/osl/socket/osl_StreamSocket.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 /**  test coder preface:
      1. the BSD socket function will meet "unresolved external symbol error" on Windows platform
diff --git a/sal/qa/osl/socket/sockethelper.cxx b/sal/qa/osl/socket/sockethelper.cxx
index 1aaab98..ee2dc88 100644
--- a/sal/qa/osl/socket/sockethelper.cxx
+++ b/sal/qa/osl/socket/sockethelper.cxx
@@ -29,6 +29,9 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "sockethelper.hxx"
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/osl/thread/test_thread.cxx b/sal/qa/osl/thread/test_thread.cxx
index 9dbc307..80e4f5b 100644
--- a/sal/qa/osl/thread/test_thread.cxx
+++ b/sal/qa/osl/thread/test_thread.cxx
@@ -28,8 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
-
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/rtl/alloc/rtl_alloc.cxx b/sal/qa/rtl/alloc/rtl_alloc.cxx
index 3a3852a..5523af2 100644
--- a/sal/qa/rtl/alloc/rtl_alloc.cxx
+++ b/sal/qa/rtl/alloc/rtl_alloc.cxx
@@ -26,10 +26,10 @@
  *
  ************************************************************************/
 
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
-// autogenerated file with codegen.pl
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <rtl/alloc.h>
 #include <cppunit/TestFixture.h>
diff --git a/sal/qa/rtl/cipher/rtl_cipher.cxx b/sal/qa/rtl/cipher/rtl_cipher.cxx
index 383f56d..fcf2cc4 100644
--- a/sal/qa/rtl/cipher/rtl_cipher.cxx
+++ b/sal/qa/rtl/cipher/rtl_cipher.cxx
@@ -29,6 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstring>
 
diff --git a/sal/qa/rtl/crc32/rtl_crc32.cxx b/sal/qa/rtl/crc32/rtl_crc32.cxx
index 1e054a9..222691f 100644
--- a/sal/qa/rtl/crc32/rtl_crc32.cxx
+++ b/sal/qa/rtl/crc32/rtl_crc32.cxx
@@ -29,7 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
-// autogenerated file with codegen.pl
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/rtl/digest/rtl_digest.cxx b/sal/qa/rtl/digest/rtl_digest.cxx
index ffd0af4..5532711 100644
--- a/sal/qa/rtl/digest/rtl_digest.cxx
+++ b/sal/qa/rtl/digest/rtl_digest.cxx
@@ -29,6 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
diff --git a/sal/qa/rtl/doublelock/rtl_doublelocking.cxx b/sal/qa/rtl/doublelock/rtl_doublelocking.cxx
index b44e543..0a09a91 100644
--- a/sal/qa/rtl/doublelock/rtl_doublelocking.cxx
+++ b/sal/qa/rtl/doublelock/rtl_doublelocking.cxx
@@ -28,6 +28,9 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 //------------------------------------------------------------------------
 // include files
 //------------------------------------------------------------------------
diff --git a/sal/qa/rtl/locale/rtl_locale.cxx b/sal/qa/rtl/locale/rtl_locale.cxx
index 1cf34c0..0e3d255 100644
--- a/sal/qa/rtl/locale/rtl_locale.cxx
+++ b/sal/qa/rtl/locale/rtl_locale.cxx
@@ -29,7 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
-// autogenerated file with codegen.pl
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <osl/thread.h>
 #include <rtl/locale.hxx>
diff --git a/sal/qa/rtl/logfile/rtl_logfile.cxx b/sal/qa/rtl/logfile/rtl_logfile.cxx
index 2b66947..a94d545 100644
--- a/sal/qa/rtl/logfile/rtl_logfile.cxx
+++ b/sal/qa/rtl/logfile/rtl_logfile.cxx
@@ -29,6 +29,9 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 // LLA:
 // this file is converted to use with testshl2
 // original was placed in sal/test/textenc.cxx
diff --git a/sal/qa/rtl/math/rtl_math.cxx b/sal/qa/rtl/math/rtl_math.cxx
index 9fe5c82..41e55d6 100644
--- a/sal/qa/rtl/math/rtl_math.cxx
+++ b/sal/qa/rtl/math/rtl_math.cxx
@@ -29,6 +29,9 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #ifdef WIN32
 // LLA: take a look into Microsofts math.h implementation, why this define is need
 #define _USE_MATH_DEFINES
diff --git a/sal/qa/rtl/math/test-rtl-math.cxx b/sal/qa/rtl/math/test-rtl-math.cxx
index 41b4ea2..eb62fa4 100644
--- a/sal/qa/rtl/math/test-rtl-math.cxx
+++ b/sal/qa/rtl/math/test-rtl-math.cxx
@@ -26,8 +26,12 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
-#include <sal/cppunit.h>
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "rtl/math.hxx"
 #include "rtl/ustring.h"
 #include "rtl/ustring.hxx"
diff --git a/sal/qa/rtl/math/test_rtl_math.cxx b/sal/qa/rtl/math/test_rtl_math.cxx
index a5061ac..3848c01 100644
--- a/sal/qa/rtl/math/test_rtl_math.cxx
+++ b/sal/qa/rtl/math/test_rtl_math.cxx
@@ -26,6 +26,13 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "rtl/math.h"
 #include "rtl/math.hxx"
 #include "rtl/strbuf.hxx"
@@ -38,8 +45,6 @@
 
 #include <stdlib.h>
 
-#include <sal/cppunit.h>
-
 namespace {
 
 struct FloatTraits
diff --git a/sal/qa/rtl/ostring/rtl_OString2.cxx b/sal/qa/rtl/ostring/rtl_OString2.cxx
index a4a50d8..cc13027 100644
--- a/sal/qa/rtl/ostring/rtl_OString2.cxx
+++ b/sal/qa/rtl/ostring/rtl_OString2.cxx
@@ -29,6 +29,9 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 // autogenerated file with codegen.pl
 // There exist some more test code in sal/qa/rtl_strings/rtl_OString.cxx
 
diff --git a/sal/qa/rtl/ostring/rtl_str.cxx b/sal/qa/rtl/ostring/rtl_str.cxx
index b04a49d..6092309 100644
--- a/sal/qa/rtl/ostring/rtl_str.cxx
+++ b/sal/qa/rtl/ostring/rtl_str.cxx
@@ -29,6 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/rtl/ostring/rtl_string.cxx b/sal/qa/rtl/ostring/rtl_string.cxx
index 0b5e169..c906e2a 100644
--- a/sal/qa/rtl/ostring/rtl_string.cxx
+++ b/sal/qa/rtl/ostring/rtl_string.cxx
@@ -29,6 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/rtl/oustringbuffer/test_oustringbuffer_noadditional.cxx b/sal/qa/rtl/oustringbuffer/test_oustringbuffer_noadditional.cxx
index 18e8a63..2505e2e 100644
--- a/sal/qa/rtl/oustringbuffer/test_oustringbuffer_noadditional.cxx
+++ b/sal/qa/rtl/oustringbuffer/test_oustringbuffer_noadditional.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/plugin/TestPlugIn.h>
 
diff --git a/sal/qa/rtl/oustringbuffer/test_oustringbuffer_tostring.cxx b/sal/qa/rtl/oustringbuffer/test_oustringbuffer_tostring.cxx
index df38ce6..9afd1fb 100644
--- a/sal/qa/rtl/oustringbuffer/test_oustringbuffer_tostring.cxx
+++ b/sal/qa/rtl/oustringbuffer/test_oustringbuffer_tostring.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/TestAssert.h>
diff --git a/sal/qa/rtl/oustringbuffer/test_oustringbuffer_utf32.cxx b/sal/qa/rtl/oustringbuffer/test_oustringbuffer_utf32.cxx
index 13e75a4..c66223b 100644
--- a/sal/qa/rtl/oustringbuffer/test_oustringbuffer_utf32.cxx
+++ b/sal/qa/rtl/oustringbuffer/test_oustringbuffer_utf32.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/TestAssert.h>
diff --git a/sal/qa/rtl/random/rtl_random.cxx b/sal/qa/rtl/random/rtl_random.cxx
index 0ee8972..ba739e5 100644
--- a/sal/qa/rtl/random/rtl_random.cxx
+++ b/sal/qa/rtl/random/rtl_random.cxx
@@ -29,6 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <algorithm>
 
diff --git a/sal/qa/rtl/strings/test_oustring_compare.cxx b/sal/qa/rtl/strings/test_oustring_compare.cxx
index 016ff94..a992b58 100644
--- a/sal/qa/rtl/strings/test_oustring_compare.cxx
+++ b/sal/qa/rtl/strings/test_oustring_compare.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/rtl/strings/test_oustring_convert.cxx b/sal/qa/rtl/strings/test_oustring_convert.cxx
index f35edbf..2cff765 100644
--- a/sal/qa/rtl/strings/test_oustring_convert.cxx
+++ b/sal/qa/rtl/strings/test_oustring_convert.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/rtl/strings/test_oustring_endswith.cxx b/sal/qa/rtl/strings/test_oustring_endswith.cxx
index 7a9c7df..b41b8bf 100644
--- a/sal/qa/rtl/strings/test_oustring_endswith.cxx
+++ b/sal/qa/rtl/strings/test_oustring_endswith.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sal/qa/rtl/strings/test_oustring_noadditional.cxx b/sal/qa/rtl/strings/test_oustring_noadditional.cxx
index 18e8a63..2505e2e 100644
--- a/sal/qa/rtl/strings/test_oustring_noadditional.cxx
+++ b/sal/qa/rtl/strings/test_oustring_noadditional.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/plugin/TestPlugIn.h>
 
diff --git a/sal/qa/sal/test_types.cxx b/sal/qa/sal/test_types.cxx
index 0b7cdd6..e309e22 100644
--- a/sal/qa/sal/test_types.cxx
+++ b/sal/qa/sal/test_types.cxx
@@ -28,6 +28,7 @@
 
 #include "precompiled_sal.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstddef>
 #include <stdio.h> // C99 snprintf not necessarily in <cstdio>
diff --git a/sal/qa/static/sal_cppunittester_all.cxx b/sal/qa/static/sal_cppunittester_all.cxx
index 4c3d942..cdcb09b 100644
--- a/sal/qa/static/sal_cppunittester_all.cxx
+++ b/sal/qa/static/sal_cppunittester_all.cxx
@@ -28,6 +28,7 @@
 
 #include "precompiled_sal.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/sal/workben/t_osl_getVolInfo.cxx b/sal/workben/t_osl_getVolInfo.cxx
index 7504cd8..3305364 100644
--- a/sal/workben/t_osl_getVolInfo.cxx
+++ b/sal/workben/t_osl_getVolInfo.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/simpleheader.hxx>
 #include <osl/file.h>
diff --git a/sal/workben/t_osl_joinProcess.cxx b/sal/workben/t_osl_joinProcess.cxx
index 40d19fe..c1e256b 100644
--- a/sal/workben/t_osl_joinProcess.cxx
+++ b/sal/workben/t_osl_joinProcess.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/simpleheader.hxx>
 #include <osl/process.h>
diff --git a/sax/qa/cppunit/sax_cppunittester_all.cxx b/sax/qa/cppunit/sax_cppunittester_all.cxx
index b988ee7..3e81161 100644
--- a/sax/qa/cppunit/sax_cppunittester_all.cxx
+++ b/sax/qa/cppunit/sax_cppunittester_all.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx
index 562b399..1d514f5 100644
--- a/sax/qa/cppunit/test_converter.cxx
+++ b/sax/qa/cppunit/test_converter.cxx
@@ -26,7 +26,9 @@
  *
  ************************************************************************/
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx
index 6406387..40e64ae 100644
--- a/sc/qa/unit/filters-test.cxx
+++ b/sc/qa/unit/filters-test.cxx
@@ -27,9 +27,14 @@
  * instead of those above.
  */
 
-#include <sal/cppunit.h>
-
 #include <sal/config.h>
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
+
 #include <osl/file.hxx>
 #include <osl/process.h>
 
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 8b30366..9b355dc 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -40,9 +40,14 @@
 //                 services we need, and in what .so they are implemented
 
 
-#include <sal/cppunit.h>
-
 #include <sal/config.h>
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
+
 #include <osl/file.hxx>
 #include <osl/process.h>
 
diff --git a/sd/qa/unit/uimpress.cxx b/sd/qa/unit/uimpress.cxx
index c34f724..9ac913b 100644
--- a/sd/qa/unit/uimpress.cxx
+++ b/sd/qa/unit/uimpress.cxx
@@ -27,9 +27,13 @@
  */
 
 #include "precompiled_sd.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
-#include <sal/config.h>
-#include <sal/cppunit.h>
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <cppuhelper/bootstrap.hxx>
 #include <comphelper/processfactory.hxx>
diff --git a/sfx2/qa/cppunit/test_metadatable.cxx b/sfx2/qa/cppunit/test_metadatable.cxx
index 4a94890..c17e82f 100644
--- a/sfx2/qa/cppunit/test_metadatable.cxx
+++ b/sfx2/qa/cppunit/test_metadatable.cxx
@@ -26,7 +26,14 @@
  *
  ************************************************************************/
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
+
 #include <rtl/ustrbuf.hxx>
 
 #include <com/sun/star/util/DateTime.hpp>
diff --git a/slideshow/test/slidetest.cxx b/slideshow/test/slidetest.cxx
index cfc5f60..bd70ff3 100644
--- a/slideshow/test/slidetest.cxx
+++ b/slideshow/test/slidetest.cxx
@@ -26,7 +26,13 @@
  *
  ************************************************************************/
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <cppuhelper/compbase1.hxx>
 #include <comphelper/broadcasthelper.hxx>
diff --git a/slideshow/test/testshape.cxx b/slideshow/test/testshape.cxx
index 4bd7b93..5f3f3f0 100644
--- a/slideshow/test/testshape.cxx
+++ b/slideshow/test/testshape.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/slideshow/test/testview.cxx b/slideshow/test/testview.cxx
index 7d40e03..3473f04 100644
--- a/slideshow/test/testview.cxx
+++ b/slideshow/test/testview.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/slideshow/test/views.cxx b/slideshow/test/views.cxx
index d27a55a..2e88ddd 100644
--- a/slideshow/test/views.cxx
+++ b/slideshow/test/views.cxx
@@ -26,6 +26,9 @@
  *
  ************************************************************************/
 
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/smoketestoo_native/smoketest.cxx b/smoketestoo_native/smoketest.cxx
index 447d12e..b77ed70 100644
--- a/smoketestoo_native/smoketest.cxx
+++ b/smoketestoo_native/smoketest.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "boost/noncopyable.hpp"
 #include "com/sun/star/awt/AsyncCallback.hpp"
@@ -49,11 +50,14 @@
 #include "com/sun/star/uno/Sequence.hxx"
 #include "com/sun/star/util/URL.hpp"
 #include "cppuhelper/implbase1.hxx"
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "osl/conditn.hxx"
 #include "osl/diagnose.h"
 #include "rtl/ustring.h"
 #include "rtl/ustring.hxx"
-#include "sal/cppunit.h"
 #include "test/gettestargument.hxx"
 #include "test/officeconnection.hxx"
 #include "test/oustringostreaminserter.hxx"
diff --git a/starmath/qa/cppunit/test_nodetotextvisitors.cxx b/starmath/qa/cppunit/test_nodetotextvisitors.cxx
index f7b282c..47f26b8 100644
--- a/starmath/qa/cppunit/test_nodetotextvisitors.cxx
+++ b/starmath/qa/cppunit/test_nodetotextvisitors.cxx
@@ -28,6 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_starmath.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestSuite.h>
 #include <cppunit/TestFixture.h>
diff --git a/starmath/qa/cppunit/test_starmath.cxx b/starmath/qa/cppunit/test_starmath.cxx
index 40e058b..93630c6 100644
--- a/starmath/qa/cppunit/test_starmath.cxx
+++ b/starmath/qa/cppunit/test_starmath.cxx
@@ -27,9 +27,13 @@
  */
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_starmath.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
-#include <sal/config.h>
-#include <sal/cppunit.h>
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <cppuhelper/bootstrap.hxx>
 #include <comphelper/processfactory.hxx>
diff --git a/svl/qa/test_URIHelper.cxx b/svl/qa/test_URIHelper.cxx
index c206def..e5d7c02 100644
--- a/svl/qa/test_URIHelper.cxx
+++ b/svl/qa/test_URIHelper.cxx
@@ -28,8 +28,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_svl.hxx"
-
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestSuite.h>
 #include <cppunit/TestFixture.h>
diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 201a20e..31484ea 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -27,6 +27,8 @@
  */
 
 #include "precompiled_svl.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #ifdef WNT
 # undef ERROR
diff --git a/svtools/qa/cppunit/filters-test.cxx b/svtools/qa/cppunit/filters-test.cxx
index 8181685..4cdd46f 100644
--- a/svtools/qa/cppunit/filters-test.cxx
+++ b/svtools/qa/cppunit/filters-test.cxx
@@ -27,8 +27,13 @@
  * instead of those above.
  */
 
-#include <sal/cppunit.h>
 #include <sal/config.h>
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <osl/file.hxx>
 #include <osl/process.h>
diff --git a/sw/qa/core/Test-BigPtrArray.cxx b/sw/qa/core/Test-BigPtrArray.cxx
index 0930e93..c3c1a37 100644
--- a/sw/qa/core/Test-BigPtrArray.cxx
+++ b/sw/qa/core/Test-BigPtrArray.cxx
@@ -28,15 +28,18 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sw.hxx"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 //#define TIMELOG for measuring performance
 
 #include <string.h>
 #include <stdlib.h>
 
-#include <sal/cppunit.h>
-
-#include <sal/config.h>
 #include <rtl/logfile.hxx>
 
 #include <bparr.hxx>
diff --git a/sw/qa/core/filters-test.cxx b/sw/qa/core/filters-test.cxx
index c9616ec..9084c1e 100644
--- a/sw/qa/core/filters-test.cxx
+++ b/sw/qa/core/filters-test.cxx
@@ -27,9 +27,14 @@
  * instead of those above.
  */
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
-#include <sal/config.h>
 #include <osl/file.hxx>
 #include <osl/process.h>
 
diff --git a/sw/qa/core/swdoc-test.cxx b/sw/qa/core/swdoc-test.cxx
index f87a2c2..903b6dd 100644
--- a/sw/qa/core/swdoc-test.cxx
+++ b/sw/qa/core/swdoc-test.cxx
@@ -27,9 +27,14 @@
  * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
  * instead of those above.
  */
-#include <sal/cppunit.h>
 
-#include <sal/config.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <osl/file.hxx>
 #include <osl/process.h>
diff --git a/test/source/cpp/officeconnection.cxx b/test/source/cpp/officeconnection.cxx
index 9225411..fe3ad5a 100644
--- a/test/source/cpp/officeconnection.cxx
+++ b/test/source/cpp/officeconnection.cxx
@@ -25,6 +25,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "com/sun/star/bridge/UnoUrlResolver.hpp"
 #include "com/sun/star/bridge/XUnoUrlResolver.hpp"
@@ -34,13 +35,11 @@
 #include "com/sun/star/uno/Reference.hxx"
 #include "com/sun/star/uno/XComponentContext.hpp"
 #include "cppuhelper/bootstrap.hxx"
-
 #include "cppunit/TestAssert.h"
-
 #include "osl/process.h"
 #include "osl/time.h"
+#include "sal/macros.h"
 #include "sal/types.h"
-#include <sal/macros.h>
 #include "test/officeconnection.hxx"
 #include "test/toabsolutefileurl.hxx"
 #include "test/uniquepipename.hxx"
diff --git a/test/source/cpp/uniquepipename.cxx b/test/source/cpp/uniquepipename.cxx
index 8cb409f..1725ca2 100644
--- a/test/source/cpp/uniquepipename.cxx
+++ b/test/source/cpp/uniquepipename.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include "cppunit/TestAssert.h"
 #include "osl/process.h"
diff --git a/test/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx b/test/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx
index ed2c4f7..7e7e000 100644
--- a/test/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx
+++ b/test/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx
@@ -26,6 +26,7 @@
 
 #include "precompiled_test.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <limits>
 #include <string>
@@ -35,6 +36,7 @@
 #include "com/sun/star/uno/Any.hxx"
 #include "com/sun/star/uno/Exception.hpp"
 #include "cppuhelper/exc_hlp.hxx"
+#include "cppunit/Message.h"
 #include "osl/thread.h"
 #include "rtl/string.hxx"
 #include "rtl/ustring.h"
@@ -42,7 +44,6 @@
 #include "sal/types.h"
 
 #include "protectorfactory.hxx"
-#include "cppunit/Message.h"
 
 namespace {
 
diff --git a/tools/qa/cppunit/test_pathutils.cxx b/tools/qa/cppunit/test_pathutils.cxx
index 842e659..6df1d49 100644
--- a/tools/qa/cppunit/test_pathutils.cxx
+++ b/tools/qa/cppunit/test_pathutils.cxx
@@ -27,10 +27,15 @@
  ************************************************************************/
 
 #include "precompiled_tools.hxx"
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cwchar>
 
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "tools/pathutils.hxx"
 
 namespace {
diff --git a/tools/qa/cppunit/test_reversemap.cxx b/tools/qa/cppunit/test_reversemap.cxx
index 92c349c..c2a6798 100644
--- a/tools/qa/cppunit/test_reversemap.cxx
+++ b/tools/qa/cppunit/test_reversemap.cxx
@@ -26,13 +26,18 @@
  * instead of those above.
  */
 
+#include "precompiled_tools.hxx"
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #ifdef IOS
 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_tools_reversemap
 #endif
 
-#include "precompiled_tools.hxx"
-#include <sal/cppunit.h>
-
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include <rtl/ustring.hxx>
 #include <vector>
 
diff --git a/tools/qa/cppunit/test_stream.cxx b/tools/qa/cppunit/test_stream.cxx
index 515952d..8cf46af 100644
--- a/tools/qa/cppunit/test_stream.cxx
+++ b/tools/qa/cppunit/test_stream.cxx
@@ -27,8 +27,13 @@
  */
 
 #include "precompiled_tools.hxx"
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include <tools/stream.hxx>
 #include <sstream>
 
diff --git a/tools/qa/cppunit/tools_cppunittester_all.cxx b/tools/qa/cppunit/tools_cppunittester_all.cxx
index dff2597..bf8c57d 100644
--- a/tools/qa/cppunit/tools_cppunittester_all.cxx
+++ b/tools/qa/cppunit/tools_cppunittester_all.cxx
@@ -27,6 +27,7 @@
 ************************************************************************/
 
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cstdlib>
 #include <iostream>
diff --git a/tools/qa/urlobj/tools_urlobj_test.cxx b/tools/qa/urlobj/tools_urlobj_test.cxx
index 4b476e7..0e9a16a 100644
--- a/tools/qa/urlobj/tools_urlobj_test.cxx
+++ b/tools/qa/urlobj/tools_urlobj_test.cxx
@@ -26,7 +26,8 @@
  * instead of those above.
  */
 
- #include <cppunit/simpleheader.hxx>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
  #include <urlobj.hxx>
 
diff --git a/tools/test/tests.cxx b/tools/test/tests.cxx
index a814fb2..4c4e21f 100644
--- a/tools/test/tests.cxx
+++ b/tools/test/tests.cxx
@@ -29,7 +29,8 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_tools.hxx"
-// autogenerated file with codegen.pl
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
 
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
index e995f73..0468c1d 100644
--- a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
+++ b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
@@ -1,9 +1,15 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 // autogenerated file with codegen.pl
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include <osl/process.h>
 #include <cppuhelper/bootstrap.hxx>
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include <ucbhelper/contentbroker.hxx>
 #include <com/sun/star/io/XInputStream.hpp>
 #include <com/sun/star/ucb/XSimpleFileAccess.hpp>
diff --git a/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx b/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx
index b9944bb..64e2fae 100644
--- a/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx
+++ b/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx
@@ -26,7 +26,13 @@
  * instead of those above.
  */
 
-#include <sal/cppunit.h>
+#include "sal/config.h"
+#include "sal/precppunit.hxx"
+
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 
 #include <cppuhelper/bootstrap.hxx>
 #include <comphelper/processfactory.hxx>
diff --git a/xmlsecurity/qa/certext/SanCertExt.cxx b/xmlsecurity/qa/certext/SanCertExt.cxx
index ef4d0a7..8a9d03a 100644
--- a/xmlsecurity/qa/certext/SanCertExt.cxx
+++ b/xmlsecurity/qa/certext/SanCertExt.cxx
@@ -27,6 +27,8 @@
 
 #include "precompiled_xmlsecurity.hxx"
 #include "sal/config.h"
+#include "sal/precppunit.hxx"
+
 #include "test/officeconnection.hxx"
 
 #include <com/sun/star/security/XSanExtension.hpp>
@@ -41,7 +43,10 @@
 #include "com/sun/star/uno/Reference.hxx"
 
 #include "cppuhelper/bootstrap.hxx"
-#include <sal/cppunit.h>
+#include "cppunit/TestAssert.h"
+#include "cppunit/TestFixture.h"
+#include "cppunit/extensions/HelperMacros.h"
+#include "cppunit/plugin/TestPlugIn.h"
 #include "sal/types.h"
 #include "comphelper/sequence.hxx"
 #include <rtl/ustring.hxx>
commit 52b32f617521fd160b043754f77f3a549fddc926
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Sep 12 15:21:17 2011 +0200

    sb140: #i114669# appears be duplicate of fixed i114718, so re-enabling test

diff --git a/forms/qa/unoapi/forms.sce b/forms/qa/unoapi/forms.sce
index 8ac840e..073472f 100644
--- a/forms/qa/unoapi/forms.sce
+++ b/forms/qa/unoapi/forms.sce
@@ -24,7 +24,7 @@
 -o forms.OImageButtonModel
 -o forms.OImageControlControl
 -o forms.OImageControlModel
-#i114669 -o forms.OListBoxControl
+-o forms.OListBoxControl
 -o forms.OListBoxModel
 -o forms.ONavigationBarControl
 -o forms.ONavigationBarModel
commit 23b04dae8b5ff6dbc4c4b63bfe08079ac6ed74ef
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Sep 12 15:13:28 2011 +0200

    sb140: #i117698# no implementations of XIdlClassProvider remain, so code that checks for it can be removed

diff --git a/basic/inc/pch/precompiled_basic.hxx b/basic/inc/pch/precompiled_basic.hxx
index 1b7a570..38f961c 100644
--- a/basic/inc/pch/precompiled_basic.hxx
+++ b/basic/inc/pch/precompiled_basic.hxx
@@ -85,7 +85,6 @@
 #include "com/sun/star/lang/XTypeProvider.hpp"
 #include "com/sun/star/reflection/XIdlArray.hpp"
 #include "com/sun/star/reflection/XIdlClass.hpp"
-#include "com/sun/star/reflection/XIdlClassProvider.hpp"
 #include "com/sun/star/reflection/XIdlReflection.hpp"
 #include "com/sun/star/reflection/XTypeDescription.hpp"
 #include "com/sun/star/registry/XImplementationRegistration.hpp"
diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx
index 360e78a..57ad90b 100644
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -68,7 +68,6 @@
 #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
 #include <com/sun/star/reflection/XIdlArray.hpp>
 #include <com/sun/star/reflection/XIdlReflection.hpp>
-#include <com/sun/star/reflection/XIdlClassProvider.hpp>
 #include <com/sun/star/reflection/XServiceConstructorDescription.hpp>
 #include <com/sun/star/bridge/oleautomation/NamedArgument.hpp>
 #include <com/sun/star/bridge/oleautomation/Date.hpp>
@@ -1834,8 +1833,6 @@ bool checkUnoObjectType( SbUnoObject* pUnoObj, const ::rtl::OUString& rClass )
         // get the interface from the Any
         const Reference< XInterface > x = *(Reference< XInterface >*)aToInspectObj.getValue();
 
-        // address the XIdlClassProvider-Interface
-        Reference< XIdlClassProvider > xClassProvider( x, UNO_QUERY );
         Reference< XTypeProvider > xTypeProvider( x, UNO_QUERY );
 
         aRet.appendAscii( "Supported interfaces by object " );
@@ -1867,11 +1864,6 @@ bool checkUnoObjectType( SbUnoObject* pUnoObj, const ::rtl::OUString& rClass )
                 }
             }
         }
-        else if( xClassProvider.is() )
-        {
-
-            OSL_FAIL( "XClassProvider not supported in UNO3" );
-        }
     }
     return aRet.makeStringAndClear();
 }
@@ -2441,27 +2433,6 @@ SbUnoObject::SbUnoObject( const rtl::OUString& aName_, const Any& aUnoObj_ )
     {
         // Interface works always through the type in the Any
         bFatalError = sal_False;
-
-        // Ask for the XIdlClassProvider-Interface
-        Reference< XIdlClassProvider > xClassProvider( x, UNO_QUERY );
-        if( xClassProvider.is() )
-        {
-            // Insert the real name of the class
-            if( aName_.getLength() == 0 )
-            {
-                Sequence< Reference< XIdlClass > > szClasses = xClassProvider->getIdlClasses();
-                sal_uInt32 nLen = szClasses.getLength();
-                if( nLen )
-                {
-                    const Reference< XIdlClass > xImplClass = szClasses.getConstArray()[ 0 ];
-                    if( xImplClass.is() )
-                    {
-                        aClassName_ = xImplClass->getName();
-                        bSetClassName = sal_True;
-                    }
-                }
-            }
-        }
     }
     if( bSetClassName )
         SetClassName( aClassName_ );
diff --git a/cppuhelper/test/testidlclass.cxx b/cppuhelper/test/testidlclass.cxx
index 48ee84e..85d3e7d 100644
--- a/cppuhelper/test/testidlclass.cxx
+++ b/cppuhelper/test/testidlclass.cxx
@@ -31,7 +31,6 @@
 
 #include <cppuhelper/stdidlclass.hxx>
 
-#include <com/sun/star/reflection/XIdlClassProvider.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 
 #include "testhelper.hxx"
@@ -59,29 +58,6 @@ void testidlclass( const Reference < XMultiServiceFactory > &rSMgr)
                                             );
 
     OSL_ASSERT( r.is() );
-
-
-    {  // test the xidlclassprovider interface !
-        Reference< XIdlClassProvider > rProv( r , UNO_QUERY );
-        OSL_ASSERT( rProv.is() );
-
-        {
-            Sequence < Reference < XIdlClass > > seq = rProv->getIdlClasses();
-
-            // is always one
-            OSL_ASSERT( seq.getLength() == 1 );
-
-            // test the weak reference
-            rProv->getIdlClasses();
-
-        }
-
-        rProv->getIdlClasses();
-
-
-    }
-
-
     OSL_ASSERT( r->getName() == sImplName );
 
     // test equals
diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index 96c3d30..acc4d10 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -42,7 +42,6 @@
 #include <com/sun/star/lang/XSingleServiceFactory.hpp>
 #include <com/sun/star/lang/XSingleComponentFactory.hpp>
 #include <com/sun/star/reflection/XIdlClass.hpp>
-#include <com/sun/star/reflection/XIdlClassProvider.hpp>
 #include <com/sun/star/beans/XIntrospectionAccess.hpp>
 #include <com/sun/star/beans/XIntrospection.hpp>
 #include <com/sun/star/beans/MethodConcept.hpp>
@@ -878,8 +877,6 @@ void ScUnoAddInCollection::ReadFromAddIn( const uno::Reference<uno::XInterface>&
                                         IsTypeName( sName,
                                             getCppuType((uno::Reference<uno::XInterface>*)0) ) ||
                                         IsTypeName( sName,
-                                            getCppuType((uno::Reference<reflection::XIdlClassProvider>*)0) ) ||
-                                        IsTypeName( sName,
                                             getCppuType((uno::Reference<lang::XServiceName>*)0) ) ||
                                         IsTypeName( sName,
                                             getCppuType((uno::Reference<lang::XServiceInfo>*)0) ) ||
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index acc443d..ba36c90 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -64,7 +64,6 @@
 #include <com/sun/star/document/XDocumentEventBroadcaster.hpp>
 #include <com/sun/star/script/XInvocation.hpp>
 #include <com/sun/star/script/vba/XVBAEventProcessor.hpp>
-#include <com/sun/star/reflection/XIdlClassProvider.hpp>
 #include <comphelper/processfactory.hxx>
 #include <comphelper/servicehelper.hxx>
 #include <comphelper/string.hxx>
@@ -471,7 +470,6 @@ uno::Any SAL_CALL ScModelObj::queryInterface( const uno::Type& rType )
         && rType != ::getCppuType((uno::Reference< com::sun::star::frame::XController>*)0)
         && rType != ::getCppuType((uno::Reference< com::sun::star::frame::XFrame>*)0)
         && rType != ::getCppuType((uno::Reference< com::sun::star::script::XInvocation>*)0)
-        && rType != ::getCppuType((uno::Reference< com::sun::star::reflection::XIdlClassProvider>*)0)
         && rType != ::getCppuType((uno::Reference< com::sun::star::beans::XFastPropertySet>*)0)
         && rType != ::getCppuType((uno::Reference< com::sun::star::awt::XWindow>*)0))
     {
diff --git a/stoc/inc/pch/precompiled_stoc.hxx b/stoc/inc/pch/precompiled_stoc.hxx
index 3e0b4d6..29d7fe6 100644
--- a/stoc/inc/pch/precompiled_stoc.hxx
+++ b/stoc/inc/pch/precompiled_stoc.hxx
@@ -125,7 +125,6 @@
 #include "com/sun/star/reflection/XEnumTypeDescription.hpp"
 #include "com/sun/star/reflection/XIdlArray.hpp"
 #include "com/sun/star/reflection/XIdlClass.hpp"
-#include "com/sun/star/reflection/XIdlClassProvider.hpp"
 #include "com/sun/star/reflection/XIdlField.hpp"
 #include "com/sun/star/reflection/XIdlField2.hpp"
 #include "com/sun/star/reflection/XIdlMember.hpp"
diff --git a/stoc/source/corereflection/corefl.xml b/stoc/source/corereflection/corefl.xml
index 5dba80b..521ba43 100644
--- a/stoc/source/corereflection/corefl.xml
+++ b/stoc/source/corereflection/corefl.xml
@@ -6,7 +6,6 @@
         <author> Daniel Boelzle </author>
         <name>  com.sun.star.comp.stoc.CoreReflection   </name>
         <description>
-This service is the implementation of XIdlClassProvider.
 The service provides reflection and access to all uno types
 (interfaces, structs, enums, ...).
 </description>
diff --git a/stoc/source/inspect/insp.xml b/stoc/source/inspect/insp.xml
index 48b46d2..7170f0f 100644
--- a/stoc/source/inspect/insp.xml
+++ b/stoc/source/inspect/insp.xml
@@ -44,7 +44,6 @@
         <type>  com.sun.star.container.XNameContainer           </type>
         <type>  com.sun.star.container.XIndexContainer          </type>
         <type>  com.sun.star.reflection.XIdlReflection          </type>
-        <type>  com.sun.star.reflection.XIdlClassProvider       </type>
         <type>  com.sun.star.reflection.XIdlClass               </type>
         <type>  com.sun.star.reflection.XIdlField2              </type>
         <type>  com.sun.star.reflection.XIdlArray               </type>
diff --git a/stoc/source/inspect/introspection.cxx b/stoc/source/inspect/introspection.cxx
index 50be566..253b0f4 100644
--- a/stoc/source/inspect/introspection.cxx
+++ b/stoc/source/inspect/introspection.cxx
@@ -53,7 +53,6 @@
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/lang/XEventListener.hpp>
 #include <com/sun/star/reflection/XIdlReflection.hpp>
-#include <com/sun/star/reflection/XIdlClassProvider.hpp>
 #include <com/sun/star/reflection/XIdlClass.hpp>
 #include <com/sun/star/reflection/XIdlField2.hpp>
 #include <com/sun/star/beans/UnknownPropertyException.hpp>
@@ -2054,16 +2053,14 @@ IntrospectionAccessStatic_Impl* ImplIntrospection::implInspect(const Any& aToIns
     // Pruefen: Ist schon ein passendes Access-Objekt gecached?
     Sequence< Reference<XIdlClass> >    SupportedClassSeq;
     Sequence< Type >                    SupportedTypesSeq;
-    Reference<XIdlClassProvider>        xClassProvider;
     Reference<XTypeProvider>            xTypeProvider;
     Reference<XIdlClass>                xImplClass;
     Reference<XPropertySetInfo>         xPropSetInfo;
     Reference<XPropertySet>             xPropSet;
 
-    // Bei Interfaces XTypeProvider / XIdlClassProvider- und PropertySet-Interface anfordern
+	// Bei Interfaces XTypeProvider- und PropertySet-Interface anfordern
     if( eType == TypeClass_INTERFACE )
     {
-        // XIdlClassProvider
         xTypeProvider = Reference<XTypeProvider>::query( x );
         if( xTypeProvider.is() )
         {
@@ -2084,19 +2081,6 @@ IntrospectionAccessStatic_Impl* ImplIntrospection::implInspect(const Any& aToIns
         }
         else
         {
-            // XIdlClassProvider
-            xClassProvider = Reference<XIdlClassProvider>::query( x );
-            if( xClassProvider.is() )
-            {
-                SupportedClassSeq = xClassProvider->getIdlClasses();
-                if( SupportedClassSeq.getLength() )
-                    xImplClass = SupportedClassSeq.getConstArray()[0];
-            }
-        }
-        // #70197, fuer InvocationAdapter: Interface-Typ im Any auch ohne
-        // ClassProvider unterstuetzen
-        if( !xClassProvider.is() && !xTypeProvider.is() )
-        {
             xImplClass = TypeToIdlClass( aToInspectObj.getValueType(), m_xSMgr );
             SupportedClassSeq.realloc( 1 );
             SupportedClassSeq.getArray()[ 0 ] = xImplClass;
@@ -2314,655 +2298,644 @@ IntrospectionAccessStatic_Impl* ImplIntrospection::implInspect(const Any& aToIns
             }
         }
 
+        // Indizes in die Export-Tabellen
+        sal_Int32 iAllExportedMethod = 0;
+        sal_Int32 iAllSupportedListener = 0;
 
-        // Jetzt alle weiteren implementierten Interfaces durchgehen
-        // Diese muessen durch das XIdlClassProvider-Interface geliefert werden.
-        // #70197, fuer InvocationAdapter: Interface-Typ im Any auch ohne
-        // ClassProvider unterstuetzen
-        //if( xClassProvider.is() )
-        {
-            // Indizes in die Export-Tabellen
-            sal_Int32 iAllExportedMethod = 0;
-            sal_Int32 iAllSupportedListener = 0;
-
-            // Hashtable fuer Pruefung auf mehrfache Beruecksichtigung von Interfaces
-            CheckedInterfacesMap aCheckedInterfacesMap;
+        // Hashtable fuer Pruefung auf mehrfache Beruecksichtigung von Interfaces
+        CheckedInterfacesMap aCheckedInterfacesMap;
 
-            // Flag, ob XInterface-Methoden erfasst werden sollen
-            // (das darf nur einmal erfolgen, initial zulassen)
-            sal_Bool bXInterfaceIsInvalid = sal_False;
+        // Flag, ob XInterface-Methoden erfasst werden sollen
+        // (das darf nur einmal erfolgen, initial zulassen)
+        sal_Bool bXInterfaceIsInvalid = sal_False;
 
-            // Flag, ob die XInterface-Methoden schon erfasst wurden. Wenn sal_True,
-            // wird bXInterfaceIsInvalid am Ende der Iface-Schleife aktiviert und
-            // XInterface-Methoden werden danach abgeklemmt.
-            sal_Bool bFoundXInterface = sal_False;
+        // Flag, ob die XInterface-Methoden schon erfasst wurden. Wenn sal_True, 
+        // wird bXInterfaceIsInvalid am Ende der Iface-Schleife aktiviert und 
+        // XInterface-Methoden werden danach abgeklemmt.
+        sal_Bool bFoundXInterface = sal_False;
 
-            // Schleife ueber alle vom ClassProvider angegebenen Klassen
-            sal_Int32 nClassCount = SupportedClassSeq.getLength();
-            for( sal_Int32 nIdx = 0 ; nIdx < nClassCount; nIdx++ )
+        sal_Int32 nClassCount = SupportedClassSeq.getLength();
+        for( sal_Int32 nIdx = 0 ; nIdx < nClassCount; nIdx++ )
+        {
+            Reference<XIdlClass> xImplClass2 = SupportedClassSeq.getConstArray()[nIdx];
+            while( xImplClass2.is() )
             {
-                Reference<XIdlClass> xImplClass2 = SupportedClassSeq.getConstArray()[nIdx];
-                while( xImplClass2.is() )
-                {
-                    // Interfaces der Implementation holen
-                    Sequence< Reference<XIdlClass> > aClassSeq = xImplClass2->getInterfaces();
-                    sal_Int32 nIfaceCount = aClassSeq.getLength();
+                // Interfaces der Implementation holen
+                Sequence< Reference<XIdlClass> > aClassSeq = xImplClass2->getInterfaces();
+                sal_Int32 nIfaceCount = aClassSeq.getLength();
 
-                    aClassSeq.realloc( nIfaceCount + 1 );
-                    aClassSeq.getArray()[ nIfaceCount ] = xImplClass2;
-                    nIfaceCount++;
+                aClassSeq.realloc( nIfaceCount + 1 );
+                aClassSeq.getArray()[ nIfaceCount ] = xImplClass2;
+                nIfaceCount++;
 
-                    const Reference<XIdlClass>* pParamArray = aClassSeq.getConstArray();
+                const Reference<XIdlClass>* pParamArray = aClassSeq.getConstArray();
 
-                    for( sal_Int32 j = 0 ; j < nIfaceCount ; j++ )
-                    {
-                        const Reference<XIdlClass>& rxIfaceClass = pParamArray[j];
+                for( sal_Int32 j = 0 ; j < nIfaceCount ; j++ )
+                {
+                    const Reference<XIdlClass>& rxIfaceClass = pParamArray[j];
 
-                        // Pruefen, ob das Interface schon beruecksichtigt wurde.
-                        XInterface* pIface = SAL_STATIC_CAST( XInterface*, rxIfaceClass.get() );
-                        if( aCheckedInterfacesMap.count( pIface ) > 0 )
-                        {
-                            // Kennen wir schon
-                            continue;
-                        }
-                        else
-                        {
-                            // Sonst eintragen
-                            aCheckedInterfacesMap[ pIface ] = pIface;
-                        }
+                    // Pruefen, ob das Interface schon beruecksichtigt wurde. 
+                    XInterface* pIface = SAL_STATIC_CAST( XInterface*, rxIfaceClass.get() );
+                    if( aCheckedInterfacesMap.count( pIface ) > 0 )
+                    {
+                        // Kennen wir schon
+                        continue;
+                    }
+                    else
+                    {
+                        // Sonst eintragen
+                        aCheckedInterfacesMap[ pIface ] = pIface;
+                    }
 
-                        //********************************************************************
+                    //********************************************************************
 
-                        // 2. Fields als Properties registrieren
+                    // 2. Fields als Properties registrieren
 
-                        // Felder holen
-                        Sequence< Reference<XIdlField> > fields = rxIfaceClass->getFields();
-                        const Reference<XIdlField>* pFields = fields.getConstArray();
-                        sal_Int32 nLen = fields.getLength();
+                    // Felder holen
+                    Sequence< Reference<XIdlField> > fields = rxIfaceClass->getFields();
+                    const Reference<XIdlField>* pFields = fields.getConstArray();
+                    sal_Int32 nLen = fields.getLength();
 
-                        for( i = 0 ; i < nLen ; i++ )
+                    for( i = 0 ; i < nLen ; i++ )
+                    {
+                        Reference<XIdlField> xField = pFields[i];
+                        Reference<XIdlClass> xPropType = xField->getType();
+
+                        // Ist die PropertySequence gross genug?
+                        pAccess->checkPropertyArraysSize
+                            ( pAllPropArray, pMapTypeArray, pPropertyConceptArray, rPropCount );
+
+                        // In eigenes Property-Array eintragen
+                        Property& rProp = pAllPropArray[ rPropCount ];
+                        OUString aFieldName = xField->getName();
+                        rProp.Name = aFieldName;
+                        rProp.Handle = rPropCount;
+                        Type aFieldType( xPropType->getTypeClass(), xPropType->getName() );
+                        rProp.Type = aFieldType;
+                        FieldAccessMode eAccessMode = xField->getAccessMode();
+                        rProp.Attributes = (eAccessMode == FieldAccessMode_READONLY || 
+                                            eAccessMode == FieldAccessMode_CONST) 
+                            ? READONLY : 0;
+
+                        // Namen in Hashtable eintragen
+                        OUString aPropName = rProp.Name;
+
+                        // Haben wir den Namen schon?
+                        IntrospectionNameMap::iterator aIt = rPropNameMap.find( aPropName );
+                        if( !( aIt == rPropNameMap.end() ) )
                         {
-                            Reference<XIdlField> xField = pFields[i];
-                            Reference<XIdlClass> xPropType = xField->getType();
-
-                            // Ist die PropertySequence gross genug?
-                            pAccess->checkPropertyArraysSize
-                                ( pAllPropArray, pMapTypeArray, pPropertyConceptArray, rPropCount );
-
-                            // In eigenes Property-Array eintragen
-                            Property& rProp = pAllPropArray[ rPropCount ];
-                            OUString aFieldName = xField->getName();
-                            rProp.Name = aFieldName;
-                            rProp.Handle = rPropCount;
-                            Type aFieldType( xPropType->getTypeClass(), xPropType->getName() );
-                            rProp.Type = aFieldType;
-                            FieldAccessMode eAccessMode = xField->getAccessMode();
-                            rProp.Attributes = (eAccessMode == FieldAccessMode_READONLY ||
-                                                eAccessMode == FieldAccessMode_CONST)
-                                                ? READONLY : 0;
+                            /* TODO
+                               OSL_TRACE( 
+                               String( "Introspection: Property \"" ) + 
+                               OOUStringToString( aPropName, CHARSET_SYSTEM ) +
+                               String( "\" found more than once" ) );
+                            */
+                            continue;
+                        }
 
-                            // Namen in Hashtable eintragen
-                            OUString aPropName = rProp.Name;
+                        // Neuer Eintrag in die Hashtable
+                        rPropNameMap[ aPropName ] = rPropCount;
 
-                            // Haben wir den Namen schon?
-                            IntrospectionNameMap::iterator aIt = rPropNameMap.find( aPropName );
-                            if( !( aIt == rPropNameMap.end() ) )
-                            {
-                                /* TODO
-                                OSL_TRACE(
-                                    String( "Introspection: Property \"" ) +
-                                    OOUStringToString( aPropName, CHARSET_SYSTEM ) +
-                                    String( "\" found more than once" ) );
-                                    */
-                                continue;
-                            }
+                        // Tabelle fuer XExactName pflegen
+                        rLowerToExactNameMap[ toLower( aPropName ) ] = aPropName;
 
-                            // Neuer Eintrag in die Hashtable
-                            rPropNameMap[ aPropName ] = rPropCount;
+                        // Field merken
+                        pAccess->checkInterfaceArraySize( pAccess->aInterfaceSeq1, 
+                                                          pInterfaces1, rPropCount );
+                        pInterfaces1[ rPropCount ] = xField;
 
-                            // Tabelle fuer XExactName pflegen
-                            rLowerToExactNameMap[ toLower( aPropName ) ] = aPropName;
+                        // Art der Property merken
+                        pMapTypeArray[ rPropCount ] = MAP_FIELD;
+                        pPropertyConceptArray[ rPropCount ] = ATTRIBUTES;
+                        pAccess->mnAttributePropCount++;
 
-                            // Field merken
-                            pAccess->checkInterfaceArraySize( pAccess->aInterfaceSeq1,
-                                pInterfaces1, rPropCount );
-                            pInterfaces1[ rPropCount ] = xField;
+                        // Count pflegen
+                        rPropCount++;
+                    }
 
-                            // Art der Property merken
-                            pMapTypeArray[ rPropCount ] = MAP_FIELD;
-                            pPropertyConceptArray[ rPropCount ] = ATTRIBUTES;
-                            pAccess->mnAttributePropCount++;
+                    //********************************************************************
 
-                            // Count pflegen
-                            rPropCount++;
-                        }
+                    // 3. Methoden
 
-                        //********************************************************************
+                    // Zaehler fuer die gefundenen Listener
+                    sal_Int32 nListenerCount = 0;
 
-                        // 3. Methoden
+                    // Alle Methoden holen und merken
+                    Sequence< Reference<XIdlMethod> > methods = rxIfaceClass->getMethods();
+                    const Reference<XIdlMethod>* pSourceMethods = methods.getConstArray();
+                    sal_Int32 nSourceMethodCount = methods.getLength();
 
-                        // Zaehler fuer die gefundenen Listener
-                        sal_Int32 nListenerCount = 0;
+                    // 3. a) get/set- und Listener-Methoden suchen
 
-                        // Alle Methoden holen und merken
-                        Sequence< Reference<XIdlMethod> > methods = rxIfaceClass->getMethods();
-                        const Reference<XIdlMethod>* pSourceMethods = methods.getConstArray();
-                        sal_Int32 nSourceMethodCount = methods.getLength();
+                    // Feld fuer Infos ueber die Methoden anlegen, damit spaeter leicht die Methoden 
+                    // gefunden werden koennen, die nicht im Zusammenhang mit Properties oder Listenern 
+                    // stehen. NEU: auch MethodConceptArray initialisieren
+                    MethodType* pMethodTypes = new MethodType[ nSourceMethodCount ];
+                    sal_Int32* pLocalMethodConcepts = new sal_Int32[ nSourceMethodCount ];
+                    for( i = 0 ; i < nSourceMethodCount ; i++ )
+                    {
+                        pMethodTypes[ i ] = STANDARD_METHOD;
+                        pLocalMethodConcepts[ i ] = 0;
+                    }
 
-                        // 3. a) get/set- und Listener-Methoden suchen
+                    OUString aMethName;
+                    OUString aPropName;
+                    OUString aStartStr;
+                    for( i = 0 ; i < nSourceMethodCount ; i++ )
+                    {
+                        // Methode ansprechen
+                        const Reference<XIdlMethod>& rxMethod_i = pSourceMethods[i];
+                        sal_Int32& rMethodConcept_i = pLocalMethodConcepts[ i ];
 
-                        // Feld fuer Infos ueber die Methoden anlegen, damit spaeter leicht die Methoden
-                        // gefunden werden koennen, die nicht im Zusammenhang mit Properties oder Listenern
-                        // stehen. NEU: auch MethodConceptArray initialisieren
-                        MethodType* pMethodTypes = new MethodType[ nSourceMethodCount ];
-                        sal_Int32* pLocalMethodConcepts = new sal_Int32[ nSourceMethodCount ];
-                        for( i = 0 ; i < nSourceMethodCount ; i++ )
-                        {
-                            pMethodTypes[ i ] = STANDARD_METHOD;
-                            pLocalMethodConcepts[ i ] = 0;
-                        }
+                        // Namen besorgen
+                        aMethName = rxMethod_i->getName();
 
-                        OUString aMethName;
-                        OUString aPropName;
-                        OUString aStartStr;
-                        for( i = 0 ; i < nSourceMethodCount ; i++ )
+                        // Methoden katalogisieren
+                        // Alle (?) Methoden von XInterface filtern, damit z.B. nicht 
+                        // vom Scripting aus aquire oder release gerufen werden kann
+                        if( rxMethod_i->getDeclaringClass()->equals( mxInterfaceClass ) )
                         {
-                            // Methode ansprechen
-                            const Reference<XIdlMethod>& rxMethod_i = pSourceMethods[i];
-                            sal_Int32& rMethodConcept_i = pLocalMethodConcepts[ i ];
-
-                            // Namen besorgen
-                            aMethName = rxMethod_i->getName();
+                            // XInterface-Methoden sind hiermit einmal beruecksichtigt
+                            bFoundXInterface = sal_True;
 
-                            // Methoden katalogisieren
-                            // Alle (?) Methoden von XInterface filtern, damit z.B. nicht
-                            // vom Scripting aus aquire oder release gerufen werden kann
-                            if( rxMethod_i->getDeclaringClass()->equals( mxInterfaceClass ) )
+                            if( bXInterfaceIsInvalid )
                             {
-                                // XInterface-Methoden sind hiermit einmal beruecksichtigt
-                                bFoundXInterface = sal_True;
-

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list