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]

Reply via email to