You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/09/26 00:23:25 UTC

cvs commit: xml-xerces/c/src/xercesc/util KVStringPair.cpp KVStringPair.hpp XMLUri.cpp XMLUri.hpp

peiyongz    2003/09/25 15:23:25

  Modified:    c/src/xercesc/util KVStringPair.cpp KVStringPair.hpp
                        XMLUri.cpp XMLUri.hpp
  Log:
  Implementation of Serialization/Deserialization
  
  Revision  Changes    Path
  1.5       +27 -0     xml-xerces/c/src/xercesc/util/KVStringPair.cpp
  
  Index: KVStringPair.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/KVStringPair.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KVStringPair.cpp	16 May 2003 06:01:52 -0000	1.4
  +++ KVStringPair.cpp	25 Sep 2003 22:23:25 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/09/25 22:23:25  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.4  2003/05/16 06:01:52  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -205,6 +208,30 @@
   {
       setKey(newKey);
       setValue(newValue);
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(KVStringPair)
  +
  +void KVStringPair::serialize(XSerializeEngine& serEng)
  +{
  +
  +    if (serEng.isStoring())
  +    {
  +
  +        serEng.writeString(fKey,   fKeyAllocSize,   XSerializeEngine::toWriteBufferLen);
  +        serEng.writeString(fValue, fValueAllocSize, XSerializeEngine::toWriteBufferLen);
  +    }
  +    else
  +    {
  +        int dataLen = 0;
  +        serEng.readString(fKey,   (int&)fKeyAllocSize,   dataLen, XSerializeEngine::toReadBufferLen);
  +        serEng.readString(fValue, (int&)fValueAllocSize, dataLen, XSerializeEngine::toReadBufferLen);
  +    }
  +
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +11 -1     xml-xerces/c/src/xercesc/util/KVStringPair.hpp
  
  Index: KVStringPair.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/KVStringPair.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KVStringPair.hpp	18 May 2003 14:02:05 -0000	1.5
  +++ KVStringPair.hpp	25 Sep 2003 22:23:25 -0000	1.6
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.6  2003/09/25 22:23:25  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/05/18 14:02:05  knoaman
    * Memory manager implementation: pass per instance manager.
    *
  @@ -128,6 +131,8 @@
   #include <xercesc/util/XMemory.hpp>
   #include <xercesc/util/PlatformUtils.hpp>
   
  +#include <xercesc/internal/XSerializable.hpp>
  +
   XERCES_CPP_NAMESPACE_BEGIN
   
   //
  @@ -135,7 +140,7 @@
   //  a pair of strings which represent a 'key=value' type mapping. It works
   //  only in terms of XMLCh type raw strings.
   //
  -class XMLUTIL_EXPORT KVStringPair : public XMemory
  +class XMLUTIL_EXPORT KVStringPair : public XSerializable, public XMemory
   {
   public:
       // -----------------------------------------------------------------------
  @@ -174,6 +179,11 @@
           , const XMLCh* const    newValue
       );
   
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(KVStringPair)
   
   private :
       // -----------------------------------------------------------------------
  
  
  
  1.15      +53 -1     xml-xerces/c/src/xercesc/util/XMLUri.cpp
  
  Index: XMLUri.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLUri.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- XMLUri.cpp	25 Jul 2003 10:15:16 -0000	1.14
  +++ XMLUri.cpp	25 Sep 2003 22:23:25 -0000	1.15
  @@ -1813,5 +1813,57 @@
       *outPtr = 0;
   }
   
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(XMLUri)
  +
  +void XMLUri::serialize(XSerializeEngine& serEng)
  +{
  +
  +    if (serEng.isStoring())
  +    {
  +
  +        serEng.writeString(fScheme);
  +        serEng.writeString(fUserInfo);
  +        serEng.writeString(fHost);
  +
  +        serEng<<fPort;
  +
  +        serEng.writeString(fPath);
  +        serEng.writeString(fQueryString);
  +        serEng.writeString(fFragment);
  +        serEng.writeString(fURIText);
  +    }
  +    else
  +    {
  +        serEng.readString(fScheme);
  +        serEng.readString(fUserInfo);
  +        serEng.readString(fHost);
  +
  +        serEng>>fPort;
  +
  +        serEng.readString(fPath);
  +        serEng.readString(fQueryString);
  +        serEng.readString(fFragment);
  +        serEng.readString(fURIText);
  +    }
  +
  +}
  +
  +XMLUri::XMLUri(MemoryManager* const manager)
  +: fScheme(0)
  +, fUserInfo(0)
  +, fHost(0)
  +, fPort(-1)
  +, fPath(0)
  +, fQueryString(0)
  +, fFragment(0)
  +, fURIText(0)
  +, fMemoryManager(manager)
  +{
  +}
  +
   XERCES_CPP_NAMESPACE_END
   
  
  
  
  1.11      +36 -2     xml-xerces/c/src/xercesc/util/XMLUri.hpp
  
  Index: XMLUri.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLUri.hpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XMLUri.hpp	25 Jul 2003 10:15:16 -0000	1.10
  +++ XMLUri.hpp	25 Sep 2003 22:23:25 -0000	1.11
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.11  2003/09/25 22:23:25  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.10  2003/07/25 10:15:16  gareth
    * Patch by Michael Glavassevich
    *
  @@ -128,6 +131,8 @@
   #include <xercesc/util/XMemory.hpp>
   #include <xercesc/util/XMLString.hpp>
   
  +#include <xercesc/internal/XSerializable.hpp>
  +
   XERCES_CPP_NAMESPACE_BEGIN
   
   /*
  @@ -139,7 +144,7 @@
    *
    */
   
  - class XMLUTIL_EXPORT XMLUri : public XMemory
  + class XMLUTIL_EXPORT XMLUri : public XSerializable, public XMemory
   {
   public:
   
  @@ -361,6 +366,12 @@
        */
       static bool isURIString(const XMLCh* const uric);
   
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(XMLUri)
  +
  +    XMLUri(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
   
   private:
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org