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]

Reply via email to