You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2001/10/24 01:14:55 UTC
cvs commit: xml-xerces/c/src/validators/schema GeneralAttributeCheck.cpp GeneralAttributeCheck.hpp
peiyongz 01/10/23 16:14:55
Modified: c/src/validators/schema GeneralAttributeCheck.cpp
GeneralAttributeCheck.hpp
Log:
[Bug#880] patch to PlatformUtils:init()/term() and related. from Mark Weaver
Revision Changes Path
1.9 +15 -5 xml-xerces/c/src/validators/schema/GeneralAttributeCheck.cpp
Index: GeneralAttributeCheck.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/validators/schema/GeneralAttributeCheck.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- GeneralAttributeCheck.cpp 2001/10/16 17:01:58 1.8
+++ GeneralAttributeCheck.cpp 2001/10/23 23:14:55 1.9
@@ -56,6 +56,9 @@
/*
* $Log: GeneralAttributeCheck.cpp,v $
+ * Revision 1.9 2001/10/23 23:14:55 peiyongz
+ * [Bug#880] patch to PlatformUtils:init()/term() and related. from Mark Weaver
+ *
* Revision 1.8 2001/10/16 17:01:58 knoaman
* Extra constraint checking.
*
@@ -96,7 +99,7 @@
#include <framework/XMLErrorCodes.hpp>
#include <validators/schema/TraverseSchema.hpp>
#include <util/PlatformUtils.hpp>
-#include <util/XMLDeleterFor.hpp>
+#include <util/XMLRegisterCleanup.hpp>
#include <validators/datatype/DatatypeValidatorFactory.hpp>
// ---------------------------------------------------------------------------
@@ -775,17 +778,24 @@
// GeneralAttributeCheck: Instance methods
// ---------------------------------------------------------------------------
GeneralAttributeCheck* GeneralAttributeCheck::instance() {
+ static XMLRegisterCleanup instanceCleanup;
if (!fInstance) {
fInstance = new GeneralAttributeCheck();
- XMLPlatformUtils::registerLazyData
- (
- new XMLDeleterFor<GeneralAttributeCheck>(fInstance)
- );
+ instanceCleanup.registerCleanup(reinitInstance);
}
return fInstance;
+}
+
+// -----------------------------------------------------------------------
+// Notification that lazy data has been deleted
+// -----------------------------------------------------------------------
+void
+GeneralAttributeCheck::reinitInstance() {
+ delete fInstance;
+ fInstance = 0;
}
// ---------------------------------------------------------------------------
1.5 +6 -1 xml-xerces/c/src/validators/schema/GeneralAttributeCheck.hpp
Index: GeneralAttributeCheck.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/validators/schema/GeneralAttributeCheck.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- GeneralAttributeCheck.hpp 2001/10/15 19:29:26 1.4
+++ GeneralAttributeCheck.hpp 2001/10/23 23:14:55 1.5
@@ -55,7 +55,7 @@
*/
/*
- * $Id: GeneralAttributeCheck.hpp,v 1.4 2001/10/15 19:29:26 knoaman Exp $
+ * $Id: GeneralAttributeCheck.hpp,v 1.5 2001/10/23 23:14:55 peiyongz Exp $
*/
#if !defined(GENERALATTRIBUTECHECK_HPP)
@@ -146,6 +146,11 @@
void checkAttributes(const DOM_Element& elem,
const unsigned short elemContext,
TraverseSchema* const schema);
+
+ // -----------------------------------------------------------------------
+ // Notification that lazy data has been deleted
+ // -----------------------------------------------------------------------
+ static void reinitInstance();
private:
// -----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org