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