diff --git a/src/App/Metadata.cpp b/src/App/Metadata.cpp index 05d58b4..bac6822 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 d3708ad..be478d6 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/Base/InputSource.cpp b/src/Base/InputSource.cpp index 0c4039a..bf73486 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 321b741..9969f6b 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 93d45a9..5af8fb7 100644 --- a/src/Base/Parameter.cpp +++ b/src/Base/Parameter.cpp @@ -54,11 +54,12 @@ FC_LOG_LEVEL_INIT("Parameter", true, true) -//#ifdef XERCES_HAS_CPP_NAMESPACE -// using namespace xercesc; -//#endif - +#ifndef XERCES_CPP_NAMESPACE_BEGIN +#define XERCES_CPP_NAMESPACE_QUALIFIER +using namespace XERCES_CPP_NAMESPACE; +#else XERCES_CPP_NAMESPACE_USE +#endif using namespace Base; diff --git a/src/Base/Parameter.h b/src/Base/Parameter.h index 72a2391..71f38a7 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 3231d26..8d5f889 100644 --- a/src/Base/Reader.cpp +++ b/src/Base/Reader.cpp @@ -45,8 +45,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 aa66f53..be6943e 100644 --- a/src/Base/Reader.h +++ b/src/Base/Reader.h @@ -41,11 +41,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 84b5a8e..7fe8d14 100644 --- a/src/Base/XMLTools.cpp +++ b/src/Base/XMLTools.cpp @@ -26,15 +26,21 @@ #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; +std::unique_ptr XMLTools::transcoder; void XMLTools::initialize() { - XERCES_CPP_NAMESPACE_USE; if (!transcoder.get()) { XMLTransService::Codes res; - transcoder.reset(XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgTransService->makeNewTranscoderFor(XERCES_CPP_NAMESPACE_QUALIFIER XMLRecognizer::UTF_8, res, 4096, XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager)); + transcoder.reset(XMLPlatformUtils::fgTransService->makeNewTranscoderFor(XMLRecognizer::UTF_8, res, 4096, XMLPlatformUtils::fgMemoryManager)); if (res != XMLTransService::Ok) throw Base::UnicodeError("Can\'t create transcoder"); } @@ -44,7 +50,6 @@ std::string XMLTools::toStdString(const XMLCh* const toTranscode) { std::string str; - XERCES_CPP_NAMESPACE_USE; initialize(); //char outBuff[128]; @@ -75,7 +80,6 @@ std::basic_string XMLTools::toXMLString(const char* const fromTranscode) if (!fromTranscode) return str; - XERCES_CPP_NAMESPACE_USE; initialize(); static XMLCh outBuff[128]; diff --git a/src/Base/XMLTools.h b/src/Base/XMLTools.h index d0dc66c..1a0e083 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 5dbe53d..a7e7742 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 439e70d..7f54495 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 fa045cc..b91e4ad 100644 --- a/tests/src/App/Metadata.cpp +++ b/tests/src/App/Metadata.cpp @@ -24,6 +24,7 @@ #include "gtest/gtest.h" #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 64fbc92..2329a05 100644 --- a/tests/src/Base/Reader.cpp +++ b/tests/src/Base/Reader.cpp @@ -8,6 +8,7 @@ #include #include #include +#include namespace fs = std::filesystem; @@ -16,7 +17,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;