peiyongz 2004/11/07 19:56:47
Modified: c/src/xercesc/internal XSerializeEngine.hpp
XSerializeEngine.cpp
Log:
setting/getting Storer level
Revision Changes Path
1.21 +37 -2 xml-xerces/c/src/xercesc/internal/XSerializeEngine.hpp
Index: XSerializeEngine.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XSerializeEngine.hpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- XSerializeEngine.hpp 27 Oct 2004 20:38:52 -0000 1.20
+++ XSerializeEngine.hpp 8 Nov 2004 03:56:47 -0000 1.21
@@ -16,6 +16,9 @@
/*
* $Log$
+ * Revision 1.21 2004/11/08 03:56:47 peiyongz
+ * setting/getting Storer level
+ *
* Revision 1.20 2004/10/27 20:38:52 peiyongz
* Optimized alignment for various data types
*
@@ -100,6 +103,7 @@
class BinOutputStream;
class BinInputStream;
class XMLGrammarPool;
+class XMLGrammarPoolImpl;
class XMLStringPool;
class XMLUTIL_EXPORT XSerializeEngine
@@ -259,6 +263,20 @@
/***
*
+ * Get the storer level (the level of the serialize engine
+ * which created the binary stream that this serialize engine
+ * is loading).
+ *
+ * The level returned is meaningful only when
+ * the engine isLoading.
+ *
+ * Return: level
+ *
+ ***/
+ inline unsigned short getStorerLevel() const;
+
+ /***
+ *
* Write object to the internal buffer.
*
* Param
@@ -699,6 +717,12 @@
// fStoreLoad:
// Indicator: storing(serialization) or
loading(de-serialization)
//
+ // fStorerLevel:
+ // The level of the serialize engine which created the
binary
+ // stream that this serialize engine is loading
+ //
+ // It is set by GrammarPool when loading
+ //
// fGrammarPool:
// Thw owning GrammarPool which instantiate this
SerializeEngine
// instance
@@ -735,7 +759,9 @@
//
// fMapCount:
//
-------------------------------------------------------------------------------
- const short fStoreLoad;
+ const short fStoreLoad;
+ short fStorerLevel;
+
XMLGrammarPool* const fGrammarPool;
BinInputStream* const fInputStream;
BinOutputStream* const fOutputStream;
@@ -775,6 +801,9 @@
* object counter
***/
XSerializedObjectId_t fObjectCount;
+
+ //to allow grammar pool to set storer level when loading
+ friend class XMLGrammarPoolImpl;
};
inline bool XSerializeEngine::isStoring() const
@@ -866,6 +895,12 @@
const unsigned long XSerializeEngine::getBufCount() const
{
return fBufCount;
+}
+
+inline
+unsigned short XSerializeEngine::getStorerLevel() const
+{
+ return fStorerLevel;
}
/***
1.22 +8 -1 xml-xerces/c/src/xercesc/internal/XSerializeEngine.cpp
Index: XSerializeEngine.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XSerializeEngine.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- XSerializeEngine.cpp 27 Oct 2004 20:38:52 -0000 1.21
+++ XSerializeEngine.cpp 8 Nov 2004 03:56:47 -0000 1.22
@@ -17,6 +17,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.22 2004/11/08 03:56:47 peiyongz
+ * setting/getting Storer level
+ *
* Revision 1.21 2004/10/27 20:38:52 peiyongz
* Optimized alignment for various data types
*
@@ -161,6 +164,7 @@
, XMLGrammarPool* const gramPool
, unsigned long bufSize)
:fStoreLoad(mode_Load)
+,fStorerLevel(0)
,fGrammarPool(gramPool)
,fInputStream(inStream)
,fOutputStream(0)
@@ -185,6 +189,7 @@
, XMLGrammarPool* const gramPool
, unsigned long bufSize)
:fStoreLoad(mode_Store)
+,fStorerLevel(0)
,fGrammarPool(gramPool)
,fInputStream(0)
,fOutputStream(outStream)
@@ -212,6 +217,7 @@
, MemoryManager* const manager
, unsigned long bufSize)
:fStoreLoad(mode_Load)
+,fStorerLevel(0)
,fGrammarPool(0)
,fInputStream(inStream)
,fOutputStream(0)
@@ -236,6 +242,7 @@
, MemoryManager* const manager
, unsigned long bufSize)
:fStoreLoad(mode_Store)
+,fStorerLevel(0)
,fGrammarPool(0)
,fInputStream(0)
,fOutputStream(outStream)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]