peiyongz 2003/10/17 14:10:55
Modified: c/src/xercesc/util XMLNumber.cpp XMLNumber.hpp
Log:
loadNumber() added
Revision Changes Path
1.4 +48 -1 xml-xerces/c/src/xercesc/util/XMLNumber.cpp
Index: XMLNumber.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLNumber.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XMLNumber.cpp 23 Sep 2003 18:16:07 -0000 1.3
+++ XMLNumber.cpp 17 Oct 2003 21:10:55 -0000 1.4
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.4 2003/10/17 21:10:55 peiyongz
+ * loadNumber() added
+ *
* Revision 1.3 2003/09/23 18:16:07 peiyongz
* Inplementation for Serialization/Deserialization
*
@@ -79,6 +82,14 @@
// ---------------------------------------------------------------------------
#include <xercesc/util/XMLNumber.hpp>
+//since we need to dynamically created each and every derivatives
+//during deserialization by XSerializeEngine>>Derivative, we got
+//to include all hpp
+#include <xercesc/util/XMLDouble.hpp>
+#include <xercesc/util/XMLFloat.hpp>
+#include <xercesc/util/XMLDateTime.hpp>
+#include <xercesc/util/XMLBigDecimal.hpp>
+
XERCES_CPP_NAMESPACE_BEGIN
XMLNumber::XMLNumber()
@@ -96,6 +107,42 @@
void XMLNumber::serialize(XSerializeEngine& serEng)
{
// this class has no data to serialize/de-serilize
+}
+
+XMLNumber* XMLNumber::loadNumber(XMLNumber::NumberType numType
+ , XSerializeEngine& serEng)
+{
+
+ switch((XMLNumber::NumberType) numType)
+ {
+ case XMLNumber::Float:
+ XMLFloat* floatNum;
+ serEng>>floatNum;
+ return floatNum;
+ break;
+ case XMLNumber::Double:
+ XMLDouble* doubleNum;
+ serEng>>doubleNum;
+ return doubleNum;
+ break;
+ case XMLNumber::BigDecimal:
+ XMLBigDecimal* bigdecimalNum;
+ serEng>>bigdecimalNum;
+ return bigdecimalNum;
+ break;
+ case XMLNumber::DateTime:
+ XMLDateTime* datetimeNum;
+ serEng>>datetimeNum;
+ return datetimeNum;
+ break;
+ case XMLNumber::UnKnown:
+ return 0;
+ break;
+ default: //we treat this same as UnKnown
+ return 0;
+ break;
+ }
+
}
XERCES_CPP_NAMESPACE_END
1.10 +7 -1 xml-xerces/c/src/xercesc/util/XMLNumber.hpp
Index: XMLNumber.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLNumber.hpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XMLNumber.hpp 2 Oct 2003 19:18:12 -0000 1.9
+++ XMLNumber.hpp 17 Oct 2003 21:10:55 -0000 1.10
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.10 2003/10/17 21:10:55 peiyongz
+ * loadNumber() added
+ *
* Revision 1.9 2003/10/02 19:18:12 peiyongz
* enum NumberType
*
@@ -164,6 +167,9 @@
* Support for Serialization/De-serialization
***/
DECL_XSERIALIZABLE(XMLNumber)
+
+ static XMLNumber* loadNumber(XMLNumber::NumberType numType
+ , XSerializeEngine& serEng);
protected:
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]