dmitryh     2004/11/08 10:13:58

  Modified:    c/src/xalanc/XercesParserLiaison FormatterToXercesDOM.cpp
                        FormatterToXercesDOM.hpp
                        XercesAttrWrapperAllocator.cpp
                        XercesAttrWrapperAllocator.hpp
                        XercesCDATASectionWrapper.cpp
                        XercesCDATASectionWrapper.hpp
                        XercesCommentWrapper.cpp XercesCommentWrapper.hpp
                        XercesDocumentTypeWrapper.cpp
                        XercesDocumentTypeWrapper.hpp
                        XercesDocumentWrapper.cpp XercesDocumentWrapper.hpp
                        XercesDOMFormatterWalker.hpp
                        XercesDOMImplementationWrapper.cpp
                        XercesDOMImplementationWrapper.hpp
                        XercesDOMSupport.cpp XercesDOMSupport.hpp
                        XercesElementWrapperAllocator.cpp
                        XercesElementWrapperAllocator.hpp
                        XercesEntityReferenceWrapper.cpp
                        XercesEntityReferenceWrapper.hpp
                        XercesEntityWrapper.cpp XercesEntityWrapper.hpp
                        XercesLiaisonXalanDOMStringPool.cpp
                        XercesLiaisonXalanDOMStringPool.hpp
                        XercesNamedNodeMapAttributeList.cpp
                        XercesNamedNodeMapAttributeList.hpp
                        XercesNotationWrapper.cpp XercesNotationWrapper.hpp
                        XercesParserLiaison.cpp XercesParserLiaison.hpp
                        XercesProcessingInstructionWrapper.cpp
                        XercesProcessingInstructionWrapper.hpp
                        XercesTextWrapper.cpp XercesTextWrapper.hpp
                        XercesTextWrapperAllocator.cpp
                        XercesTextWrapperAllocator.hpp
                        XercesWrapperHelper.cpp XercesWrapperHelper.hpp
                        XercesWrapperNavigator.cpp
                        XercesWrapperNavigatorAllocator.cpp
                        XercesWrapperNavigatorAllocator.hpp
                        XercesWrapperToXalanNodeMap.cpp
                        XercesWrapperToXalanNodeMap.hpp
  Log:
  Initial implementation on the pluggable memory management
  
  Revision  Changes    Path
  1.5       +9 -7      
xml-xalan/c/src/xalanc/XercesParserLiaison/FormatterToXercesDOM.cpp
  
  Index: FormatterToXercesDOM.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/FormatterToXercesDOM.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FormatterToXercesDOM.cpp  26 Feb 2004 23:07:14 -0000      1.4
  +++ FormatterToXercesDOM.cpp  8 Nov 2004 18:13:57 -0000       1.5
  @@ -58,11 +58,12 @@
   
   
   
  -const XalanDOMString FormatterToXercesDOM::s_emptyString;
  +const XalanDOMString 
FormatterToXercesDOM::s_emptyString(XalanMemMgrs::getDummyMemMgr());
   
   
   
   FormatterToXercesDOM::FormatterToXercesDOM(
  +            MemoryManagerType&          theManager,
                        DOMDocument_Type*                       doc,
                        DOMDocumentFragmentType*        docFrag,
                        DOMElementType*                         currentElement) 
:
  @@ -70,9 +71,9 @@
        m_doc(doc),
        m_docFrag(docFrag),
        m_currentElem(currentElement),
  -     m_elemStack(),
  -     m_buffer(),
  -     m_textBuffer()
  +     m_elemStack(theManager),
  +     m_buffer(theManager),
  +     m_textBuffer(theManager)
   {
        assert(m_doc != 0 && m_docFrag != 0);
   }
  @@ -80,15 +81,16 @@
   
   
   FormatterToXercesDOM::FormatterToXercesDOM(
  +            MemoryManagerType& theManager,
                        DOMDocument_Type*       doc,
                        DOMElementType*         elem) :
        FormatterListener(OUTPUT_METHOD_DOM),
        m_doc(doc),
        m_docFrag(0),
        m_currentElem(elem),
  -     m_elemStack(),
  -     m_buffer(),
  -     m_textBuffer()
  +     m_elemStack(theManager),
  +     m_buffer(theManager),
  +     m_textBuffer(theManager)
   {
        assert(m_doc != 0);
   }
  
  
  
  1.7       +2 -0      
xml-xalan/c/src/xalanc/XercesParserLiaison/FormatterToXercesDOM.hpp
  
  Index: FormatterToXercesDOM.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/FormatterToXercesDOM.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- FormatterToXercesDOM.hpp  31 Jul 2004 06:05:11 -0000      1.6
  +++ FormatterToXercesDOM.hpp  8 Nov 2004 18:13:57 -0000       1.7
  @@ -61,6 +61,7 @@
         * @param currentElement current element for nodes
         */
        FormatterToXercesDOM(
  +            MemoryManagerType&          theManager,
                        DOMDocument_Type*                       doc,
                        DOMDocumentFragmentType*        docFrag,
                        DOMElementType*                         currentElement);
  @@ -73,6 +74,7 @@
         * @param elem current element for nodes
         */
        FormatterToXercesDOM(
  +            MemoryManagerType&          theManager,
                        DOMDocument_Type*                       doc,
                        DOMElementType*                         currentElement);
   
  
  
  
  1.5       +2 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesAttrWrapperAllocator.cpp
  
  Index: XercesAttrWrapperAllocator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesAttrWrapperAllocator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesAttrWrapperAllocator.cpp    26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesAttrWrapperAllocator.cpp    8 Nov 2004 18:13:57 -0000       1.5
  @@ -23,8 +23,8 @@
   
   
   
  -XercesAttrWrapperAllocator::XercesAttrWrapperAllocator(size_type     
theBlockCount) :
  -     m_allocator(theBlockCount)
  +XercesAttrWrapperAllocator::XercesAttrWrapperAllocator(MemoryManagerType&  
theManager, size_type     theBlockCount) :
  +     m_allocator(theManager, theBlockCount)
   {
   }
   
  
  
  
  1.5       +1 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesAttrWrapperAllocator.hpp
  
  Index: XercesAttrWrapperAllocator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesAttrWrapperAllocator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesAttrWrapperAllocator.hpp    26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesAttrWrapperAllocator.hpp    8 Nov 2004 18:13:57 -0000       1.5
  @@ -57,7 +57,7 @@
         *
         * @param theBlockSize The block size.
         */
  -     XercesAttrWrapperAllocator(size_type    theBlockCount);
  +     XercesAttrWrapperAllocator(MemoryManagerType&  theManager, size_type    
theBlockCount);
   
        ~XercesAttrWrapperAllocator();
        
  
  
  
  1.5       +23 -3     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCDATASectionWrapper.cpp
  
  Index: XercesCDATASectionWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCDATASectionWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesCDATASectionWrapper.cpp     26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesCDATASectionWrapper.cpp     8 Nov 2004 18:13:57 -0000       1.5
  @@ -50,7 +50,24 @@
        assert(theXercesCDATASection != 0);
   }
   
  +XercesCDATASectionWrapper*
  +XercesCDATASectionWrapper::create( MemoryManagerType& theManager,
  +                     const DOMCDATASectionType*              
theXercesCDATASection,
  +                     const XercesWrapperNavigator&   theNavigator)
  +
  +{
  +    typedef XercesCDATASectionWrapper ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
   
  +    new (theResult) ThisType(theXercesCDATASection, theNavigator);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   XercesCDATASectionWrapper::~XercesCDATASectionWrapper()
   {
  @@ -302,12 +319,15 @@
   
   
   
  -XalanDOMString
  +XalanDOMString&
   XercesCDATASectionWrapper::substringData(
                        unsigned int    offset, 
  -                     unsigned int    count) const
  +                     unsigned int    count,
  +            XalanDOMString& theResult) const
   {
  -     return XercesWrapperHelper::substringData(m_xercesNode, offset, count);
  +    XercesWrapperHelper::substringData(m_xercesNode, offset, count, 
theResult);
  +
  +     return theResult;
   }
   
   
  
  
  
  1.6       +10 -2     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCDATASectionWrapper.hpp
  
  Index: XercesCDATASectionWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCDATASectionWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesCDATASectionWrapper.hpp     26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesCDATASectionWrapper.hpp     8 Nov 2004 18:13:57 -0000       1.6
  @@ -21,6 +21,8 @@
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
   
   
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  +
   
   #include <xalanc/XalanDOM/XalanCDATASection.hpp>
   
  @@ -46,6 +48,11 @@
                        const DOMCDATASectionType*              
theXercesCDATASection,
                        const XercesWrapperNavigator&   theNavigator);
   
  +    static XercesCDATASectionWrapper*
  +    create( MemoryManagerType& theManager,
  +                     const DOMCDATASectionType*              
theXercesCDATASection,
  +                     const XercesWrapperNavigator&   theNavigator);
  +
        virtual
        ~XercesCDATASectionWrapper();
   
  @@ -441,10 +448,11 @@
         *       <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text 
