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]