Author: dbertoni
Date: Tue Jun 24 10:25:15 2008
New Revision: 671268
URL: http://svn.apache.org/viewvc?rev=671268&view=rev
Log:
Changes to propagate explicit MemoryManager instances into the transcoders.
Added:
xerces/c/branches/dbertoni/transcoder/
- copied from r670674, xerces/c/trunk/
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/PlatformUtils.cpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.cpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.hpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.hpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.hpp
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/PlatformUtils.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/PlatformUtils.cpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
--- xerces/c/branches/dbertoni/transcoder/src/xercesc/util/PlatformUtils.cpp
(original)
+++ xerces/c/branches/dbertoni/transcoder/src/xercesc/util/PlatformUtils.cpp
Tue Jun 24 10:25:15 2008
@@ -256,7 +256,7 @@
// that will be used internally by the XMLString class. If we cannot
// create one, then call the panic method.
//
- XMLLCPTranscoder* defXCode =
XMLPlatformUtils::fgTransService->makeNewLCPTranscoder();
+ XMLLCPTranscoder* defXCode =
XMLPlatformUtils::fgTransService->makeNewLCPTranscoder(fgMemoryManager);
if (!defXCode)
panic(PanicHandler::Panic_NoDefTranscoder);
XMLString::initString(defXCode, fgMemoryManager);
@@ -438,15 +438,15 @@
XMLTransService* tc = 0;
#if defined (XERCES_USE_TRANSCODER_ICU)
- tc = new ICUTransService;
+ tc = new ICUTransService(fgMemoryManager);
#elif defined (XERCES_USE_TRANSCODER_GNUICONV)
- tc = new IconvGNUTransService;
+ tc = new IconvGNUTransService(fgMemoryManager);
#elif defined (XERCES_USE_TRANSCODER_ICONV)
- tc = new IconvTransService;
+ tc = new IconvTransService(fgMemoryManager);
#elif defined (XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER)
- tc = new MacOSUnicodeConverter;
+ tc = new MacOSUnicodeConverter(fgMemoryManager);
#elif defined (XERCES_USE_TRANSCODER_WINDOWS)
- tc = new Win32TransService;
+ tc = new Win32TransService(fgMemoryManager);
#else
#error No Transcoder configured for platform! You must
configure it.
#endif
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.cpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
--- xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.cpp
(original)
+++ xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.cpp Tue
Jun 24 10:25:15 2008
@@ -22,6 +22,7 @@
// Includes
// ---------------------------------------------------------------------------
#include <xercesc/util/Janitor.hpp>
+#include <xercesc/util/TransService.hpp>
#include <xercesc/util/XML88591Transcoder.hpp>
#include <xercesc/util/XMLASCIITranscoder.hpp>
#include <xercesc/util/XMLChTranscoder.hpp>
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.hpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
--- xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.hpp
(original)
+++ xerces/c/branches/dbertoni/transcoder/src/xercesc/util/TransService.hpp Tue
Jun 24 10:25:15 2008
@@ -121,7 +121,12 @@
virtual const XMLCh* getId() const = 0;
- virtual XMLLCPTranscoder* makeNewLCPTranscoder() = 0;
+ // -----------------------------------------------------------------------
+ // Create a new transcoder for the local code page.
+ //
+ // @param manager The memory manager to use.
+ // -----------------------------------------------------------------------
+ virtual XMLLCPTranscoder* makeNewLCPTranscoder(MemoryManager* manager) = 0;
virtual bool supportsSrcOfs() const = 0;
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp
Tue Jun 24 10:25:15 2008
@@ -136,7 +136,7 @@
// ---------------------------------------------------------------------------
// ICUTransService: Constructors and Destructor
// ---------------------------------------------------------------------------
-ICUTransService::ICUTransService()
+ICUTransService::ICUTransService(MemoryManager* manager)
{
#if (U_ICU_VERSION_MAJOR_NUM > 2 || (U_ICU_VERSION_MAJOR_NUM == 2 &&
U_ICU_VERSION_MINOR_NUM >= 6))
UErrorCode errorCode=U_ZERO_ERROR;
@@ -281,7 +281,7 @@
return gMyServiceId;
}
-XMLLCPTranscoder* ICUTransService::makeNewLCPTranscoder()
+XMLLCPTranscoder* ICUTransService::makeNewLCPTranscoder(MemoryManager* manager)
{
//
// Try to create a default converter. If it fails, return a null
@@ -294,7 +294,7 @@
return 0;
// That went ok, so create an ICU LCP transcoder wrapper and return it
- return new ICULCPTranscoder(converter);
+ return new (manager) ICULCPTranscoder(converter);
}
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/ICU/ICUTransService.hpp
Tue Jun 24 10:25:15 2008
@@ -36,7 +36,7 @@
// -----------------------------------------------------------------------
// Constructors and Destructor
// -----------------------------------------------------------------------
- ICUTransService();
+ ICUTransService(MemoryManager* manager);
~ICUTransService();
@@ -58,7 +58,7 @@
virtual const XMLCh* getId() const;
- virtual XMLLCPTranscoder* makeNewLCPTranscoder();
+ virtual XMLLCPTranscoder* makeNewLCPTranscoder(MemoryManager* manager);
virtual bool supportsSrcOfs() const;
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
Tue Jun 24 10:25:15 2008
@@ -89,7 +89,7 @@
// ---------------------------------------------------------------------------
// IconvTransService: Constructors and Destructor
// ---------------------------------------------------------------------------
-IconvTransService::IconvTransService()
+IconvTransService::IconvTransService(MemoryManager* /* manager */)
{
}
@@ -161,10 +161,10 @@
return gMyServiceId;
}
-XMLLCPTranscoder* IconvTransService::makeNewLCPTranscoder()
+XMLLCPTranscoder* IconvTransService::makeNewLCPTranscoder(MemoryManager*
manager)
{
// Just allocate a new transcoder of our type
- return new IconvLCPTranscoder;
+ return new (manager) IconvLCPTranscoder;
}
bool IconvTransService::supportsSrcOfs() const
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.hpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.hpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Iconv/IconvTransService.hpp
Tue Jun 24 10:25:15 2008
@@ -32,7 +32,7 @@
// -----------------------------------------------------------------------
// Constructors and Destructor
// -----------------------------------------------------------------------
- IconvTransService();
+ IconvTransService(MemoryManager* manager);
~IconvTransService();
@@ -54,7 +54,7 @@
virtual const XMLCh* getId() const;
- virtual XMLLCPTranscoder* makeNewLCPTranscoder();
+ virtual XMLLCPTranscoder* makeNewLCPTranscoder(MemoryManager* manager);
virtual bool supportsSrcOfs() const;
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
Tue Jun 24 10:25:15 2008
@@ -161,9 +161,9 @@
// ports collection). The following is a wrapper around the iconv().
//----------------------------------------------------------------------------
-IconvGNUWrapper::IconvGNUWrapper ()
+IconvGNUWrapper::IconvGNUWrapper (MemoryManager* manager)
: fUChSize(0), fUBO(LITTLE_ENDIAN),
- fCDTo((iconv_t)-1), fCDFrom((iconv_t)-1)
+ fCDTo((iconv_t)-1), fCDFrom((iconv_t)-1), fMutex(manager)
{
}
@@ -383,8 +383,8 @@
// IconvGNUTransService: Constructors and Destructor
// ---------------------------------------------------------------------------
-IconvGNUTransService::IconvGNUTransService()
- : IconvGNUWrapper(), fUnicodeCP(0)
+IconvGNUTransService::IconvGNUTransService(MemoryManager* manager)
+ : IconvGNUWrapper(manager), fUnicodeCP(0)
{
// Try to obtain local (host) characterset from the setlocale
// and through the environment. Do not call setlocale(LC_*, "")!
@@ -546,9 +546,9 @@
return gMyServiceId;
}
-XMLLCPTranscoder* IconvGNUTransService::makeNewLCPTranscoder()
+XMLLCPTranscoder* IconvGNUTransService::makeNewLCPTranscoder(MemoryManager*
manager)
{
- return new IconvGNULCPTranscoder (cdFrom(), cdTo(), uChSize(), UBO());
+ return new (manager) IconvGNULCPTranscoder (cdFrom(), cdTo(), uChSize(),
UBO());
}
bool IconvGNUTransService::supportsSrcOfs() const
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp
Tue Jun 24 10:25:15 2008
@@ -109,8 +109,8 @@
protected:
- // Hidden default constructor
- IconvGNUWrapper();
+ // Hidden constructor
+ IconvGNUWrapper(MemoryManager* manager);
// Private data accessors
inline void setCDTo (iconv_t cd) { fCDTo = cd; }
@@ -158,7 +158,7 @@
// -----------------------------------------------------------------------
// Constructors and Destructor
// -----------------------------------------------------------------------
- IconvGNUTransService();
+ IconvGNUTransService(MemoryManager* manager);
~IconvGNUTransService();
@@ -180,7 +180,7 @@
virtual const XMLCh* getId() const;
- virtual XMLLCPTranscoder* makeNewLCPTranscoder();
+ virtual XMLLCPTranscoder* makeNewLCPTranscoder(MemoryManager* manager);
virtual bool supportsSrcOfs() const;
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
Tue Jun 24 10:25:15 2008
@@ -88,7 +88,7 @@
// ---------------------------------------------------------------------------
// MacOSUnicodeConverter: Constructors and Destructor
// ---------------------------------------------------------------------------
-MacOSUnicodeConverter::MacOSUnicodeConverter()
+MacOSUnicodeConverter::MacOSUnicodeConverter(MemoryManager* manager)
: fCollator(NULL)
{
// Test for presense of unicode collation functions
@@ -255,11 +255,10 @@
}
-XMLLCPTranscoder* MacOSUnicodeConverter::makeNewLCPTranscoder()
+XMLLCPTranscoder* MacOSUnicodeConverter::makeNewLCPTranscoder(MemoryManager*
manager)
{
XMLLCPTranscoder* result = NULL;
OSStatus status = noErr;
- MemoryManager* manager = XMLPlatformUtils::fgMemoryManager;
// Discover the text encoding to use for the LCP
TextEncoding lcpTextEncoding = discoverLCPEncoding();
@@ -275,7 +274,7 @@
{
// Pass the XMLTranscoder over to the LPC transcoder
if (resValue == XMLTransService::Ok)
- result = new MacOSLCPTranscoder(xmlTrans, manager);
+ result = new (manager) MacOSLCPTranscoder(xmlTrans, manager);
else
delete xmlTrans;
}
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp
Tue Jun 24 10:25:15 2008
@@ -68,7 +68,7 @@
virtual const XMLCh* getId() const;
- virtual XMLLCPTranscoder* makeNewLCPTranscoder();
+ virtual XMLLCPTranscoder* makeNewLCPTranscoder(MemoryManager* manager);
virtual bool supportsSrcOfs() const;
@@ -79,7 +79,7 @@
// -----------------------------------------------------------------------
// Hidden constructors
// -----------------------------------------------------------------------
- MacOSUnicodeConverter();
+ MacOSUnicodeConverter(MemoryManager* manager);
// -----------------------------------------------------------------------
// Protected virtual methods
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp
Tue Jun 24 10:25:15 2008
@@ -147,12 +147,14 @@
(
const XMLCh* const encodingName
, const unsigned int ieId
+ , MemoryManager* manager
);
CPMapEntry
(
const char* const encodingName
, const unsigned int ieId
+ , MemoryManager* manager
);
~CPMapEntry();
@@ -187,21 +189,24 @@
// -----------------------------------------------------------------------
XMLCh* fEncodingName;
unsigned int fIEId;
+ MemoryManager* fManager;
};
// ---------------------------------------------------------------------------
// CPMapEntry: Constructors and Destructor
// ---------------------------------------------------------------------------
CPMapEntry::CPMapEntry( const char* const encodingName
- , const unsigned int ieId) :
+ , const unsigned int ieId
+ , MemoryManager* manager) :
fEncodingName(0)
, fIEId(ieId)
+ , fManager(manager)
{
// Transcode the name to Unicode and store that copy
int targetLen=::MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, encodingName,
-1, NULL, 0);
if(targetLen!=0)
{
- fEncodingName = (XMLCh*) XMLPlatformUtils::fgMemoryManager->allocate
+ fEncodingName = (XMLCh*) fManager->allocate
(
(targetLen + 1) * sizeof(XMLCh)
);//new XMLCh[targetLen + 1];
@@ -217,12 +222,14 @@
}
CPMapEntry::CPMapEntry( const XMLCh* const encodingName
- , const unsigned int ieId) :
+ , const unsigned int ieId
+ , MemoryManager* manager) :
fEncodingName(0)
, fIEId(ieId)
+ , fManager(manager)
{
- fEncodingName = XMLString::replicate(encodingName,
XMLPlatformUtils::fgMemoryManager);
+ fEncodingName = XMLString::replicate(encodingName, fManager);
//
// Upper case it because we are using a hash table and need to be
@@ -233,7 +240,7 @@
CPMapEntry::~CPMapEntry()
{
- XMLPlatformUtils::fgMemoryManager->deallocate(fEncodingName);//delete []
fEncodingName;
+ fManager->deallocate(fEncodingName);//delete [] fEncodingName;
}
@@ -262,9 +269,11 @@
// ---------------------------------------------------------------------------
// Win32TransService: Constructors and Destructor
// ---------------------------------------------------------------------------
-Win32TransService::Win32TransService()
+Win32TransService::Win32TransService(MemoryManager* manager) :
+ fCPMap(NULL)
+ , fManager(manager)
{
- fCPMap = new RefHashTableOf<CPMapEntry>(109);
+ fCPMap = new (manager) RefHashTableOf<CPMapEntry>(109, manager);
//
// Open up the registry key that contains the info we want. Note that,
@@ -377,7 +386,7 @@
continue;
}
- CPMapEntry* newEntry = new CPMapEntry(nameBuf, IEId);
+ CPMapEntry* newEntry = new (fManager) CPMapEntry(nameBuf,
IEId, fManager);
fCPMap->put((void*)newEntry->getEncodingName(), newEntry);
}
}
@@ -431,7 +440,7 @@
int targetLen = ::MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
aliasBuf, -1, NULL, 0);
if(targetLen!=0)
{
- XMLCh* uniAlias = (XMLCh*)
XMLPlatformUtils::fgMemoryManager->allocate
+ XMLCh* uniAlias = (XMLCh*) fManager->allocate
(
(targetLen + 1) * sizeof(XMLCh)
);//new XMLCh[targetLen + 1];
@@ -446,7 +455,7 @@
int targetLen = ::MultiByteToWideChar(CP_ACP,
MB_PRECOMPOSED, nameBuf, -1, NULL, 0);
if(targetLen!=0)
{
- XMLCh* uniName = (XMLCh*)
XMLPlatformUtils::fgMemoryManager->allocate
+ XMLCh* uniName = (XMLCh*) fManager->allocate
(
(targetLen + 1) * sizeof(XMLCh)
);//new XMLCh[targetLen + 1];
@@ -461,14 +470,14 @@
//
if (::wcscmp(uniName, aliasedEntry->getEncodingName()))
{
- CPMapEntry* newEntry = new CPMapEntry(uniName,
aliasedEntry->getIEEncoding());
+ CPMapEntry* newEntry = new (fManager)
CPMapEntry(uniName, aliasedEntry->getIEEncoding(), fManager);
fCPMap->put((void*)newEntry->getEncodingName(),
newEntry);
}
-
XMLPlatformUtils::fgMemoryManager->deallocate(uniName);//delete [] uniName;
+ fManager->deallocate(uniName);//delete [] uniName;
}
}
-
XMLPlatformUtils::fgMemoryManager->deallocate(uniAlias);//delete [] uniAlias;
+ fManager->deallocate(uniAlias);//delete [] uniAlias;
}
}
@@ -478,7 +487,6 @@
// And close the main key handle
::RegCloseKey(charsetKey);
-
}
Win32TransService::~Win32TransService()
@@ -510,10 +518,10 @@
return gMyServiceId;
}
-XMLLCPTranscoder* Win32TransService::makeNewLCPTranscoder()
+XMLLCPTranscoder* Win32TransService::makeNewLCPTranscoder(MemoryManager*
manager)
{
// Just allocate a new LCP transcoder of our type
- return new Win32LCPTranscoder;
+ return new (manager) Win32LCPTranscoder;
}
Modified:
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.hpp
URL:
http://svn.apache.org/viewvc/xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.hpp?rev=671268&r1=670674&r2=671268&view=diff
==============================================================================
---
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.hpp
(original)
+++
xerces/c/branches/dbertoni/transcoder/src/xercesc/util/Transcoders/Win32/Win32TransService.hpp
Tue Jun 24 10:25:15 2008
@@ -43,7 +43,7 @@
// -----------------------------------------------------------------------
// Constructors and Destructor
// -----------------------------------------------------------------------
- Win32TransService();
+ Win32TransService(MemoryManager* manager);
virtual ~Win32TransService();
@@ -65,7 +65,7 @@
virtual const XMLCh* getId() const;
- virtual XMLLCPTranscoder* makeNewLCPTranscoder();
+ virtual XMLLCPTranscoder* makeNewLCPTranscoder(MemoryManager* manager);
virtual bool supportsSrcOfs() const;
@@ -109,6 +109,7 @@
RefHashTableOf<CPMapEntry> *fCPMap;
+ MemoryManager* fManager;
};
@@ -246,6 +247,8 @@
// -----------------------------------------------------------------------
Win32LCPTranscoder(const Win32LCPTranscoder&);
Win32LCPTranscoder& operator=(const Win32LCPTranscoder&);
+
+ MemoryManager* fManager;
};
XERCES_CPP_NAMESPACE_END
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]