does not 
         *       fit into a <code>DOMString</code>.
         */
  -     virtual XalanDOMString
  +     virtual XalanDOMString&
        substringData(
                        unsigned int    offset, 
  -                     unsigned int    count) const;
  +                     unsigned int    count,
  +            XalanDOMString& theResult) const;
   
        //@}
        /** @name Functions that set or change data. */
  
  
  
  1.5       +23 -3     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCommentWrapper.cpp
  
  Index: XercesCommentWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCommentWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesCommentWrapper.cpp  26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesCommentWrapper.cpp  8 Nov 2004 18:13:57 -0000       1.5
  @@ -46,7 +46,24 @@
        assert(theXercesComment != 0);
   }
   
  +XercesCommentWrapper*
  +XercesCommentWrapper::create( MemoryManagerType& theManager,
  +                             const DOMCommentType*                   
theXercesComment,
  +                             const XercesWrapperNavigator&   theNavigator)
  +
  +{
  +    typedef XercesCommentWrapper ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
   
  +    new (theResult) ThisType(theXercesComment, theNavigator);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   XercesCommentWrapper::~XercesCommentWrapper()
   {
  @@ -298,12 +315,15 @@
   
   
   
  -XalanDOMString
  +XalanDOMString&
   XercesCommentWrapper::substringData(
                        unsigned int    offset, 
  -                     unsigned int    count) const
  +                     unsigned int    count,
  +            XalanDOMString& theResult) const
   {
  -     return XercesWrapperHelper::substringData(m_xercesNode, offset, count);
  +     XercesWrapperHelper::substringData(m_xercesNode, offset, count, 
theResult);
  +
  +    return theResult;
   }
   
   
  
  
  
  1.6       +9 -3      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCommentWrapper.hpp
  
  Index: XercesCommentWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesCommentWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesCommentWrapper.hpp  26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesCommentWrapper.hpp  8 Nov 2004 18:13:57 -0000       1.6
  @@ -20,7 +20,7 @@
   
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
   
  -
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
   
   #include <xalanc/XalanDOM/XalanComment.hpp>
   #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp>
  @@ -43,6 +43,11 @@
                        const DOMCommentType*                   
theXercesComment,
                        const XercesWrapperNavigator&   theNavigator);
   
  +    static XercesCommentWrapper*
  +    create( MemoryManagerType& theManager,
  +                     const DOMCommentType*                   
theXercesComment,
  +                     const XercesWrapperNavigator&   theNavigator);
  +
        virtual
        ~XercesCommentWrapper();
   
  @@ -437,10 +442,11 @@
         *       <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text 
