From 6bffe5d2593bd8db995d64c3bde94efa3a248b54 Mon Sep 17 00:00:00 2001
From: Alberto Massari <amassari@apache.org>
Date: Sun, 19 Mar 2006 14:29:49 +0000
Subject: [PATCH] Factory method is no more inline to avoid including an
 internal header in a public one (jira#1579)

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@386972 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/parsers/SAX2XMLReaderImpl.cpp |  9 +++++++++
 src/xercesc/sax2/XMLReaderFactory.hpp     | 16 ++++------------
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/src/xercesc/parsers/SAX2XMLReaderImpl.cpp b/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
index 30adeae48..74075d998 100644
--- a/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
+++ b/src/xercesc/parsers/SAX2XMLReaderImpl.cpp
@@ -25,6 +25,7 @@
 #include <xercesc/sax2/ContentHandler.hpp>
 #include <xercesc/sax2/LexicalHandler.hpp>
 #include <xercesc/sax2/DeclHandler.hpp>
+#include <xercesc/sax2/XMLReaderFactory.hpp>
 #include <xercesc/sax/DTDHandler.hpp>
 #include <xercesc/sax/ErrorHandler.hpp>
 #include <xercesc/sax/EntityResolver.hpp>
@@ -42,6 +43,14 @@
 XERCES_CPP_NAMESPACE_BEGIN
 
 
+SAX2XMLReader * XMLReaderFactory::createXMLReader(  MemoryManager* const  manager
+                                                  , XMLGrammarPool* const gramPool)
+{
+    SAX2XMLReaderImpl* pImpl=new (manager) SAX2XMLReaderImpl(manager, gramPool);
+	return pImpl;
+}
+
+
 const XMLCh gDTDEntityStr[] =
 {
     chOpenSquare, chLatin_d, chLatin_t, chLatin_d, chCloseSquare, chNull
diff --git a/src/xercesc/sax2/XMLReaderFactory.hpp b/src/xercesc/sax2/XMLReaderFactory.hpp
index f25e58d93..1554c0053 100644
--- a/src/xercesc/sax2/XMLReaderFactory.hpp
+++ b/src/xercesc/sax2/XMLReaderFactory.hpp
@@ -21,7 +21,7 @@
 #ifndef XMLREADERFACTORY_HPP
 #define XMLREADERFACTORY_HPP
 
-#include <xercesc/parsers/SAX2XMLReaderImpl.hpp>
+#include <xercesc/sax2/SAX2XMLReader.hpp>
 #include <xercesc/sax/SAXException.hpp>
 
 XERCES_CPP_NAMESPACE_BEGIN
@@ -45,10 +45,9 @@ protected:                // really should be private, but that causes compiler
 	~XMLReaderFactory() ;
 
 public:
-	static SAX2XMLReader * createXMLReader( 
-                                               MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
-                                             , XMLGrammarPool* const gramPool = 0
-                                               ) ;
+	static SAX2XMLReader * createXMLReader(  MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
+                                           , XMLGrammarPool* const gramPool = 0
+                                          ) ;
 	static SAX2XMLReader * createXMLReader(const XMLCh* className)  ;
 
 private:
@@ -59,13 +58,6 @@ private:
     XMLReaderFactory& operator=(const XMLReaderFactory&);
 };
 
-
-inline SAX2XMLReader * XMLReaderFactory::createXMLReader(MemoryManager* const  manager
-                                                       , XMLGrammarPool* const gramPool)
-{
-	return (SAX2XMLReader*)(new (manager) SAX2XMLReaderImpl(manager, gramPool));
-}
-
 inline SAX2XMLReader * XMLReaderFactory::createXMLReader(const XMLCh *)
 {	
 	throw SAXNotSupportedException();
-- 
GitLab