You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ne...@apache.org on 2003/10/10 20:36:03 UTC
cvs commit: xml-xerces/c/src/xercesc/framework XMLGrammarPool.hpp
neilg 2003/10/10 11:36:03
Modified: c/src/xercesc/framework XMLGrammarPool.hpp
Log:
update XMLGrammarPool interface to make expected behaviour of locked pools better specified, and to add the capability to generate XSModels
Revision Changes Path
1.5 +29 -2 xml-xerces/c/src/xercesc/framework/XMLGrammarPool.hpp
Index: XMLGrammarPool.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLGrammarPool.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLGrammarPool.hpp 16 Sep 2003 18:30:54 -0000 1.4
+++ XMLGrammarPool.hpp 10 Oct 2003 18:36:03 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.5 2003/10/10 18:36:03 neilg
+ * update XMLGrammarPool interface to make expected behaviour of locked pools better specified, and to add the capability to generate XSModels
+ *
* Revision 1.4 2003/09/16 18:30:54 neilg
* make Grammar pool be responsible for creating and owning URI string pools. This is one more step towards having grammars be independent of the parsers involved in their creation
*
@@ -78,6 +81,7 @@
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/RefHashTableOf.hpp>
#include <xercesc/util/XMemory.hpp>
+#include <xercesc/framework/psvi/XSModel.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -159,6 +163,8 @@
*
* When this method is called by the application, the
* grammar pool should stop adding new grammars to the cache.
+ * This should result in the grammar pool being sharable
+ * among parsers operating in different threads.
*
*/
virtual void lockPool() = 0;
@@ -202,7 +208,28 @@
virtual XMLSchemaDescription* createSchemaDescription(const XMLCh* const targetNamespace) = 0;
//@}
+
+ // -----------------------------------------------------------------------
+ /** @name schema component model support
+ // -----------------------------------------------------------------------
+ //@{
+
+ /***
+ * If the grammar pool has been locked, this method returns
+ * an XSModel corresponding to the schema components represented
+ * by the objects stored in the pool. If the pool has not been
+ * locked, this must return null. If the pool is unlocked at
+ * any point, the underlying XSModel will be destroyed;
+ * applications must take care that, if they wish to unlock
+ * a pool, no further access is made to the XSModel
+ * it produced. The pool's XSModel will not be serialized,
+ * but, if a locked pool is deserialized, its XSModel
+ * will be recreated.
+ */
+ virtual XSModel *getXSModel() const = 0;
+ // @}
+
// -----------------------------------------------------------------------
/** @name Getter */
// -----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org