peiyongz 2003/10/10 09:23:30
Modified: c/src/xercesc/framework Makefile.in XMLAttDef.cpp
XMLAttDef.hpp XMLAttDefList.hpp XMLElementDecl.cpp
XMLElementDecl.hpp XMLEntityDecl.cpp
XMLEntityDecl.hpp XMLNotationDecl.cpp
XMLNotationDecl.hpp
Added: c/src/xercesc/framework XMLAttDefList.cpp
Log:
Implementation of Serialization/Deserialization
Revision Changes Path
1.13 +4 -0 xml-xerces/c/src/xercesc/framework/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/Makefile.in,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Makefile.in 30 Sep 2003 18:14:34 -0000 1.12
+++ Makefile.in 10 Oct 2003 16:23:29 -0000 1.13
@@ -55,6 +55,9 @@
#
#
# $Log$
+# Revision 1.13 2003/10/10 16:23:29 peiyongz
+# Implementation of Serialization/Deserialization
+#
# Revision 1.12 2003/09/30 18:14:34 peiyongz
# Implementation of Serialization/Deserialization
#
@@ -209,6 +212,7 @@
Wrapper4DOMInputSource.$(TO) \
Wrapper4InputSource.$(TO) \
XMLAttDef.$(TO) \
+ XMLAttDefList.$(TO) \
XMLAttr.$(TO) \
XMLBuffer.$(TO) \
XMLBufferMgr.$(TO) \
1.7 +43 -1 xml-xerces/c/src/xercesc/framework/XMLAttDef.cpp
Index: XMLAttDef.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLAttDef.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XMLAttDef.cpp 1 Oct 2003 16:32:37 -0000 1.6
+++ XMLAttDef.cpp 10 Oct 2003 16:23:29 -0000 1.7
@@ -212,5 +212,47 @@
fMemoryManager->deallocate(fValue);
}
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_NOCREATE(XMLAttDef)
+
+void XMLAttDef::serialize(XSerializeEngine& serEng)
+{
+
+ if (serEng.isStoring())
+ {
+ serEng<<(int)fDefaultType;
+ serEng<<(int)fType;
+ serEng<<(int)fCreateReason;
+ serEng<<fProvided;
+ serEng<<fExternalAttribute;
+ serEng<<fId;
+
+ serEng.writeString(fValue);
+ serEng.writeString(fEnumeration);
+ }
+ else
+ {
+ int i;
+ serEng>>i;
+ fDefaultType = (DefAttTypes) i;
+
+ serEng>>i;
+ fType = (AttTypes)i;
+
+ serEng>>i;
+ fCreateReason = (CreateReasons)i;
+
+ serEng>>fProvided;
+ serEng>>fExternalAttribute;
+ serEng>>fId;
+
+ serEng.readString(fValue);
+ serEng.readString(fEnumeration);
+ }
+}
+
XERCES_CPP_NAMESPACE_END
1.10 +10 -1 xml-xerces/c/src/xercesc/framework/XMLAttDef.hpp
Index: XMLAttDef.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLAttDef.hpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XMLAttDef.hpp 16 May 2003 21:36:55 -0000 1.9
+++ XMLAttDef.hpp 10 Oct 2003 16:23:29 -0000 1.10
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.10 2003/10/10 16:23:29 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.9 2003/05/16 21:36:55 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -134,6 +137,7 @@
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/XMLString.hpp>
#include <xercesc/util/XMemory.hpp>
+#include <xercesc/internal/XSerializable.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -157,7 +161,7 @@
* enumerated or notation type, it will have an 'enumeration value' as well
* which is a space separated list of its possible vlaues.
*/
-class XMLPARSER_EXPORT XMLAttDef : public XMemory
+class XMLPARSER_EXPORT XMLAttDef : public XSerializable, public XMemory
{
public:
// -----------------------------------------------------------------------
@@ -507,6 +511,11 @@
void setExternalAttDeclaration(const bool aValue);
//@}
+
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(XMLAttDef)
protected :
// -----------------------------------------------------------------------
1.5 +11 -1 xml-xerces/c/src/xercesc/framework/XMLAttDefList.hpp
Index: XMLAttDefList.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLAttDefList.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLAttDefList.hpp 16 May 2003 21:36:55 -0000 1.4
+++ XMLAttDefList.hpp 10 Oct 2003 16:23:29 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/10/10 16:23:29 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.4 2003/05/16 21:36:55 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -89,6 +92,8 @@
#define XMLATTDEFLIST_HPP
#include <xercesc/util/XercesDefs.hpp>
+#include <xercesc/util/XMemory.hpp>
+#include <xercesc/internal/XSerializable.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -110,7 +115,8 @@
* there are portability issues with deriving from a template class in a
* DLL. It does though provide a similar enumerator interface.
*/
-class XMLPARSER_EXPORT XMLAttDefList : public XMemory
+
+class XMLPARSER_EXPORT XMLAttDefList : public XSerializable, public XMemory
{
public:
// -----------------------------------------------------------------------
@@ -151,6 +157,10 @@
virtual XMLAttDef& nextElement() = 0;
virtual void Reset() = 0;
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(XMLAttDefList)
protected :
// -----------------------------------------------------------------------
1.7 +31 -1 xml-xerces/c/src/xercesc/framework/XMLElementDecl.cpp
Index: XMLElementDecl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLElementDecl.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XMLElementDecl.cpp 18 May 2003 14:02:04 -0000 1.6
+++ XMLElementDecl.cpp 10 Oct 2003 16:23:29 -0000 1.7
@@ -135,5 +135,35 @@
{
}
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_NOCREATE(XMLElementDecl)
+
+void XMLElementDecl::serialize(XSerializeEngine& serEng)
+{
+
+ if (serEng.isStoring())
+ {
+ serEng<<fElementName;
+ serEng<<(int) fCreateReason;
+ serEng<<fId;
+ serEng<<fExternalElement;
+ }
+ else
+ {
+ serEng>>fElementName;
+
+ int i;
+ serEng>>i;
+ fCreateReason=(CreateReasons)i;
+
+ serEng>>fId;
+ serEng>>fExternalElement;
+ }
+
+}
+
XERCES_CPP_NAMESPACE_END
1.8 +9 -1 xml-xerces/c/src/xercesc/framework/XMLElementDecl.hpp
Index: XMLElementDecl.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLElementDecl.hpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLElementDecl.hpp 16 May 2003 21:36:55 -0000 1.7
+++ XMLElementDecl.hpp 10 Oct 2003 16:23:29 -0000 1.8
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.8 2003/10/10 16:23:29 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.7 2003/05/16 21:36:55 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -146,6 +149,7 @@
#include <xercesc/framework/XMLAttDefList.hpp>
#include <xercesc/util/XMLString.hpp>
#include <xercesc/util/PlatformUtils.hpp>
+#include <xercesc/internal/XSerializable.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -167,7 +171,7 @@
* with invalid or PCDATA element ids without having to know what type of
* validator its messing with.)
*/
-class XMLPARSER_EXPORT XMLElementDecl : public XMemory
+class XMLPARSER_EXPORT XMLElementDecl : public XSerializable, public XMemory
{
public:
// -----------------------------------------------------------------------
@@ -587,6 +591,10 @@
//@}
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(XMLElementDecl)
protected :
// -----------------------------------------------------------------------
1.9 +34 -1 xml-xerces/c/src/xercesc/framework/XMLEntityDecl.cpp
Index: XMLEntityDecl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLEntityDecl.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- XMLEntityDecl.cpp 1 Oct 2003 16:32:37 -0000 1.8
+++ XMLEntityDecl.cpp 10 Oct 2003 16:23:29 -0000 1.9
@@ -191,5 +191,38 @@
fMemoryManager->deallocate(fBaseURI);
}
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_NOCREATE(XMLEntityDecl)
+
+void XMLEntityDecl::serialize(XSerializeEngine& serEng)
+{
+
+ if (serEng.isStoring())
+ {
+ serEng<<fId;
+ serEng<<fValueLen;
+ serEng.writeString(fValue);
+ serEng.writeString(fName);
+ serEng.writeString(fNotationName);
+ serEng.writeString(fPublicId);
+ serEng.writeString(fSystemId);
+ serEng.writeString(fBaseURI);
+ }
+ else
+ {
+ serEng>>fId;
+ serEng>>fValueLen;
+ serEng.readString(fValue);
+ serEng.readString(fName);
+ serEng.readString(fNotationName);
+ serEng.readString(fPublicId);
+ serEng.readString(fSystemId);
+ serEng.readString(fBaseURI);
+ }
+}
+
XERCES_CPP_NAMESPACE_END
1.8 +9 -1 xml-xerces/c/src/xercesc/framework/XMLEntityDecl.hpp
Index: XMLEntityDecl.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLEntityDecl.hpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLEntityDecl.hpp 16 May 2003 21:36:55 -0000 1.7
+++ XMLEntityDecl.hpp 10 Oct 2003 16:23:29 -0000 1.8
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.8 2003/10/10 16:23:29 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.7 2003/05/16 21:36:55 knoaman
* Memory manager implementation: Modify constructors to pass in the memory manager.
*
@@ -106,6 +109,7 @@
#include <xercesc/util/XMemory.hpp>
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/XMLString.hpp>
+#include <xercesc/internal/XSerializable.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -127,7 +131,7 @@
* or whatever, at which time they confirm the correctness of the data before
* creating the entity decl object.
*/
-class XMLPARSER_EXPORT XMLEntityDecl : public XMemory
+class XMLPARSER_EXPORT XMLEntityDecl : public XSerializable, public XMemory
{
public:
// -----------------------------------------------------------------------
@@ -392,6 +396,10 @@
//@}
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(XMLEntityDecl)
private :
// -----------------------------------------------------------------------
1.8 +30 -0 xml-xerces/c/src/xercesc/framework/XMLNotationDecl.cpp
Index: XMLNotationDecl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLNotationDecl.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLNotationDecl.cpp 1 Oct 2003 16:32:38 -0000 1.7
+++ XMLNotationDecl.cpp 10 Oct 2003 16:23:29 -0000 1.8
@@ -56,6 +56,9 @@
/**
* $Log$
+ * Revision 1.8 2003/10/10 16:23:29 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.7 2003/10/01 16:32:38 neilg
* improve handling of out of memory conditions, bug #23415. Thanks to David
Cargill.
*
@@ -170,5 +173,32 @@
fMemoryManager->deallocate(fSystemId);
fMemoryManager->deallocate(fBaseURI);
}
+
+/***
+ * Support for Serialization/De-serialization
+ ***/
+
+IMPL_XSERIALIZABLE_TOCREATE(XMLNotationDecl)
+
+void XMLNotationDecl::serialize(XSerializeEngine& serEng)
+{
+ if (serEng.isStoring())
+ {
+ serEng<<fId;
+ serEng.writeString(fName);
+ serEng.writeString(fPublicId);
+ serEng.writeString(fSystemId);
+ serEng.writeString(fBaseURI);
+ }
+ else
+ {
+ serEng>>fId;
+ serEng.readString(fName);
+ serEng.readString(fPublicId);
+ serEng.readString(fSystemId);
+ serEng.readString(fBaseURI);
+ }
+}
+
XERCES_CPP_NAMESPACE_END
1.9 +9 -1 xml-xerces/c/src/xercesc/framework/XMLNotationDecl.hpp
Index: XMLNotationDecl.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLNotationDecl.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- XMLNotationDecl.hpp 22 May 2003 02:10:51 -0000 1.8
+++ XMLNotationDecl.hpp 10 Oct 2003 16:23:29 -0000 1.9
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.9 2003/10/10 16:23:29 peiyongz
+ * Implementation of Serialization/Deserialization
+ *
* Revision 1.8 2003/05/22 02:10:51 knoaman
* Default the memory manager.
*
@@ -108,6 +111,7 @@
#include <xercesc/util/XMemory.hpp>
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/XMLString.hpp>
+#include <xercesc/internal/XSerializable.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -120,7 +124,7 @@
* At this common level, the information supported is the notation name
* and the public and sysetm ids indicated in the notation declaration.
*/
-class XMLPARSER_EXPORT XMLNotationDecl : public XMemory
+class XMLPARSER_EXPORT XMLNotationDecl : public XSerializable, public XMemory
{
public:
// -----------------------------------------------------------------------
@@ -175,6 +179,10 @@
// -----------------------------------------------------------------------
const XMLCh* getKey() const;
+ /***
+ * Support for Serialization/De-serialization
+ ***/
+ DECL_XSERIALIZABLE(XMLNotationDecl)
private :
// -----------------------------------------------------------------------
1.1 xml-xerces/c/src/xercesc/framework/XMLAttDefList.cpp
Index: XMLAttDefList.cpp
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 1999-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xerces" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation, and was
* originally based on software copyright (c) 1999, International
* Business Machines, Inc., http://www.ibm.com . For more information
* on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
/**
* $Id: XMLAttDefList.cpp,v 1.1 2003/10/10 16:23:29 peiyongz Exp $
* $Log: XMLAttDefList.cpp,v $
* Revision 1.1 2003/10/10 16:23:29 peiyongz
* Implementation of Serialization/Deserialization
*
*/
// ---------------------------------------------------------------------------
// Includes
// ---------------------------------------------------------------------------
#include <xercesc/framework/XMLAttDefList.hpp>
XERCES_CPP_NAMESPACE_BEGIN
/***
* Support for Serialization/De-serialization
***/
IMPL_XSERIALIZABLE_NOCREATE(XMLAttDefList)
void XMLAttDefList::serialize(XSerializeEngine& serEng)
{
//no data
}
XERCES_CPP_NAMESPACE_END
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]