From 3795904a00740124c23b1ab88b2d8da2ce2a6e55 Mon Sep 17 00:00:00 2001 From: huguesdpdn-aerospace Date: Fri, 6 Sep 2024 23:23:07 +0200 Subject: [PATCH] PD: Xerces-C++ - Prepare for the latest version (backward compatible) --- src/App/Metadata.cpp | 5 +++++ src/App/MetadataPyImp.cpp | 5 +++++ src/App/ProjectFile.cpp | 5 +++++ src/App/ProjectFile.h | 6 ++++++ src/Base/InputSource.cpp | 6 +++++- src/Base/InputSource.h | 10 +++++++++- src/Base/Parameter.cpp | 7 +++++-- src/Base/Parameter.h | 14 +++++++++++++- src/Base/Reader.cpp | 6 +++++- src/Base/Reader.h | 11 ++++++++++- src/Base/XMLTools.cpp | 5 +++++ src/Base/XMLTools.h | 12 +++++++++++- src/Mod/Mesh/App/Core/IO/Reader3MF.cpp | 5 +++++ src/Mod/Mesh/App/Core/IO/Reader3MF.h | 10 ++++++++++ tests/src/App/Metadata.cpp | 5 +++-- tests/src/Base/Reader.cpp | 3 ++- 16 files changed, 104 insertions(+), 11 deletions(-) diff --git a/src/App/Metadata.cpp b/src/App/Metadata.cpp index 5bf2dbb23b7c..1a70438e23ce 100644 --- a/src/App/Metadata.cpp +++ b/src/App/Metadata.cpp @@ -58,7 +58,12 @@ directly. If you did not intend to use a system-defined macro using namespace App; namespace fs = boost::filesystem; +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif namespace MetadataInternal { diff --git a/src/App/MetadataPyImp.cpp b/src/App/MetadataPyImp.cpp index 9ad1fd79adf5..a2241a0e6e67 100644 --- a/src/App/MetadataPyImp.cpp +++ b/src/App/MetadataPyImp.cpp @@ -30,7 +30,12 @@ #include "MetadataPy.cpp" using namespace Base; +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif // Returns a string which represents the object e.g. when printed in Python std::string MetadataPy::representation() const diff --git a/src/App/ProjectFile.cpp b/src/App/ProjectFile.cpp index 316d18568940..b87fa0394f3d 100644 --- a/src/App/ProjectFile.cpp +++ b/src/App/ProjectFile.cpp @@ -56,7 +56,12 @@ #include #include +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif using namespace App; namespace { diff --git a/src/App/ProjectFile.h b/src/App/ProjectFile.h index b0b30038dc12..f2423f7d08ec 100644 --- a/src/App/ProjectFile.h +++ b/src/App/ProjectFile.h @@ -32,11 +32,17 @@ #include #include +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +namespace XERCES_CPP_NAMESPACE { class DOMNode; class DOMElement; class DOMDocument; } +#else XERCES_CPP_NAMESPACE_BEGIN class DOMDocument; class DOMElement; class DOMNode; XERCES_CPP_NAMESPACE_END +#endif namespace App { diff --git a/src/Base/InputSource.cpp b/src/Base/InputSource.cpp index 6946d56d9f9c..9ed9f294bdab 100644 --- a/src/Base/InputSource.cpp +++ b/src/Base/InputSource.cpp @@ -35,8 +35,12 @@ #include "InputSource.h" #include "XMLTools.h" - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif using namespace Base; using namespace std; diff --git a/src/Base/InputSource.h b/src/Base/InputSource.h index de8dd61d3a4b..d042a19a0cfc 100644 --- a/src/Base/InputSource.h +++ b/src/Base/InputSource.h @@ -32,10 +32,18 @@ #include #endif - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +namespace XERCES_CPP_NAMESPACE +{ +class BinInputStream; +} +#else XERCES_CPP_NAMESPACE_BEGIN class BinInputStream; XERCES_CPP_NAMESPACE_END +#endif namespace Base { diff --git a/src/Base/Parameter.cpp b/src/Base/Parameter.cpp index 6ce71df9c603..5bff9473170d 100644 --- a/src/Base/Parameter.cpp +++ b/src/Base/Parameter.cpp @@ -60,8 +60,12 @@ FC_LOG_LEVEL_INIT("Parameter", true, true) - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif using namespace Base; @@ -77,7 +81,6 @@ using namespace Base; // - XStr //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - class DOMTreeErrorReporter: public ErrorHandler { public: diff --git a/src/Base/Parameter.h b/src/Base/Parameter.h index 5f967ba6927e..92a9fcb7d413 100644 --- a/src/Base/Parameter.h +++ b/src/Base/Parameter.h @@ -65,7 +65,18 @@ using PyObject = struct _object; #pragma warning(disable : 4275) #endif - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +namespace XERCES_CPP_NAMESPACE +{ +class DOMNode; +class DOMElement; +class DOMDocument; +class XMLFormatTarget; +class InputSource; +} // namespace XERCES_CPP_NAMESPACE +#else XERCES_CPP_NAMESPACE_BEGIN class DOMNode; class DOMElement; @@ -73,6 +84,7 @@ class DOMDocument; class XMLFormatTarget; class InputSource; XERCES_CPP_NAMESPACE_END +#endif class ParameterManager; diff --git a/src/Base/Reader.cpp b/src/Base/Reader.cpp index 20b615bedebe..2116afbed302 100644 --- a/src/Base/Reader.cpp +++ b/src/Base/Reader.cpp @@ -46,8 +46,12 @@ #include #include - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif using namespace std; diff --git a/src/Base/Reader.h b/src/Base/Reader.h index 23cb2bf96217..81b546e93f4c 100644 --- a/src/Base/Reader.h +++ b/src/Base/Reader.h @@ -42,11 +42,20 @@ namespace zipios { class ZipInputStream; } - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +namespace XERCES_CPP_NAMESPACE +{ +class DefaultHandler; +class SAX2XMLReader; +} // namespace XERCES_CPP_NAMESPACE +#else XERCES_CPP_NAMESPACE_BEGIN class DefaultHandler; class SAX2XMLReader; XERCES_CPP_NAMESPACE_END +#endif namespace Base { diff --git a/src/Base/XMLTools.cpp b/src/Base/XMLTools.cpp index 930e4f7a417f..e1daf57a8b65 100644 --- a/src/Base/XMLTools.cpp +++ b/src/Base/XMLTools.cpp @@ -26,7 +26,12 @@ #include "XMLTools.h" using namespace Base; +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif std::unique_ptr XMLTools::transcoder; // NOLINT diff --git a/src/Base/XMLTools.h b/src/Base/XMLTools.h index caab71235a2d..798b975d8c05 100644 --- a/src/Base/XMLTools.h +++ b/src/Base/XMLTools.h @@ -31,12 +31,22 @@ #include - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +namespace XERCES_CPP_NAMESPACE +{ +class DOMNode; +class DOMElement; +class DOMDocument; +} // namespace XERCES_CPP_NAMESPACE +#else XERCES_CPP_NAMESPACE_BEGIN class DOMNode; class DOMElement; class DOMDocument; XERCES_CPP_NAMESPACE_END +#endif // Helper class class BaseExport XMLTools diff --git a/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp b/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp index 5bd217a3cc4e..63d4d0cf7bb2 100644 --- a/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp +++ b/src/Mod/Mesh/App/Core/IO/Reader3MF.cpp @@ -41,7 +41,12 @@ using namespace MeshCore; +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif Reader3MF::Reader3MF(std::istream& str) { diff --git a/src/Mod/Mesh/App/Core/IO/Reader3MF.h b/src/Mod/Mesh/App/Core/IO/Reader3MF.h index 93c705b940e5..13c837d2fe7c 100644 --- a/src/Mod/Mesh/App/Core/IO/Reader3MF.h +++ b/src/Mod/Mesh/App/Core/IO/Reader3MF.h @@ -31,10 +31,20 @@ #include #include +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +namespace XERCES_CPP_NAMESPACE +{ +class DOMDocument; +class DOMNodeList; +} // namespace XERCES_CPP_NAMESPACE +#else XERCES_CPP_NAMESPACE_BEGIN class DOMDocument; class DOMNodeList; XERCES_CPP_NAMESPACE_END +#endif namespace MeshCore { diff --git a/tests/src/App/Metadata.cpp b/tests/src/App/Metadata.cpp index 7d57fb09fe7a..c444b4eb7571 100644 --- a/tests/src/App/Metadata.cpp +++ b/tests/src/App/Metadata.cpp @@ -24,6 +24,7 @@ #include #include "App/Metadata.h" +#include // NOLINTBEGIN(readability-named-parameter) @@ -192,11 +193,11 @@ class MetadataTest: public ::testing::Test protected: void SetUp() override { - xercesc_3_2::XMLPlatformUtils::Initialize(); + XERCES_CPP_NAMESPACE::XMLPlatformUtils::Initialize(); } void TearDown() override { - xercesc_3_2::XMLPlatformUtils::Terminate(); + XERCES_CPP_NAMESPACE::XMLPlatformUtils::Terminate(); } std::string GivenSimpleMetadataXMLString() { diff --git a/tests/src/Base/Reader.cpp b/tests/src/Base/Reader.cpp index c662fa608aa1..79038059d077 100644 --- a/tests/src/Base/Reader.cpp +++ b/tests/src/Base/Reader.cpp @@ -11,6 +11,7 @@ #include #include #include +#include namespace fs = boost::filesystem; @@ -19,7 +20,7 @@ class ReaderTest: public ::testing::Test protected: void SetUp() override { - xercesc_3_2::XMLPlatformUtils::Initialize(); + XERCES_CPP_NAMESPACE::XMLPlatformUtils::Initialize(); _tempDir = fs::temp_directory_path(); std::string filename = "unit_test_Reader.xml"; _tempFile = _tempDir / filename;