Author: borisk
Date: Fri Mar 14 05:40:55 2008
New Revision: 637083
URL: http://svn.apache.org/viewvc?rev=637083&view=rev
Log:
Allow providing a separate memory manager for exceptions (XERCESC-1730). Remove
unused MemoryManagerArrayImpl.
Removed:
xerces/c/trunk/src/xercesc/internal/MemoryManagerArrayImpl.cpp
xerces/c/trunk/src/xercesc/internal/MemoryManagerArrayImpl.hpp
Modified:
xerces/c/trunk/Projects/MacOS/Xcode/XercesLib/XercesLib.xcode/project.pbxproj
xerces/c/trunk/Projects/Win32/BCB6/Xerces-all/XercesLib/XercesLib.bpr
xerces/c/trunk/Projects/Win32/BCC.551/Xerces-all/XercesLib/XercesLib.mak
xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
xerces/c/trunk/Projects/Win32/VC7.1/xerces-all/XercesLib/XercesLib.vcproj
xerces/c/trunk/Projects/Win32/VC8/xerces-all/XercesLib/XercesLib.vcproj
xerces/c/trunk/Projects/Win32/VC9/xerces-all/XercesLib/XercesLib.vcproj
xerces/c/trunk/src/Makefile.am
xerces/c/trunk/src/xercesc/dom/DOMException.cpp
xerces/c/trunk/src/xercesc/framework/MemoryManager.hpp
xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.cpp
xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.hpp
xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp
xerces/c/trunk/src/xercesc/util/XMLException.cpp
xerces/c/trunk/swig/perl/xerces-headers.txt
xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.cpp
xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.hpp
Modified:
xerces/c/trunk/Projects/MacOS/Xcode/XercesLib/XercesLib.xcode/project.pbxproj
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/MacOS/Xcode/XercesLib/XercesLib.xcode/project.pbxproj?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
---
xerces/c/trunk/Projects/MacOS/Xcode/XercesLib/XercesLib.xcode/project.pbxproj
(original)
+++
xerces/c/trunk/Projects/MacOS/Xcode/XercesLib/XercesLib.xcode/project.pbxproj
Fri Mar 14 05:40:55 2008
@@ -9227,22 +9227,6 @@
settings = {
};
};
- 9067ED1604FC0A9600A80082 = {
- fileEncoding = 30;
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.cpp.h;
- path = MemoryManagerArrayImpl.hpp;
- refType = 4;
- sourceTree = "<group>";
- };
- 9067ED1704FC0A9600A80082 = {
- fileEncoding = 30;
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.cpp.cpp;
- path = MemoryManagerArrayImpl.cpp;
- refType = 4;
- sourceTree = "<group>";
- };
906C9B3F06FF69AA00D1DCE1 = {
fileEncoding = 30;
isa = PBXFileReference;
Modified: xerces/c/trunk/Projects/Win32/BCB6/Xerces-all/XercesLib/XercesLib.bpr
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/Win32/BCB6/Xerces-all/XercesLib/XercesLib.bpr?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/Projects/Win32/BCB6/Xerces-all/XercesLib/XercesLib.bpr
(original)
+++ xerces/c/trunk/Projects/Win32/BCB6/Xerces-all/XercesLib/XercesLib.bpr Fri
Mar 14 05:40:55 2008
@@ -117,7 +117,6 @@
..\..\..\..\..\Build\Win32\BCB6\obj\ElemStack.obj
..\..\..\..\..\Build\Win32\BCB6\obj\IGXMLScanner.obj
..\..\..\..\..\Build\Win32\BCB6\obj\IGXMLScanner2.obj
- ..\..\..\..\..\Build\Win32\BCB6\obj\MemoryManagerArrayImpl.obj
..\..\..\..\..\Build\Win32\BCB6\obj\MemoryManagerImpl.obj
..\..\..\..\..\Build\Win32\BCB6\obj\ReaderMgr.obj
..\..\..\..\..\Build\Win32\BCB6\obj\SGXMLScanner.obj
@@ -487,7 +486,6 @@
<FILE FILENAME="..\..\..\..\..\src\xercesc\internal\ElemStack.cpp"
FORMNAME="" UNITNAME="ElemStack" CONTAINERID="CCompiler" DESIGNCLASS=""
LOCALCOMMAND=""/>
<FILE FILENAME="..\..\..\..\..\src\xercesc\internal\IGXMLScanner.cpp"
FORMNAME="" UNITNAME="IGXMLScanner" CONTAINERID="CCompiler" DESIGNCLASS=""
LOCALCOMMAND=""/>
<FILE FILENAME="..\..\..\..\..\src\xercesc\internal\IGXMLScanner2.cpp"
FORMNAME="" UNITNAME="IGXMLScanner2" CONTAINERID="CCompiler" DESIGNCLASS=""
LOCALCOMMAND=""/>
- <FILE
FILENAME="..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.cpp"
FORMNAME="" UNITNAME="MemoryManagerArrayImpl" CONTAINERID="CCompiler"
DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE
FILENAME="..\..\..\..\..\src\xercesc\internal\MemoryManagerImpl.cpp"
FORMNAME="" UNITNAME="MemoryManagerImpl" CONTAINERID="CCompiler" DESIGNCLASS=""
LOCALCOMMAND=""/>
<FILE FILENAME="..\..\..\..\..\src\xercesc\internal\ReaderMgr.cpp"
FORMNAME="" UNITNAME="ReaderMgr" CONTAINERID="CCompiler" DESIGNCLASS=""
LOCALCOMMAND=""/>
<FILE FILENAME="..\..\..\..\..\src\xercesc\internal\SGXMLScanner.cpp"
FORMNAME="" UNITNAME="SGXMLScanner" CONTAINERID="CCompiler" DESIGNCLASS=""
LOCALCOMMAND=""/>
Modified:
xerces/c/trunk/Projects/Win32/BCC.551/Xerces-all/XercesLib/XercesLib.mak
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/Win32/BCC.551/Xerces-all/XercesLib/XercesLib.mak?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/Projects/Win32/BCC.551/Xerces-all/XercesLib/XercesLib.mak
(original)
+++ xerces/c/trunk/Projects/Win32/BCC.551/Xerces-all/XercesLib/XercesLib.mak
Fri Mar 14 05:40:55 2008
@@ -281,7 +281,6 @@
$(TARGETPATH)\obj\XProtoType.obj \
$(TARGETPATH)\obj\XSerializeEngine.obj \
$(TARGETPATH)\obj\XTemplateSerializer.obj \
- $(TARGETPATH)\obj\MemoryManagerArrayImpl.obj \
$(TARGETPATH)\obj\ValidationContextImpl.obj \
$(TARGETPATH)\obj\XMLRefInfo.obj \
$(TARGETPATH)\obj\XMLAttDefList.obj \
Modified: xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
(original)
+++ xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp Fri
Mar 14 05:40:55 2008
@@ -1724,14 +1724,6 @@
# End Source File
# Begin Source File
-SOURCE=..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.hpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\..\..\..\src\xercesc\internal\MemoryManagerImpl.cpp
# End Source File
# Begin Source File
Modified: xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
(original)
+++ xerces/c/trunk/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak Fri
Mar 14 05:40:55 2008
@@ -174,7 +174,6 @@
[EMAIL PROTECTED] "$(INTDIR)\Match.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufFormatTarget.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufInputSource.obj"
- [EMAIL PROTECTED] "$(INTDIR)\MemoryManagerArrayImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemoryManagerImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MixedContentModel.obj"
[EMAIL PROTECTED] "$(INTDIR)\ModifierToken.obj"
@@ -504,7 +503,6 @@
"$(INTDIR)\ElemStack.obj" \
"$(INTDIR)\IGXMLScanner.obj" \
"$(INTDIR)\IGXMLScanner2.obj" \
- "$(INTDIR)\MemoryManagerArrayImpl.obj" \
"$(INTDIR)\MemoryManagerImpl.obj" \
"$(INTDIR)\ReaderMgr.obj" \
"$(INTDIR)\SGXMLScanner.obj" \
@@ -821,7 +819,6 @@
[EMAIL PROTECTED] "$(INTDIR)\Match.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufFormatTarget.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufInputSource.obj"
- [EMAIL PROTECTED] "$(INTDIR)\MemoryManagerArrayImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemoryManagerImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MixedContentModel.obj"
[EMAIL PROTECTED] "$(INTDIR)\ModifierToken.obj"
@@ -1152,7 +1149,6 @@
"$(INTDIR)\ElemStack.obj" \
"$(INTDIR)\IGXMLScanner.obj" \
"$(INTDIR)\IGXMLScanner2.obj" \
- "$(INTDIR)\MemoryManagerArrayImpl.obj" \
"$(INTDIR)\MemoryManagerImpl.obj" \
"$(INTDIR)\ReaderMgr.obj" \
"$(INTDIR)\SGXMLScanner.obj" \
@@ -1469,7 +1465,6 @@
[EMAIL PROTECTED] "$(INTDIR)\Match.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufFormatTarget.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufInputSource.obj"
- [EMAIL PROTECTED] "$(INTDIR)\MemoryManagerArrayImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemoryManagerImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MixedContentModel.obj"
[EMAIL PROTECTED] "$(INTDIR)\ModifierToken.obj"
@@ -1801,7 +1796,6 @@
"$(INTDIR)\ElemStack.obj" \
"$(INTDIR)\IGXMLScanner.obj" \
"$(INTDIR)\IGXMLScanner2.obj" \
- "$(INTDIR)\MemoryManagerArrayImpl.obj" \
"$(INTDIR)\MemoryManagerImpl.obj" \
"$(INTDIR)\ReaderMgr.obj" \
"$(INTDIR)\SGXMLScanner.obj" \
@@ -2118,7 +2112,6 @@
[EMAIL PROTECTED] "$(INTDIR)\Match.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufFormatTarget.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemBufInputSource.obj"
- [EMAIL PROTECTED] "$(INTDIR)\MemoryManagerArrayImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MemoryManagerImpl.obj"
[EMAIL PROTECTED] "$(INTDIR)\MixedContentModel.obj"
[EMAIL PROTECTED] "$(INTDIR)\ModifierToken.obj"
@@ -2449,7 +2442,6 @@
"$(INTDIR)\ElemStack.obj" \
"$(INTDIR)\IGXMLScanner.obj" \
"$(INTDIR)\IGXMLScanner2.obj" \
- "$(INTDIR)\MemoryManagerArrayImpl.obj" \
"$(INTDIR)\MemoryManagerImpl.obj" \
"$(INTDIR)\ReaderMgr.obj" \
"$(INTDIR)\SGXMLScanner.obj" \
@@ -3587,12 +3579,6 @@
SOURCE=..\..\..\..\..\src\xercesc\internal\IGXMLScanner2.cpp
"$(INTDIR)\IGXMLScanner2.obj" : $(SOURCE) "$(INTDIR)"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.cpp
-
-"$(INTDIR)\MemoryManagerArrayImpl.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
Modified:
xerces/c/trunk/Projects/Win32/VC7.1/xerces-all/XercesLib/XercesLib.vcproj
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/Win32/VC7.1/xerces-all/XercesLib/XercesLib.vcproj?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/Projects/Win32/VC7.1/xerces-all/XercesLib/XercesLib.vcproj
(original)
+++ xerces/c/trunk/Projects/Win32/VC7.1/xerces-all/XercesLib/XercesLib.vcproj
Fri Mar 14 05:40:55 2008
@@ -1706,12 +1706,6 @@
RelativePath="..\..\..\..\..\src\xercesc\internal\IGXMLScanner2.cpp">
</File>
<File
-
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.cpp">
- </File>
- <File
-
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.hpp">
- </File>
- <File
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerImpl.cpp">
</File>
<File
Modified:
xerces/c/trunk/Projects/Win32/VC8/xerces-all/XercesLib/XercesLib.vcproj
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/Win32/VC8/xerces-all/XercesLib/XercesLib.vcproj?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/Projects/Win32/VC8/xerces-all/XercesLib/XercesLib.vcproj
(original)
+++ xerces/c/trunk/Projects/Win32/VC8/xerces-all/XercesLib/XercesLib.vcproj Fri
Mar 14 05:40:55 2008
@@ -3060,14 +3060,6 @@
>
</File>
<File
-
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.cpp"
- >
- </File>
- <File
-
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.hpp"
- >
- </File>
- <File
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerImpl.cpp"
>
</File>
Modified:
xerces/c/trunk/Projects/Win32/VC9/xerces-all/XercesLib/XercesLib.vcproj
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/Projects/Win32/VC9/xerces-all/XercesLib/XercesLib.vcproj?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/Projects/Win32/VC9/xerces-all/XercesLib/XercesLib.vcproj
(original)
+++ xerces/c/trunk/Projects/Win32/VC9/xerces-all/XercesLib/XercesLib.vcproj Fri
Mar 14 05:40:55 2008
@@ -3147,14 +3147,6 @@
>
</File>
<File
-
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.cpp"
- >
- </File>
- <File
-
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerArrayImpl.hpp"
- >
- </File>
- <File
RelativePath="..\..\..\..\..\src\xercesc\internal\MemoryManagerImpl.cpp"
>
</File>
Modified: xerces/c/trunk/src/Makefile.am
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/Makefile.am?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/src/Makefile.am (original)
+++ xerces/c/trunk/src/Makefile.am Fri Mar 14 05:40:55 2008
@@ -472,7 +472,6 @@
xercesc/internal/EndOfEntityException.hpp \
xercesc/internal/IANAEncodings.hpp \
xercesc/internal/IGXMLScanner.hpp \
- xercesc/internal/MemoryManagerArrayImpl.hpp \
xercesc/internal/MemoryManagerImpl.hpp \
xercesc/internal/ReaderMgr.hpp \
xercesc/internal/SGXMLScanner.hpp \
@@ -500,7 +499,6 @@
xercesc/internal/ElemStack.cpp \
xercesc/internal/IGXMLScanner.cpp \
xercesc/internal/IGXMLScanner2.cpp \
- xercesc/internal/MemoryManagerArrayImpl.cpp \
xercesc/internal/MemoryManagerImpl.cpp \
xercesc/internal/ReaderMgr.cpp \
xercesc/internal/SGXMLScanner.cpp \
Modified: xerces/c/trunk/src/xercesc/dom/DOMException.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/dom/DOMException.cpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/dom/DOMException.cpp (original)
+++ xerces/c/trunk/src/xercesc/dom/DOMException.cpp Fri Mar 14 05:40:55 2008
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -44,22 +44,26 @@
,msg(0)
,fMemoryManager(0)
,fMsgOwned(false)
-{
+{
}
DOMException::DOMException( short exCode
, short messageCode
, MemoryManager* const memoryManager)
:code((ExceptionCode) exCode)
-,fMemoryManager(memoryManager)
+,fMemoryManager(0)
,fMsgOwned(true)
{
+ if (memoryManager)
+ fMemoryManager = memoryManager->getExceptionMemoryManager();
+
const XMLSize_t msgSize = 2047;
XMLCh errText[msgSize + 1];
// load the text
if(messageCode==0)
messageCode=XMLDOMMsg::DOMEXCEPTION_ERRX+exCode;
+
msg = XMLString::replicate
(
DOMImplementationImpl::getMsgLoader4DOM()->loadMsg(messageCode,
errText, msgSize) ? errText : XMLUni::fgDefErrMsg
@@ -73,7 +77,8 @@
,fMemoryManager(other.fMemoryManager)
,fMsgOwned(other.fMsgOwned)
{
- msg = other.fMsgOwned? XMLString::replicate(other.msg,
other.fMemoryManager) : other.msg;
+ if (other.msg)
+ msg = other.fMsgOwned? XMLString::replicate(other.msg,
other.fMemoryManager) : other.msg;
}
XERCES_CPP_NAMESPACE_END
Modified: xerces/c/trunk/src/xercesc/framework/MemoryManager.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/framework/MemoryManager.hpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/framework/MemoryManager.hpp (original)
+++ xerces/c/trunk/src/xercesc/framework/MemoryManager.hpp Fri Mar 14 05:40:55
2008
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -34,7 +34,7 @@
* Configurable memory manager
*
* <p>This interface allows outside applications to plug in their own memory
- * manager to be used by Xerces for memory allocation/deallocation.</p>
+ * manager to be used by Xerces for memory allocation/deallocation.</p>
*/
class XMLPARSER_EXPORT MemoryManager
{
@@ -53,6 +53,16 @@
{
}
//@}
+
+
+ /**
+ * This method is called to obtain the memory manager that should be
+ * used to allocate memory used in exceptions. If the same memory
+ * manager can be used, simply return 'this' from this function.
+ *
+ * @return A pointer to the memory manager
+ */
+ virtual MemoryManager* getExceptionMemoryManager() = 0;
// -----------------------------------------------------------------------
Modified: xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.cpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.cpp (original)
+++ xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.cpp Fri Mar 14
05:40:55 2008
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -27,6 +27,11 @@
#include <xercesc/util/OutOfMemoryException.hpp>
XERCES_CPP_NAMESPACE_BEGIN
+
+MemoryManager* MemoryManagerImpl::getExceptionMemoryManager()
+{
+ return this;
+}
void* MemoryManagerImpl::allocate(size_t size)
{
Modified: xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.hpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.hpp (original)
+++ xerces/c/trunk/src/xercesc/internal/MemoryManagerImpl.hpp Fri Mar 14
05:40:55 2008
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -60,6 +60,16 @@
{
}
//@}
+
+
+ /**
+ * This method is called to obtain the memory manager that should be
+ * used to allocate memory used in exceptions.
+ *
+ * @return A pointer to the memory manager
+ */
+ virtual MemoryManager* getExceptionMemoryManager();
+
/** @name The virtual methods in MemoryManager */
//@{
Modified: xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp (original)
+++ xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp Fri Mar 14 05:40:55 2008
@@ -49,7 +49,6 @@
#include <xercesc/util/DefaultPanicHandler.hpp>
#include <xercesc/util/XMLInitializer.hpp>
#include <xercesc/internal/MemoryManagerImpl.hpp>
-#include <xercesc/internal/MemoryManagerArrayImpl.hpp>
#include <xercesc/util/XMLFileMgr.hpp>
#if XERCES_USE_FILEMGR_POSIX
Modified: xerces/c/trunk/src/xercesc/util/XMLException.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/XMLException.cpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/util/XMLException.cpp (original)
+++ xerces/c/trunk/src/xercesc/util/XMLException.cpp Fri Mar 14 05:40:55 2008
@@ -86,7 +86,8 @@
, fSrcFile(0)
, fSrcLine(0)
, fMsg(0)
- , fMemoryManager(XMLPlatformUtils::fgMemoryManager)
+ , fMemoryManager(
+ XMLPlatformUtils::fgMemoryManager->getExceptionMemoryManager())
{
}
@@ -99,10 +100,14 @@
, fSrcFile(0)
, fSrcLine(srcLine)
, fMsg(0)
- , fMemoryManager(memoryManager)
+ , fMemoryManager(0)
{
if (!memoryManager)
- fMemoryManager = XMLPlatformUtils::fgMemoryManager;
+ fMemoryManager =
+ XMLPlatformUtils::fgMemoryManager->getExceptionMemoryManager();
+ else
+ fMemoryManager = memoryManager->getExceptionMemoryManager();
+
fSrcFile = XMLString::replicate(srcFile, fMemoryManager);
}
Modified: xerces/c/trunk/swig/perl/xerces-headers.txt
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/swig/perl/xerces-headers.txt?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/swig/perl/xerces-headers.txt (original)
+++ xerces/c/trunk/swig/perl/xerces-headers.txt Fri Mar 14 05:40:55 2008
@@ -605,7 +605,6 @@
xercesc/dom/impl/DOMTreeWalkerImpl.hpp
xercesc/dom/impl/DOMTypeInfoImpl.hpp
xercesc/dom/impl/XSDElementNSImpl.hpp
-xercesc/internal/MemoryManagerArrayImpl.hpp
xercesc/internal/MemoryManagerImpl.hpp
xercesc/internal/ValidationContextImpl.hpp
xercesc/internal/VecAttrListImpl.hpp
Modified: xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.cpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.cpp (original)
+++ xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.cpp Fri Mar 14
05:40:55 2008
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -36,6 +36,11 @@
#include <xercesc/util/OutOfMemoryException.hpp>
#include <xercesc/dom/DOM.hpp>
+MemoryManager* MemoryMonitor::getExceptionMemoryManager()
+{
+ return this;
+}
+
void* MemoryMonitor::allocate(size_t size)
{
void *key = ::operator new(size);
@@ -53,10 +58,10 @@
::operator delete(p);
}
-unsigned int MemoryMonitor::getTotalMemory()
+unsigned int MemoryMonitor::getTotalMemory()
{
unsigned int total = 0;
- ValueHashTableOfEnumerator<unsigned int> *memEnum =
+ ValueHashTableOfEnumerator<unsigned int> *memEnum =
new ValueHashTableOfEnumerator<unsigned int>(fHashTable);
while(memEnum->hasMoreElements()) {
total += memEnum->nextElement();
@@ -81,28 +86,28 @@
" -n Enable namespace processing. Defaults to off.\n"
" -s Enable schema processing. Defaults to off.\n"
" -f Enable full schema constraint checking. Defaults
to off.\n"
- " -r=n Run file through domBuilders n times.\n"
+ " -r=n Run file through domBuilders n times.\n"
" -? Show this help.\n\n"
" * = Default if not provided explicitly.\n"
<< XERCES_STD_QUALIFIER endl;
}
-class DOMLSParserHandler : public DOMErrorHandler
+class DOMLSParserHandler : public DOMErrorHandler
{
public:
DOMLSParserHandler() {};
~DOMLSParserHandler() {};
- bool handleError(const DOMError &error)
+ bool handleError(const DOMError &error)
{
char *message = 0;
- XERCES_STD_QUALIFIER cerr << "Error occurred in DOMBuilder! Message:
" <<
+ XERCES_STD_QUALIFIER cerr << "Error occurred in DOMBuilder! Message:
" <<
(message = XMLString::transcode(error.getMessage())) << " of
severity " << error.getSeverity() << "." << XERCES_STD_QUALIFIER endl;
XMLString::release(&message);
return true;
}
};
-class SAXErrorHandler : public ErrorHandler
+class SAXErrorHandler : public ErrorHandler
{
public:
SAXErrorHandler() {};
@@ -143,7 +148,7 @@
* allocations/deallocations.
*/
-int main (int argC, char *argV[])
+int main (int argC, char *argV[])
{
MemoryMonitor *staticMemMonitor = new MemoryMonitor();
@@ -271,7 +276,7 @@
SAXParser *saxParser = new (sax1MemMonitor) SAXParser(0, sax1MemMonitor);
saxParser->setErrorHandler(&saxErrorHandler);
- // set features
+ // set features
domBuilder->getDomConfig()->setParameter(XMLUni::fgDOMNamespaces,
doNamespaces);
sax2parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, doNamespaces);
saxParser->setDoNamespaces(doNamespaces);
@@ -378,7 +383,7 @@
}
catch (const XMLException& toCatch)
{
- char *msg = XMLString::transcode(toCatch.getMessage());
+ char *msg = XMLString::transcode(toCatch.getMessage());
XERCES_STD_QUALIFIER cerr << "\nError during parsing: '" <<
xmlFile << "'\n"
<< "Exception message is: \n"
<< msg << "\n" << XERCES_STD_QUALIFIER endl;
@@ -395,7 +400,7 @@
if (DOMImplementation::loadDOMExceptionMsg(toCatch.code,
errText, maxChars))
{
- char * msg = XMLString::transcode(errText);
+ char * msg = XMLString::transcode(errText);
XERCES_STD_QUALIFIER cerr << "Message is: " << msg <<
XERCES_STD_QUALIFIER endl;
continue;
Modified: xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.hpp?rev=637083&r1=637082&r2=637083&view=diff
==============================================================================
--- xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.hpp (original)
+++ xerces/c/trunk/tests/src/MemHandlerTest/MemoryMonitor.hpp Fri Mar 14
05:40:55 2008
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -42,8 +42,8 @@
/**
* Configurable memory manager
*
- * <p>This class is a memory manager implementation that keeps track of all
- * allocations/deallocations to ensure that all memory that it allocated is
+ * <p>This class is a memory manager implementation that keeps track of all
+ * allocations/deallocations to ensure that all memory that it allocated is
* deallocated.
* </p>
*/
@@ -59,7 +59,7 @@
* Default constructor
*/
MemoryMonitor()
- {
+ {
fHashType = new SimpleHashPtr();
fHashTable = new SimpleValueHashTableOf<unsigned int>(1013, fHashType);
}
@@ -78,6 +78,8 @@
}
//@}
+ virtual MemoryManager* getExceptionMemoryManager();
+
/** @name The virtual methods in MemoryManager */
//@{
@@ -98,7 +100,7 @@
virtual void deallocate(void* p);
//@}
-
+
// Print out amount of currently allocated memory
unsigned int getTotalMemory();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]