does not 
         *       fit into a <code>DOMString</code>.
         */
  -     virtual XalanDOMString
  +     virtual XalanDOMString&
        substringData(
                        unsigned int    offset, 
  -                     unsigned int    count) const;
  +                     unsigned int    count,
  +            XalanDOMString& theResult) const;
   
        //@}
        /** @name Functions that set or change data. */
  
  
  
  1.5       +16 -0     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentTypeWrapper.cpp
  
  Index: XercesDocumentTypeWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentTypeWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesDocumentTypeWrapper.cpp     26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesDocumentTypeWrapper.cpp     8 Nov 2004 18:13:57 -0000       1.5
  @@ -50,7 +50,23 @@
        assert(theXercesDOMDocumentType != 0);
   }
   
  +XercesDocumentTypeWrapper*
  +XercesDocumentTypeWrapper::create( MemoryManagerType& theManager,
  +                     const DOMDocumentType_Type*             
theXercesDOMDocumentType,
  +                     const XercesWrapperNavigator&   theNavigator)
  +{
  +    typedef XercesDocumentTypeWrapper ThisType;
   
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
  +
  +    new (theResult) ThisType(theXercesDOMDocumentType, theNavigator);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   XercesDocumentTypeWrapper::~XercesDocumentTypeWrapper()
   {
  
  
  
  1.6       +6 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentTypeWrapper.hpp
  
  Index: XercesDocumentTypeWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentTypeWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesDocumentTypeWrapper.hpp     26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesDocumentTypeWrapper.hpp     8 Nov 2004 18:13:57 -0000       1.6
  @@ -24,7 +24,7 @@
   
   #include <xalanc/XalanDOM/XalanDocumentType.hpp>
   
  -
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
   
   #include <xalanc/XercesParserLiaison/XercesNamedNodeMapWrapper.hpp>
   #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp>
  @@ -47,6 +47,11 @@
        XercesDocumentTypeWrapper(
                        const DOMDocumentType_Type*             
theXercesDOMDocumentType,
                        const XercesWrapperNavigator&   theNavigator);
  +
  +    static XercesDocumentTypeWrapper*
  +    create( MemoryManagerType& theManager,
  +        const DOMDocumentType_Type*          theXercesDOMDocumentType,
  +        const XercesWrapperNavigator&        theNavigator);
   
        virtual
        ~XercesDocumentTypeWrapper();
  
  
  
  1.8       +66 -20    
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentWrapper.cpp
  
  Index: XercesDocumentWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentWrapper.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XercesDocumentWrapper.cpp 12 Aug 2004 21:37:56 -0000      1.7
  +++ XercesDocumentWrapper.cpp 8 Nov 2004 18:13:57 -0000       1.8
  @@ -73,6 +73,7 @@
   
   
   XercesDocumentWrapper::XercesDocumentWrapper(
  +            MemoryManagerType&          theManager,
                        const DOMDocument_Type*         theXercesDocument,
                        bool                                            
threadSafe,
                        bool                                            
buildWrapper,
  @@ -80,21 +81,21 @@
        XalanDocument(),
        m_xercesDocument(theXercesDocument),
        m_documentElement(0),
  -     m_nodeMap(),
  -     m_domImplementation(new 
XercesDOMImplementationWrapper(theXercesDocument->getImplementation())),
  -     m_navigatorAllocator(25),
  +     m_nodeMap(theManager),
  +    m_domImplementation(theManager, 
XercesDOMImplementationWrapper::create(theManager, 
theXercesDocument->getImplementation())),
  +     m_navigatorAllocator(theManager, 25),
        m_navigator(0),
        m_children(theXercesDocument->getChildNodes(),
                           *m_navigator),
  -     m_nodes(),
  +     m_nodes(theManager),
        m_doctype(0),
        m_mappingMode(threadSafe == true ? false : !buildWrapper),
        m_indexValid(false),
        m_buildMaps(m_mappingMode == true ? true : buildMaps),
  -     m_elementAllocator(25),
  -     m_textAllocator(25),
  -     m_attributeAllocator(25),
  -     m_stringPool(threadSafe == true ? new XercesLiaisonXalanDOMStringPool : 
new XalanDOMStringPool)
  +     m_elementAllocator(theManager, 25),
  +     m_textAllocator(theManager, 25),
  +     m_attributeAllocator(theManager, 25),
  +    m_stringPool(theManager, threadSafe == true ? 
XercesLiaisonXalanDOMStringPool::create(theManager) : 
XalanDOMStringPool::create(theManager))
   {
        assert(theXercesDocument != 0);
   
  @@ -115,7 +116,30 @@
        }
   }
   
  +XercesDocumentWrapper*
  +XercesDocumentWrapper::create( 
  +            MemoryManagerType&          theManager,
  +                     const DOMDocument_Type*         theXercesDocument,
  +                     bool                                            
threadSafe,
  +                     bool                                            
buildWrapper,
  +                     bool                                            
buildMaps)
  +{
  +    typedef XercesDocumentWrapper ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
   
  +    new (theResult) ThisType(theManager,
  +                            theXercesDocument,
  +                            threadSafe,
  +                            buildWrapper,
  +                            buildMaps);
  +        
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   XercesDocumentWrapper::~XercesDocumentWrapper()
   {
  @@ -317,7 +341,7 @@
        for_each(
                        m_nodes.begin(),
                        m_nodes.end(),
  -                     DeleteFunctor<XalanNode>());
  +            DeleteFunctor<XalanNode>(m_nodes.getMemoryManager()));
   
        // Clear everything out, since we just delete everything...
        m_nodes.clear();
  @@ -391,7 +415,7 @@
   #endif
   
        // Update the member variable for the new instance.
  -     This->m_doctype = new XercesDocumentTypeWrapper(theDoctype, 
theNavigator);
  +    This->m_doctype =  XercesDocumentTypeWrapper::create( 
getMemoryManager(), theDoctype, theNavigator);
   
        if (mapNode == true)
        {
  @@ -494,7 +518,7 @@
   XercesCommentWrapper*
   XercesDocumentWrapper::createWrapperNode(
                        const DOMCommentType*       theXercesNode,
  -                     IndexType                                   theIndex,
  +                     IndexType                                   theIndex,
                        bool                                        mapNode,
               XercesWrapperNavigator**    theWrapperNodeNavigator) const
   {
  @@ -504,7 +528,9 @@
        theNavigator.setIndex(theIndex);
   
        XercesCommentWrapper* const     theWrapper =
  -             new XercesCommentWrapper(theXercesNode,
  +        XercesCommentWrapper::create(
  +                                getMemoryManager(),
  +                                theXercesNode,
                                                                theNavigator);
   
   #if defined(XALAN_NO_MUTABLE)
  @@ -546,7 +572,9 @@
        theNavigator.setIndex(theIndex);
   
        XercesCDATASectionWrapper* const                theWrapper =
  -             new XercesCDATASectionWrapper(theXercesNode,
  +        XercesCDATASectionWrapper::create(
  +                                     getMemoryManager(),
  +                                     theXercesNode,
                                                                         
theNavigator);
   
   #if defined(XALAN_NO_MUTABLE)
  @@ -588,7 +616,9 @@
        theNavigator.setIndex(theIndex);
   
        XercesProcessingInstructionWrapper* const       theWrapper =
  -             new XercesProcessingInstructionWrapper(theXercesNode,
  +        XercesProcessingInstructionWrapper::create(
  +                                              getMemoryManager(),
  +                                              theXercesNode,
                                                                                
          theNavigator);
   
   #if defined(XALAN_NO_MUTABLE)
  @@ -668,7 +698,9 @@
        theNavigator.setIndex(theIndex);
   
        XercesEntityWrapper* const      theWrapper =
  -             new XercesEntityWrapper(theXercesNode,
  +        XercesEntityWrapper::create(
  +                               getMemoryManager(),
  +                               theXercesNode,
                                                           theNavigator);
   
   #if defined(XALAN_NO_MUTABLE)
  @@ -708,7 +740,9 @@
        theNavigator.setIndex(theIndex);
   
        XercesEntityReferenceWrapper* const     theWrapper =
  -             new XercesEntityReferenceWrapper(theXercesNode,
  +        XercesEntityReferenceWrapper::create(
  +                                        getMemoryManager(),
  +                                        theXercesNode,
                                                                                
theNavigator);
   
   #if defined(XALAN_NO_MUTABLE)
  @@ -750,7 +784,9 @@
        theNavigator.setIndex(theIndex);
   
        XercesNotationWrapper* const            theWrapper =
  -             new XercesNotationWrapper(theXercesNode,
  +        XercesNotationWrapper::create(
  +                                 getMemoryManager(),
  +                                 theXercesNode,
                                                                 theNavigator);
   
   #if defined(XALAN_NO_MUTABLE)
  @@ -962,7 +998,17 @@
        else
        {
                // Delete the node...
  -             delete *i;
  +        XalanNode* ptrToDelete = *i;
  +
  +        if ( ptrToDelete != 0 )
  +        {
  +            MemoryManagerType& theManager = m_nodes.getMemoryManager();
  +
  +            ptrToDelete->~XalanNode();
  +
  +            theManager.deallocate(ptrToDelete);
  +
  +        }
   
                // Erase it from the map...
                m_nodes.erase(i);
  @@ -1460,8 +1506,8 @@
                        bool                                                    
    theBuildMapsFlag) :
        m_document(theDocument),
        m_currentIndex(theStartIndex),
  -     m_parentNavigatorStack(),
  -     m_siblingNavigatorStack(),
  +     m_parentNavigatorStack(theDocument->getMemoryManager()),
  +     m_siblingNavigatorStack(theDocument->getMemoryManager()),
        m_buildMaps(theBuildMapsFlag)
   {
        assert(theDocument != 0 && theDocumentNavigator != 0);
  
  
  
  1.7       +18 -3     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentWrapper.hpp
  
  Index: XercesDocumentWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDocumentWrapper.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XercesDocumentWrapper.hpp 12 Aug 2004 21:37:56 -0000      1.6
  +++ XercesDocumentWrapper.hpp 8 Nov 2004 18:13:57 -0000       1.7
  @@ -37,7 +37,7 @@
   
   
   
  -#include <xalanc/Include/XalanAutoPtr.hpp>
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
   
   
   
  @@ -96,11 +96,26 @@
        *
        */
       XercesDocumentWrapper(
  +            MemoryManagerType&          theManager,
               const DOMDocument_Type*     theXercesDocument,
               bool                        threadSafe = true,
               bool                        buildWrapper = true,
               bool                        buildMaps = false);
   
  +    static XercesDocumentWrapper*
  +    create( 
  +            MemoryManagerType&          theManager,
  +                     const DOMDocument_Type*         theXercesDocument,
  +                     bool                                            
threadSafe,
  +                     bool                                            
buildWrapper,
  +                     bool                                            
buildMaps);
  +
  +    MemoryManagerType&
  +    getMemoryManager() const
  +    {
  +        return m_nodeMap.getMemoryManager();
  +    }
  +
       virtual
       ~XercesDocumentWrapper();
   
  @@ -552,7 +567,7 @@
   
       mutable XercesWrapperToXalanNodeMap     m_nodeMap;
   
  -    XalanAutoPtr<XalanDOMImplementation>    m_domImplementation;
  +    XalanMemMgrAutoPtr<XalanDOMImplementation, true>    m_domImplementation;
   
       mutable XercesWrapperNavigatorAllocator m_navigatorAllocator;
   
  @@ -578,7 +593,7 @@
   
       mutable XercesAttrWrapperAllocator      m_attributeAllocator;
   
  -    const XalanAutoPtr<XalanDOMStringPool>  m_stringPool;
  +    const XalanMemMgrAutoPtr<XalanDOMStringPool,true>  m_stringPool;
   };
   
   
  
  
  
  1.5       +4 -0      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMFormatterWalker.hpp
  
  Index: XercesDOMFormatterWalker.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMFormatterWalker.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesDOMFormatterWalker.hpp      26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesDOMFormatterWalker.hpp      8 Nov 2004 18:13:57 -0000       1.5
  @@ -19,6 +19,9 @@
   
   
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
  +
  +#include <xalanc/Include/XalanMemoryManagement.hpp>
  +
   #include <xalanc/XercesParserLiaison/XercesDOMWalker.hpp>
   
   
  @@ -61,6 +64,7 @@
   private:
   
        FormatterListener&      m_formatterListener;
  +
   
   };
   
  
  
  
  1.5       +15 -0     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMImplementationWrapper.cpp
  
  Index: XercesDOMImplementationWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMImplementationWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesDOMImplementationWrapper.cpp        26 Feb 2004 23:07:14 -0000      
1.4
  +++ XercesDOMImplementationWrapper.cpp        8 Nov 2004 18:13:57 -0000       
1.5
  @@ -54,6 +54,21 @@
   {
   }
   
  +XercesDOMImplementationWrapper*
  +XercesDOMImplementationWrapper::create(MemoryManagerType& theManager, 
DOMImplementationType* theXercesDOMImplementation)
  +{
  +        typedef XercesDOMImplementationWrapper ThisType;
  +        
  +        XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +        ThisType* theResult = theGuard.get();
  +
  +        new (theResult) ThisType(theXercesDOMImplementation);
  +
  +        theGuard.release();
  +
  +        return theResult;
  +}
   
   
   bool
  
  
  
  1.6       +4 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMImplementationWrapper.hpp
  
  Index: XercesDOMImplementationWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMImplementationWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesDOMImplementationWrapper.hpp        26 Feb 2004 23:07:14 -0000      
1.5
  +++ XercesDOMImplementationWrapper.hpp        8 Nov 2004 18:13:57 -0000       
1.6
  @@ -20,7 +20,7 @@
   
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
   
  -
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
   
   #include <xalanc/XalanDOM/XalanDOMImplementation.hpp>
   
  @@ -43,6 +43,9 @@
   public:
   
        XercesDOMImplementationWrapper(DOMImplementationType*   
theXercesDOMImplementation);
  +
  +    static XercesDOMImplementationWrapper*
  +    create(MemoryManagerType& theManager, DOMImplementationType*     
theXercesDOMImplementation);
   
        virtual
        ~XercesDOMImplementationWrapper();
  
  
  
  1.5       +5 -4      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMSupport.cpp
  
  Index: XercesDOMSupport.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMSupport.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesDOMSupport.cpp      26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesDOMSupport.cpp      8 Nov 2004 18:13:57 -0000       1.5
  @@ -36,9 +36,9 @@
   
   
   
  -XercesDOMSupport::XercesDOMSupport() :
  +XercesDOMSupport::XercesDOMSupport(MemoryManagerType& theManager) :
        DOMSupport(),
  -     m_domSupportDefault()
  +     m_domSupportDefault(theManager)
   {
   }
   
  @@ -61,9 +61,10 @@
   const XalanDOMString&
   XercesDOMSupport::getUnparsedEntityURI(
                        const XalanDOMString&   theName,
  -                     const XalanDocument&    theDocument) const
  +                     const XalanDocument&    theDocument,
  +            XalanDOMString&          theURI) const
   {
  -     return m_domSupportDefault.getUnparsedEntityURI(theName, theDocument);
  +     return m_domSupportDefault.getUnparsedEntityURI(theName, theDocument, 
theURI);
   }
   
   
  
  
  
  1.5       +3 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMSupport.hpp
  
  Index: XercesDOMSupport.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesDOMSupport.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesDOMSupport.hpp      26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesDOMSupport.hpp      8 Nov 2004 18:13:57 -0000       1.5
  @@ -36,7 +36,7 @@
   {
   public:
   
  -     XercesDOMSupport();
  +     XercesDOMSupport(MemoryManagerType& theManager);
   
        virtual
        ~XercesDOMSupport();
  @@ -51,7 +51,8 @@
        virtual const XalanDOMString&
        getUnparsedEntityURI(
                        const XalanDOMString&   theName,
  -                     const XalanDocument&    theDocument) const;
  +                     const XalanDocument&    theDocument,
  +            XalanDOMString&          theURI) const;
   
        virtual bool
        isNodeAfter(
  
  
  
  1.5       +2 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesElementWrapperAllocator.cpp
  
  Index: XercesElementWrapperAllocator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesElementWrapperAllocator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesElementWrapperAllocator.cpp 26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesElementWrapperAllocator.cpp 8 Nov 2004 18:13:57 -0000       1.5
  @@ -23,8 +23,8 @@
   
   
   
  -XercesElementWrapperAllocator::XercesElementWrapperAllocator(size_type       
theBlockCount) :
  -     m_allocator(theBlockCount)
  
+XercesElementWrapperAllocator::XercesElementWrapperAllocator(MemoryManagerType&
  theManager, size_type       theBlockCount) :
  +     m_allocator(theManager, theBlockCount)
   {
   }
   
  
  
  
  1.5       +1 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesElementWrapperAllocator.hpp
  
  Index: XercesElementWrapperAllocator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesElementWrapperAllocator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesElementWrapperAllocator.hpp 26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesElementWrapperAllocator.hpp 8 Nov 2004 18:13:57 -0000       1.5
  @@ -58,7 +58,7 @@
         *
         * @param theBlockSize The block size.
         */
  -     XercesElementWrapperAllocator(size_type theBlockCount);
  +     XercesElementWrapperAllocator(MemoryManagerType&  theManager, size_type 
theBlockCount);
   
        ~XercesElementWrapperAllocator();
        
  
  
  
  1.5       +18 -0     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityReferenceWrapper.cpp
  
  Index: XercesEntityReferenceWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityReferenceWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesEntityReferenceWrapper.cpp  26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesEntityReferenceWrapper.cpp  8 Nov 2004 18:13:57 -0000       1.5
  @@ -48,6 +48,24 @@
        assert(theXercesDOMEntityReference != 0);
   }
   
  +XercesEntityReferenceWrapper*
  +XercesEntityReferenceWrapper::create( MemoryManagerType& theManager,
  +                     const DOMEntityReferenceType*   
theXercesDOMEntityReference,
  +                     const XercesWrapperNavigator&   theNavigator)
  +
  +{
  +    typedef XercesEntityReferenceWrapper ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
  +
  +    new (theResult) ThisType(theXercesDOMEntityReference, theNavigator);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   
   XercesEntityReferenceWrapper::~XercesEntityReferenceWrapper()
  
  
  
  1.6       +7 -0      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityReferenceWrapper.hpp
  
  Index: XercesEntityReferenceWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityReferenceWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesEntityReferenceWrapper.hpp  26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesEntityReferenceWrapper.hpp  8 Nov 2004 18:13:57 -0000       1.6
  @@ -21,6 +21,8 @@
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
   
   
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  +
   
   #include <xalanc/XalanDOM/XalanEntityReference.hpp>
   
  @@ -44,6 +46,11 @@
   public:
   
        XercesEntityReferenceWrapper(
  +                     const DOMEntityReferenceType*   
theXercesDOMEntityReference,
  +                     const XercesWrapperNavigator&   theNavigator);
  +
  +    static XercesEntityReferenceWrapper*
  +    create( MemoryManagerType& theManager,
                        const DOMEntityReferenceType*   
theXercesDOMEntityReference,
                        const XercesWrapperNavigator&   theNavigator);
   
  
  
  
  1.5       +17 -0     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityWrapper.cpp
  
  Index: XercesEntityWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesEntityWrapper.cpp   26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesEntityWrapper.cpp   8 Nov 2004 18:13:57 -0000       1.5
  @@ -48,7 +48,24 @@
        assert(theXercesDOMEntity != 0);
   }
   
  +XercesEntityWrapper*
  +XercesEntityWrapper::create( MemoryManagerType& theManager,
  +                     const DOMEntityType*                    
theXercesDOMEntity,
  +                     const XercesWrapperNavigator&   theNavigator)
   
  +{
  +    typedef XercesEntityWrapper ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
  +
  +    new (theResult) ThisType(theXercesDOMEntity, theNavigator);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   XercesEntityWrapper::~XercesEntityWrapper()
   {
  
  
  
  1.6       +7 -0      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityWrapper.hpp
  
  Index: XercesEntityWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesEntityWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesEntityWrapper.hpp   26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesEntityWrapper.hpp   8 Nov 2004 18:13:57 -0000       1.6
  @@ -21,6 +21,8 @@
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
   
   
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  +
   
   #include <xalanc/XalanDOM/XalanEntity.hpp>
   
  @@ -44,6 +46,11 @@
   public:
   
        XercesEntityWrapper(
  +                     const DOMEntityType*                    
theXercesDOMEntity,
  +                     const XercesWrapperNavigator&   theNavigator);
  +
  +    static XercesEntityWrapper*
  +    create( MemoryManagerType& theManager,
                        const DOMEntityType*                    
theXercesDOMEntity,
                        const XercesWrapperNavigator&   theNavigator);
   
  
  
  
  1.5       +16 -2     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.cpp
  
  Index: XercesLiaisonXalanDOMStringPool.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesLiaisonXalanDOMStringPool.cpp       26 Feb 2004 23:07:14 -0000      
1.4
  +++ XercesLiaisonXalanDOMStringPool.cpp       8 Nov 2004 18:13:57 -0000       
1.5
  @@ -23,13 +23,27 @@
   
   
   
  -XercesLiaisonXalanDOMStringPool::XercesLiaisonXalanDOMStringPool() :
  -     ParentType(),
  
+XercesLiaisonXalanDOMStringPool::XercesLiaisonXalanDOMStringPool(MemoryManagerType&
 theManager) :
  +     ParentType(theManager),
        m_mutex()
   {
   }
   
  +XercesLiaisonXalanDOMStringPool*
  +XercesLiaisonXalanDOMStringPool::    create(MemoryManagerType& theManager)
  +{
  +    typedef XercesLiaisonXalanDOMStringPool ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
   
  +    new (theResult) ThisType(theManager);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   XercesLiaisonXalanDOMStringPool::~XercesLiaisonXalanDOMStringPool()
   {
  
  
  
  1.5       +4 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.hpp
  
  Index: XercesLiaisonXalanDOMStringPool.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesLiaisonXalanDOMStringPool.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesLiaisonXalanDOMStringPool.hpp       26 Feb 2004 23:07:14 -0000      
1.4
  +++ XercesLiaisonXalanDOMStringPool.hpp       8 Nov 2004 18:13:57 -0000       
1.5
  @@ -45,7 +45,10 @@
        typedef XERCES_CPP_NAMESPACE_QUALIFIER XMLMutexLock             
XMLMutexLockType;
   
        explicit
  -     XercesLiaisonXalanDOMStringPool();
  +     XercesLiaisonXalanDOMStringPool(MemoryManagerType& theManager);
  +
  +    static XercesLiaisonXalanDOMStringPool*
  +    create(MemoryManagerType& theManager);
   
        virtual
        ~XercesLiaisonXalanDOMStringPool();
  
  
  
  1.4       +5 -4      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNamedNodeMapAttributeList.cpp
  
  Index: XercesNamedNodeMapAttributeList.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNamedNodeMapAttributeList.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XercesNamedNodeMapAttributeList.cpp       26 Feb 2004 23:07:14 -0000      
1.3
  +++ XercesNamedNodeMapAttributeList.cpp       8 Nov 2004 18:13:57 -0000       
1.4
  @@ -123,13 +123,14 @@
        }
   }
   
  -
  -
   const XMLCh* 
  -XercesNamedNodeMapAttributeList::getValue(const char* const name) const
  +XercesNamedNodeMapAttributeList::getValue(const char* const /*name*/) const
   {
  -     return getValue(c_wstr(TranscodeFromLocalCodePage(name)));
  +    assert( 0 );
  +
  +    return 0;
   }
  +
   
   
   
  
  
  
  1.5       +2 -3      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNamedNodeMapAttributeList.hpp
  
  Index: XercesNamedNodeMapAttributeList.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNamedNodeMapAttributeList.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesNamedNodeMapAttributeList.hpp       31 Jul 2004 06:05:11 -0000      
1.4
  +++ XercesNamedNodeMapAttributeList.hpp       8 Nov 2004 18:13:57 -0000       
1.5
  @@ -66,10 +66,9 @@
       virtual const XMLCh*
        getValue(const XMLCh* const name) const;
   
  -     virtual const XMLCh* 
  -     getValue(const char* const name) const;
  -
   private:
  +    virtual const XMLCh* 
  +    getValue(const char* const name) const;
   
        // Not implemented...
        XercesNamedNodeMapAttributeList&
  
  
  
  1.5       +18 -0     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNotationWrapper.cpp
  
  Index: XercesNotationWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNotationWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesNotationWrapper.cpp 26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesNotationWrapper.cpp 8 Nov 2004 18:13:57 -0000       1.5
  @@ -46,6 +46,24 @@
        assert(theXercesDOMNotation != 0);
   }
   
  +XercesNotationWrapper*
  +XercesNotationWrapper::create( MemoryManagerType& theManager,
  +                     const DOMNotationType*                  
theXercesDOMNotation,
  +                     const XercesWrapperNavigator&   theNavigator)
  +
  +{
  +    typedef XercesNotationWrapper ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
  +
  +    new (theResult) ThisType(theXercesDOMNotation, theNavigator);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   
   XercesNotationWrapper::~XercesNotationWrapper()
  
  
  
  1.6       +7 -0      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNotationWrapper.hpp
  
  Index: XercesNotationWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesNotationWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesNotationWrapper.hpp 26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesNotationWrapper.hpp 8 Nov 2004 18:13:57 -0000       1.6
  @@ -21,6 +21,8 @@
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
   
   
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  +
   
   #include <xalanc/XalanDOM/XalanNotation.hpp>
   
  @@ -43,6 +45,11 @@
   public:
   
        XercesNotationWrapper(
  +                     const DOMNotationType*                  
theXercesDOMNotation,
  +                     const XercesWrapperNavigator&   theNavigator);
  +
  +    static XercesNotationWrapper*
  +    create( MemoryManagerType& theManager,
                        const DOMNotationType*                  
theXercesDOMNotation,
                        const XercesWrapperNavigator&   theNavigator);
   
  
  
  
  1.9       +63 -39    
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.cpp
  
  Index: XercesParserLiaison.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XercesParserLiaison.cpp   13 Mar 2004 00:44:56 -0000      1.8
  +++ XercesParserLiaison.cpp   8 Nov 2004 18:13:57 -0000       1.9
  @@ -38,6 +38,7 @@
   
   
   #include <xalanc/Include/XalanAutoPtr.hpp>
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
   #include <xalanc/Include/STLHelper.hpp>
   
   
  @@ -63,8 +64,7 @@
   XALAN_CPP_NAMESPACE_BEGIN
   
   
  -
  -XercesParserLiaison::XercesParserLiaison(XercesDOMSupport&   /* theSupport 
*/) :
  +XercesParserLiaison::XercesParserLiaison(MemoryManagerType& theManager, 
XercesDOMSupport&    /* theSupport */) :
        m_indent(-1),
        m_useValidation(false),
        m_includeIgnorableWhitespace(true),
  @@ -72,9 +72,9 @@
        m_exitOnFirstFatalError(true),
        m_entityResolver(0),
        m_errorHandler(this),
  -     m_externalSchemaLocation(),
  -     m_externalNoNamespaceSchemaLocation(),
  -     m_documentMap(),
  +     m_externalSchemaLocation(theManager),
  +     m_externalNoNamespaceSchemaLocation(theManager),
  +     m_documentMap(theManager),
        m_buildBridge(true),
        m_threadSafe(false),
        m_buildMaps(false),
  @@ -84,7 +84,7 @@
   
   
   
  -XercesParserLiaison::XercesParserLiaison() :
  +XercesParserLiaison::XercesParserLiaison(MemoryManagerType& theManager) :
        m_indent(-1),
        m_useValidation(false),
        m_includeIgnorableWhitespace(true),
  @@ -92,9 +92,9 @@
        m_exitOnFirstFatalError(true),
        m_entityResolver(0),
        m_errorHandler(this),
  -     m_externalSchemaLocation(),
  -     m_externalNoNamespaceSchemaLocation(),
  -     m_documentMap(),
  +     m_externalSchemaLocation(theManager),
  +     m_externalNoNamespaceSchemaLocation(theManager),
  +     m_documentMap(theManager),
        m_buildWrapper(true),
        m_buildBridge(true),
        m_threadSafe(false),
  @@ -123,18 +123,26 @@
                if ((*i).second.isDeprecated() == false &&
                        (*i).second.isOwned() == true)
                {
  -#if defined(XALAN_CANNOT_DELETE_CONST)
  -                     delete 
(DOMDocument_Type*)(*i).second.m_wrapper->getXercesDocument();
  -#else
  -                     delete (*i).second.m_wrapper->getXercesDocument();
  -#endif
  +                     DOMDocument_Type* docToDelete =  
const_cast<DOMDocument_Type*>((*i).second.m_wrapper->getXercesDocument());
  +
  +            if(docToDelete != 0 )
  +            {
  +                docToDelete->~DOMDocument_Type();
  +
  +                getMemoryManager().deallocate((void*)docToDelete);
  +            }
  +
                }
   
  -#if defined(XALAN_CANNOT_DELETE_CONST)
  -             delete (XalanDocument*)(*i).first;
  -#else
  -             delete (*i).first;
  -#endif
  +        XalanDocument* docToDelete = const_cast<XalanDocument*>((*i).first);
  +
  +        if(docToDelete != 0)
  +        {
  +            docToDelete->~XalanDocument();
  +
  +            getMemoryManager().deallocate((void*)docToDelete);
  +        }
  +
        }
   
        m_documentMap.clear();
  @@ -244,7 +252,8 @@
   
        if (i != m_documentMap.end())
        {
  -             const XalanAutoPtr<XalanDocument>       theGuard(theDocument);
  +             const XalanMemMgrAutoPtr<XalanDocument, true>   
theGuard(m_documentMap.getMemoryManager(),
  +                                                                 
theDocument);
   
                m_documentMap.erase(i);
        }
  @@ -284,10 +293,12 @@
   
   
   
  -const XalanDOMString
  -XercesParserLiaison::getParserDescription() const
  +const XalanDOMString&
  +XercesParserLiaison::getParserDescription(XalanDOMString& theResult) const
   {
  -     return StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("Xerces"));
  +    theResult.assign("Xerces");
  +
  +     return theResult;
   }
   
   
  @@ -526,7 +537,9 @@
   void
   XercesParserLiaison::fatalError(const SAXParseExceptionType& e)
   {
  -     XalanDOMString  theMessage = 
XalanMessageLoader::getMessage(XalanMessages::FatalError);
  +     XalanDOMString  theMessage( getMemoryManager());
  +    
  +    XalanMessageLoader::getMessage(XalanMessages::FatalError, theMessage);
   
        formatErrorMessage(e, theMessage);
   
  @@ -552,7 +565,8 @@
   void
   XercesParserLiaison::error(const SAXParseExceptionType&      e)
   {
  -     XalanDOMString  theMessage = 
XalanMessageLoader::getMessage(XalanMessages::Error2);
  +     XalanDOMString  theMessage( getMemoryManager());
  +    XalanMessageLoader::getMessage(XalanMessages::Error2, theMessage);
   
        formatErrorMessage(e, theMessage);
   
  @@ -581,7 +595,9 @@
   void
   XercesParserLiaison::warning(const SAXParseExceptionType&    e)
   {
  -     XalanDOMString  theMessage = 
XalanMessageLoader::getMessage(XalanMessages::Warning2);
  +     XalanDOMString  theMessage( getMemoryManager());
  +
  +    XalanMessageLoader::getMessage(XalanMessages::Warning2,theMessage );
   
        formatErrorMessage(e, theMessage);
   
  @@ -608,21 +624,29 @@
   
        const XalanDOMChar* const       theSystemID = e.getSystemId();
   
  +    XalanDOMString theLineNumber( theMessage.getMemoryManager());
  +    XalanDOMString theColumnNumb( theMessage.getMemoryManager());
  +
  +    LongToDOMString(long(e.getLineNumber()), theLineNumber);
  +    LongToDOMString(long(e.getColumnNumber()), theColumnNumb);
  +
  +    XalanDOMString theErrorMsg( theMessage.getMemoryManager());
  +
        if (theSystemID == 0 || length(theSystemID) == 0)
        {
  -
  -             
append(theMessage,XalanMessageLoader::getMessage(XalanMessages::AtUnknownFileLineColumn_2Param
  -                     ,LongToDOMString(long(e.getLineNumber()))
  -                     ,LongToDOMString(long(e.getColumnNumber()))
  -                     ));
  +        
  +             
append(theMessage,XalanMessageLoader::getMessage(XalanMessages::AtUnknownFileLineColumn_2Param,
  +            theErrorMsg,
  +                     theLineNumber,
  +                     theColumnNumb));
        }
        else
        {
  -             
append(theMessage,XalanMessageLoader::getMessage(XalanMessages::AtFileLineColumn_3Param
  -                     ,XalanDOMString(theSystemID)
  -                     ,LongToDOMString(long(e.getLineNumber()))
  -                     ,LongToDOMString(long(e.getColumnNumber()))
  -                     ));
  +             
append(theMessage,XalanMessageLoader::getMessage(XalanMessages::AtFileLineColumn_3Param,
  +            theErrorMsg,
  +                     XalanDOMString(theSystemID, 
theMessage.getMemoryManager()),
  +                     theLineNumber,
  +                     theColumnNumb));
        }
   
        append(theMessage, e.getMessage());
  @@ -640,7 +664,7 @@
   XercesParserLiaison::DOMParserType*
   XercesParserLiaison::CreateDOMParser()
   {
  -     DOMParserType* const    theParser = new DOMParserType;
  +     DOMParserType* const    theParser = new 
DOMParserType(0,&(getMemoryManager()));
   
        theParser->setExpandEntityReferences(true);
   
  @@ -683,7 +707,7 @@
   XercesParserLiaison::SAXParserType*
   XercesParserLiaison::CreateSAXParser()
   {
  -     SAXParserType* const    theParser = new SAXParserType;
  +     SAXParserType* const    theParser = new 
SAXParserType(0,&(getMemoryManager()));
   
        theParser->setDoValidation(false);
   
  @@ -730,7 +754,7 @@
                        bool                                            isOwned)
   {
        XercesDocumentWrapper* const            theNewDocument =
  -             new XercesDocumentWrapper(theXercesDocument, threadSafe, 
buildWrapper, buildMaps);
  +        XercesDocumentWrapper::create(getMemoryManager(),theXercesDocument, 
threadSafe, buildWrapper, buildMaps);
   
        DocumentEntry&  theEntry = m_documentMap[theNewDocument];
        
  
  
  
  1.9       +14 -6     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.hpp
  
  Index: XercesParserLiaison.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesParserLiaison.hpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XercesParserLiaison.hpp   31 Aug 2004 14:20:28 -0000      1.8
  +++ XercesParserLiaison.hpp   8 Nov 2004 18:13:57 -0000       1.9
  @@ -71,6 +71,7 @@
        public XMLParserLiaison,
        public ErrorHandlerType
   {
  +    
   public:
   
        typedef XERCES_CPP_NAMESPACE_QUALIFIER SAXParser                        
SAXParserType;
  @@ -82,17 +83,24 @@
         *
         * @deprecated This constructor is deprecated.  Use the next 
constructor instead.
         */
  -     XercesParserLiaison(XercesDOMSupport&   theSupport);
  +     XercesParserLiaison(MemoryManagerType& theManager, XercesDOMSupport&    
theSupport);
   
        /**
         * Construct a XercesParserLiaison instance.
         */
  -     XercesParserLiaison();
  +     XercesParserLiaison(MemoryManagerType& theManager);
   
        virtual
        ~XercesParserLiaison();
   
  +
  +
        // These interfaces are inherited from XMLParserLiaison...
  +    MemoryManagerType&
  +    getMemoryManager()
  +    {
  +        return m_externalSchemaLocation.getMemoryManager();
  +    }
   
        virtual void
        reset();
  @@ -106,13 +114,13 @@
        virtual XalanDocument*
        parseXMLStream(
                        const InputSourceType&  reader,
  -                     const XalanDOMString&   identifier = XalanDOMString());
  +                     const XalanDOMString&   identifier = 
XalanDOMString(XalanMemMgrs::getDummyMemMgr()));
   
        virtual void
        parseXMLStream(
                        const InputSourceType&  urlInputSource,
                        DocumentHandlerType&    handler,
  -                     const XalanDOMString&   identifier = XalanDOMString());
  +                     const XalanDOMString&   identifier = 
XalanDOMString(XalanMemMgrs::getDummyMemMgr()));
   
        virtual void
        destroyDocument(XalanDocument*  theDocument);
  @@ -129,8 +137,8 @@
        virtual void
        setUseValidation(bool   b);
   
  -     virtual const XalanDOMString
  -     getParserDescription() const;
  +     virtual const XalanDOMString&
  +     getParserDescription(XalanDOMString& theResult) const;
   
        virtual EntityResolverType*
        getEntityResolver() const;
  
  
  
  1.5       +17 -0     
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesProcessingInstructionWrapper.cpp
  
  Index: XercesProcessingInstructionWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesProcessingInstructionWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesProcessingInstructionWrapper.cpp    26 Feb 2004 23:07:14 -0000      
1.4
  +++ XercesProcessingInstructionWrapper.cpp    8 Nov 2004 18:13:57 -0000       
1.5
  @@ -46,7 +46,24 @@
        assert(theXercesDOMProcessingInstruction != 0);
   }
   
  +XercesProcessingInstructionWrapper*
  +XercesProcessingInstructionWrapper::create( MemoryManagerType& theManager,
  +                     const DOMProcessingInstructionType*             
theXercesDOMProcessingInstruction,
  +                     const XercesWrapperNavigator&                   
theNavigator)
   
  +{
  +    typedef XercesProcessingInstructionWrapper ThisType;
  +
  +    XalanMemMgrAutoPtr<ThisType, false> theGuard( theManager , 
(ThisType*)theManager.allocate(sizeof(ThisType)));
  +
  +    ThisType* theResult = theGuard.get();
  +
  +    new (theResult) ThisType(theXercesDOMProcessingInstruction, 
theNavigator);
  +
  +    theGuard.release();
  +
  +    return theResult;
  +}
   
   XercesProcessingInstructionWrapper::~XercesProcessingInstructionWrapper()
   {
  
  
  
  1.6       +7 -0      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesProcessingInstructionWrapper.hpp
  
  Index: XercesProcessingInstructionWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesProcessingInstructionWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesProcessingInstructionWrapper.hpp    26 Feb 2004 23:07:14 -0000      
1.5
  +++ XercesProcessingInstructionWrapper.hpp    8 Nov 2004 18:13:57 -0000       
1.6
  @@ -21,6 +21,8 @@
   #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
   
   
  +#include <xalanc/Include/XalanMemMgrAutoPtr.hpp>
  +
   
   #include <xalanc/XalanDOM/XalanProcessingInstruction.hpp>
   
  @@ -43,6 +45,11 @@
   public:
   
        XercesProcessingInstructionWrapper(
  +                     const DOMProcessingInstructionType*             
theXercesDOMProcessingInstruction,
  +                     const XercesWrapperNavigator&                   
theNavigator);
  +
  +    static XercesProcessingInstructionWrapper*
  +    create( MemoryManagerType& theManager,
                        const DOMProcessingInstructionType*             
theXercesDOMProcessingInstruction,
                        const XercesWrapperNavigator&                   
theNavigator);
   
  
  
  
  1.5       +6 -3      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapper.cpp
  
  Index: XercesTextWrapper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesTextWrapper.cpp     26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesTextWrapper.cpp     8 Nov 2004 18:13:57 -0000       1.5
  @@ -301,12 +301,15 @@
   
   
   
  -XalanDOMString
  +XalanDOMString&
   XercesTextWrapper::substringData(
                        unsigned int    offset, 
  -                     unsigned int    count) const
  +                     unsigned int    count,
  +            XalanDOMString& theResult) const
   {
  -     return XercesWrapperHelper::substringData(m_xercesNode, offset, count);
  +    XercesWrapperHelper::substringData(m_xercesNode, offset, count, 
theResult);
  +
  +     return theResult;
   }
   
   
  
  
  
  1.6       +3 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapper.hpp
  
  Index: XercesTextWrapper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesTextWrapper.hpp     26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesTextWrapper.hpp     8 Nov 2004 18:13:57 -0000       1.6
  @@ -441,10 +441,11 @@
         *       <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text 
does not 
         *       fit into a <code>DOMString</code>.
         */
  -     virtual XalanDOMString
  +     virtual XalanDOMString&
        substringData(
                        unsigned int    offset, 
  -                     unsigned int    count) const;
  +                     unsigned int    count,
  +            XalanDOMString& theResult) const;
   
        //@}
        /** @name Functions that set or change data. */
  
  
  
  1.5       +2 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapperAllocator.cpp
  
  Index: XercesTextWrapperAllocator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapperAllocator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesTextWrapperAllocator.cpp    26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesTextWrapperAllocator.cpp    8 Nov 2004 18:13:57 -0000       1.5
  @@ -23,8 +23,8 @@
   
   
   
  -XercesTextWrapperAllocator::XercesTextWrapperAllocator(size_type     
theBlockCount) :
  -     m_allocator(theBlockCount)
  +XercesTextWrapperAllocator::XercesTextWrapperAllocator(MemoryManagerType&  
theManager, size_type     theBlockCount) :
  +     m_allocator(theManager, theBlockCount)
   {
   }
   
  
  
  
  1.5       +1 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapperAllocator.hpp
  
  Index: XercesTextWrapperAllocator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesTextWrapperAllocator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesTextWrapperAllocator.hpp    26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesTextWrapperAllocator.hpp    8 Nov 2004 18:13:57 -0000       1.5
  @@ -58,7 +58,7 @@
         *
         * @param theBlockSize The block size.
         */
  -     XercesTextWrapperAllocator(size_type    theBlockCount);
  +     XercesTextWrapperAllocator(MemoryManagerType&  theManager, size_type    
theBlockCount);
   
        ~XercesTextWrapperAllocator();
        
  
  
  
  1.5       +5 -3      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperHelper.cpp
  
  Index: XercesWrapperHelper.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperHelper.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesWrapperHelper.cpp   26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesWrapperHelper.cpp   8 Nov 2004 18:13:57 -0000       1.5
  @@ -46,11 +46,12 @@
   
   
   
  -const XalanDOMString
  +const XalanDOMString&
   XercesWrapperHelper::substringData(
                        const DOMCharacterDataType*             theXercesNode,
                        unsigned int                                    offset,
  -                     unsigned int                                    count)
  +                     unsigned int                                    count,
  +            XalanDOMString& theResult)
   {
        assert(theXercesNode != 0);
   
  @@ -58,7 +59,8 @@
        {
                const XMLCh* const      theString = 
theXercesNode->substringData(offset, count);
   
  -             return XalanDOMString(theString, 
XalanDOMString::length(theString));
  +        theResult.assign(theString, XalanDOMString::length(theString));
  +             return theResult;
        }
        catch(const DOMExceptionType&   theException)
        {
  
  
  
  1.6       +3 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperHelper.hpp
  
  Index: XercesWrapperHelper.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperHelper.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesWrapperHelper.hpp   26 Feb 2004 23:07:14 -0000      1.5
  +++ XercesWrapperHelper.hpp   8 Nov 2004 18:13:57 -0000       1.6
  @@ -62,11 +62,12 @@
                        const XalanDOMString&   feature,
                        const XalanDOMString&   version);
   
  -     static const XalanDOMString
  +     static const XalanDOMString&
        substringData(
                        const DOMCharacterDataType*             theXercesNode,
                        unsigned int                                    offset, 
  -                     unsigned int                                    count);
  +                     unsigned int                                    count,
  +            XalanDOMString&                 theResult);
   
   private:
   
  
  
  
  1.5       +1 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperNavigator.cpp
  
  Index: XercesWrapperNavigator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperNavigator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesWrapperNavigator.cpp        26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesWrapperNavigator.cpp        8 Nov 2004 18:13:57 -0000       1.5
  @@ -33,7 +33,7 @@
   
   
   
  -const XalanDOMString XercesWrapperNavigator::s_emptyString;
  +const XalanDOMString 
XercesWrapperNavigator::s_emptyString(XalanMemMgrs::getDummyMemMgr());
   
   
   
  
  
  
  1.2       +2 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperNavigatorAllocator.cpp
  
  Index: XercesWrapperNavigatorAllocator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperNavigatorAllocator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XercesWrapperNavigatorAllocator.cpp       12 Aug 2004 23:48:00 -0000      
1.1
  +++ XercesWrapperNavigatorAllocator.cpp       8 Nov 2004 18:13:57 -0000       
1.2
  @@ -23,8 +23,8 @@
   
   
   
  -XercesWrapperNavigatorAllocator::XercesWrapperNavigatorAllocator(size_type   
theBlockCount) :
  -     m_allocator(theBlockCount)
  
+XercesWrapperNavigatorAllocator::XercesWrapperNavigatorAllocator(MemoryManagerType&
 theManager, size_type    theBlockCount) :
  +     m_allocator(theManager, theBlockCount)
   {
   }
   
  
  
  
  1.2       +2 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperNavigatorAllocator.hpp
  
  Index: XercesWrapperNavigatorAllocator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperNavigatorAllocator.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XercesWrapperNavigatorAllocator.hpp       12 Aug 2004 23:48:00 -0000      
1.1
  +++ XercesWrapperNavigatorAllocator.hpp       8 Nov 2004 18:13:57 -0000       
1.2
  @@ -57,7 +57,8 @@
        *
        * @param theBlockSize The block size.
        */
  -    XercesWrapperNavigatorAllocator(size_type   theBlockCount);
  +    XercesWrapperNavigatorAllocator(MemoryManagerType&  theManager, 
  +                                        size_type       theBlockCount);
   
       ~XercesWrapperNavigatorAllocator();
       
  
  
  
  1.5       +2 -2      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperToXalanNodeMap.cpp
  
  Index: XercesWrapperToXalanNodeMap.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperToXalanNodeMap.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XercesWrapperToXalanNodeMap.cpp   26 Feb 2004 23:07:14 -0000      1.4
  +++ XercesWrapperToXalanNodeMap.cpp   8 Nov 2004 18:13:57 -0000       1.5
  @@ -34,8 +34,8 @@
   
   
   
  -XercesWrapperToXalanNodeMap::XercesWrapperToXalanNodeMap() :
  -     m_xercesMap()
  +XercesWrapperToXalanNodeMap::XercesWrapperToXalanNodeMap(MemoryManagerType& 
theManager) :
  +     m_xercesMap(theManager)
   {
   }
   
  
  
  
  1.6       +7 -1      
xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperToXalanNodeMap.hpp
  
  Index: XercesWrapperToXalanNodeMap.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/xalanc/XercesParserLiaison/XercesWrapperToXalanNodeMap.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XercesWrapperToXalanNodeMap.hpp   31 Aug 2004 14:20:28 -0000      1.5
  +++ XercesWrapperToXalanNodeMap.hpp   8 Nov 2004 18:13:57 -0000       1.6
  @@ -46,9 +46,15 @@
        typedef XalanMap<const DOMNodeType*, XalanNode*>        
XercesNodeMapType;
   
   
  -     XercesWrapperToXalanNodeMap();
  +     XercesWrapperToXalanNodeMap(MemoryManagerType& theManager);
   
        ~XercesWrapperToXalanNodeMap();
  +
  +    MemoryManagerType&
  +    getMemoryManager()
  +    {
  +        return m_xercesMap.getMemoryManager();
  +    }
   
        void
        addAssociation(
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to