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