peiyongz 2003/10/17 14:13:05
Modified: c/src/xercesc/validators/datatype
DatatypeValidatorFactory.cpp
DatatypeValidatorFactory.hpp
Log:
Implement Serialization/Deserialization
Revision Changes Path
1.17 +33 -0
xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp
Index: DatatypeValidatorFactory.cpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- DatatypeValidatorFactory.cpp 18 May 2003 14:02:07 -0000 1.16
+++ DatatypeValidatorFactory.cpp 17 Oct 2003 21:13:05 -0000 1.17
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.17 2003/10/17 21:13:05 peiyongz
+ * Implement Serialization/Deserialization
+ *
* Revision 1.16 2003/05/18 14:02:07 knoaman
* Memory manager implementation: pass per instance manager.
*
@@ -227,6 +230,8 @@
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/XMLRegisterCleanup.hpp>
+#include <xercesc/internal/XTemplateSerializer.hpp>
+
XERCES_CPP_NAMESPACE_BEGIN
@@ -878,6 +883,34 @@
}
return datatypeValidator;
+}
+
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_TOCREATE(DatatypeValidatorFactory)
+
+void DatatypeValidatorFactory::serialize(XSerializeEngine& serEng)
+{
+
+ // Need not to serialize static data member, fBuiltInRegistry
+
+ if (serEng.isStoring())
+ {
+ /***
+ * Serialize RefHashTableOf<DatatypeValidator>
+ ***/
+ XTemplateSerializer::storeObject(fUserDefinedRegistry, serEng);
+ }
+ else
+ {
+ /***
+ * Deserialize RefHashTableOf<DatatypeValidator>
+ ***/
+ XTemplateSerializer::loadObject(&fUserDefinedRegistry, 29, true, serEng);
+ }
+
}
XERCES_CPP_NAMESPACE_END
1.11 +9 -2
xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp
Index: DatatypeValidatorFactory.hpp
===================================================================
RCS file:
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DatatypeValidatorFactory.hpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DatatypeValidatorFactory.hpp 22 May 2003 02:10:52 -0000 1.10
+++ DatatypeValidatorFactory.hpp 17 Oct 2003 21:13:05 -0000 1.11
@@ -87,6 +87,8 @@
#include <xercesc/validators/datatype/DatatypeValidator.hpp>
#include <xercesc/util/RefVectorOf.hpp>
+#include <xercesc/internal/XSerializable.hpp>
+
XERCES_CPP_NAMESPACE_BEGIN
// ---------------------------------------------------------------------------
@@ -97,7 +99,7 @@
typedef RefArrayVectorOf<XMLCh> XMLChRefVector;
-class VALIDATORS_EXPORT DatatypeValidatorFactory : public XMemory
+class VALIDATORS_EXPORT DatatypeValidatorFactory : public XSerializable, public
XMemory
{
public:
@@ -236,6 +238,11 @@
// Notification that lazy data has been deleted
// -----------------------------------------------------------------------
static void reinitRegistry();
+
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(DatatypeValidatorFactory)
private:
// -----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]