peiyongz 2003/10/17 14:14:30
Modified: c/src/xercesc/validators/DTD DTDAttDefList.cpp
DTDElementDecl.cpp DTDGrammar.cpp
Log:
using XTemplateSerializer
Revision Changes Path
1.4 +13 -45 xml-xerces/c/src/xercesc/validators/DTD/DTDAttDefList.cpp
Index: DTDAttDefList.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDAttDefList.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DTDAttDefList.cpp 10 Oct 2003 16:24:51 -0000 1.3
+++ DTDAttDefList.cpp 17 Oct 2003 21:14:30 -0000 1.4
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.4 2003/10/17 21:14:30 peiyongz
+ * using XTemplateSerializer
+ *
* Revision 1.3 2003/10/10 16:24:51 peiyongz
* Implementation of Serialization/Deserialization
*
@@ -87,6 +90,8 @@
// ---------------------------------------------------------------------------
#include <xercesc/validators/DTD/DTDAttDefList.hpp>
+#include <xercesc/internal/XTemplateSerializer.hpp>
+
XERCES_CPP_NAMESPACE_BEGIN
// ---------------------------------------------------------------------------
@@ -180,29 +185,10 @@
{
/***
*
- * Serialize RefHashTableOf<DTDAttDef>
+ * Serialize RefHashTableOf<DTDAttDef>
*
***/
- if (serEng.needToWriteTemplateObject(fList))
- {
- int itemNumber = 0;
- fEnum->Reset();
-
- while (fEnum->hasMoreElements())
- {
- fEnum->nextElement();
- itemNumber++;
- }
-
- serEng<<itemNumber;
-
- fEnum->Reset();
- while (fEnum->hasMoreElements())
- {
- DTDAttDef& curAttDef = fEnum->nextElement();
- curAttDef.serialize(serEng);
- }
- }
+ XTemplateSerializer::storeObject(fList, serEng);
// do not serialize fEnum
}
@@ -210,33 +196,15 @@
{
/***
*
- * Deserialize RefHashTableOf<DTDAttDef>
+ * Deserialize RefHashTableOf<DTDAttDef>
*
***/
- if (serEng.needToReadTemplateObject((void**)&fList))
+ XTemplateSerializer::loadObject(&fList, 3, true, serEng);
+
+ if (!fEnum && fList)
{
- if (!fList)
- {
- fList = new RefHashTableOf<DTDAttDef>(3);
- }
-
- serEng.registerTemplateObject(fList);
-
- int itemNumber = 0;
- serEng>>itemNumber;
-
- for (int itemIndex = 0; itemIndex < itemNumber; itemIndex++)
- {
- DTDAttDef* data = new DTDAttDef();
- data->serialize(serEng);
- fList->put((void*) data->getFullName(), data);
- }
- }
-
- if (!fEnum)
- {
- fEnum = new RefHashTableOfEnumerator<DTDAttDef>(fList);
- }
+ fEnum = new RefHashTableOfEnumerator<DTDAttDef>(fList);
+ }
}
}
1.9 +7 -47 xml-xerces/c/src/xercesc/validators/DTD/DTDElementDecl.cpp
Index: DTDElementDecl.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDElementDecl.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DTDElementDecl.cpp 10 Oct 2003 16:24:51 -0000 1.8
+++ DTDElementDecl.cpp 17 Oct 2003 21:14:30 -0000 1.9
@@ -73,6 +73,8 @@
#include <xercesc/validators/DTD/DTDAttDefList.hpp>
#include <xercesc/validators/DTD/DTDElementDecl.hpp>
+#include <xercesc/internal/XTemplateSerializer.hpp>
+
XERCES_CPP_NAMESPACE_BEGIN
// ---------------------------------------------------------------------------
@@ -469,38 +471,14 @@
void DTDElementDecl::serialize(XSerializeEngine& serEng)
{
- /***
- RefHashTableOf<DTDAttDef>* fAttDefs;
- ***/
-
if (serEng.isStoring())
{
-
/***
*
- * Serialize RefHashTableOf<DTDAttDef>
+ * Serialize RefHashTableOf<DTDAttDef>
*
***/
- if (serEng.needToWriteTemplateObject(fAttDefs))
- {
- RefHashTableOfEnumerator<DTDAttDef> e(fAttDefs);
-
- int itemNumber = 0;
- while (e.hasMoreElements())
- {
- e.nextElement();
- itemNumber++;
- }
-
- serEng<<itemNumber;
-
- e.Reset();
- while (e.hasMoreElements())
- {
- DTDAttDef& curAttDef = e.nextElement();
- curAttDef.serialize(serEng);
- }
- }
+ XTemplateSerializer::storeObject(fAttDefs, serEng);
serEng<<fAttList;
serEng<<fContentSpec;
@@ -519,28 +497,10 @@
{
/***
*
- * Deserialize RefHashTableOf<DTDAttDef>
+ * Deserialize RefHashTableOf<DTDAttDef>
*
***/
- if (serEng.needToReadTemplateObject((void**)&fAttDefs))
- {
- if (!fAttDefs)
- {
- fAttDefs = new RefHashTableOf<DTDAttDef>(3);
- }
-
- serEng.registerTemplateObject(fAttDefs);
-
- int itemNumber = 0;
- serEng>>itemNumber;
-
- for (int itemIndex = 0; itemIndex < itemNumber; itemIndex++)
- {
- DTDAttDef* data = new DTDAttDef();
- data->serialize(serEng);
- fAttDefs->put((void*) data->getFullName(), data);
- }
- }
+ XTemplateSerializer::loadObject(&fAttDefs, 3, true, serEng);
serEng>>fAttList;
serEng>>fContentSpec;
1.11 +15 -44 xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.cpp
Index: DTDGrammar.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDGrammar.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- DTDGrammar.cpp 14 Oct 2003 15:20:42 -0000 1.10
+++ DTDGrammar.cpp 17 Oct 2003 21:14:30 -0000 1.11
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.11 2003/10/17 21:14:30 peiyongz
+ * using XTemplateSerializer
+ *
* Revision 1.10 2003/10/14 15:20:42 peiyongz
* Implementation of Serialization/Deserialization
*
@@ -110,6 +113,8 @@
#include <xercesc/validators/DTD/DTDGrammar.hpp>
#include <xercesc/validators/DTD/XMLDTDDescriptionImpl.hpp>
+#include <xercesc/internal/XTemplateSerializer.hpp>
+
XERCES_CPP_NAMESPACE_BEGIN
// ---------------------------------------------------------------------------
@@ -310,43 +315,21 @@
Grammar::serialize(serEng);
-/***
- NameIdPool<DTDElementDecl>* fElemDeclPool;
- NameIdPool<DTDElementDecl>* fElemNonDeclPool;
- NameIdPool<DTDEntityDecl>* fEntityDeclPool;
- NameIdPool<XMLNotationDecl>* fNotationDeclPool;
- unsigned int fRootElemId;
- bool fValidated;
- XMLDTDDescription* fGramDesc;
-***/
+ //don't serialize fDefaultEntities
if (serEng.isStoring())
{
- //don't serialize fDefaultEntities
-
/***
*
* Serialize NameIdPool<DTDElementDecl>* fElemDeclPool;
- *
- ***/
-
- /***
- *
* Serialize NameIdPool<DTDElementDecl>* fElemNonDeclPool;
- * TODO: will this data member removed?
- ***/
-
- /***
- *
* Serialize NameIdPool<DTDEntityDecl>* fEntityDeclPool;
- *
- ***/
-
- /***
- *
* Serialize NameIdPool<XMLNotationDecl>* fNotationDeclPool;
- *
***/
+ XTemplateSerializer::storeObject(fElemDeclPool, serEng);
+ XTemplateSerializer::storeObject(fElemNonDeclPool, serEng); //TODO: to be
removed
+ XTemplateSerializer::storeObject(fEntityDeclPool, serEng);
+ XTemplateSerializer::storeObject(fNotationDeclPool, serEng);
serEng<<fRootElemId;
serEng<<fValidated;
@@ -359,26 +342,14 @@
/***
*
* Deserialize NameIdPool<DTDElementDecl>* fElemDeclPool;
- *
- ***/
-
- /***
- *
* Deserialize NameIdPool<DTDElementDecl>* fElemNonDeclPool;
- * TODO: will this data member removed?
- ***/
-
- /***
- *
* Deserialize NameIdPool<DTDEntityDecl>* fEntityDeclPool;
- *
- ***/
-
- /***
- *
- * Deerialize NameIdPool<XMLNotationDecl>* fNotationDeclPool;
- *
+ * Deerialize NameIdPool<XMLNotationDecl>* fNotationDeclPool;
***/
+ XTemplateSerializer::loadObject(&fElemDeclPool, 109, 128, serEng);
+ XTemplateSerializer::loadObject(&fElemNonDeclPool, 109, 128, serEng);
//TODO: to be removed
+ XTemplateSerializer::loadObject(&fEntityDeclPool, 109, 128, serEng);
+ XTemplateSerializer::loadObject(&fNotationDeclPool, 109, 128, serEng);
serEng>>fRootElemId;
serEng>>fValidated;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]