http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Charter
Release Info

Installation
Download
Build Instructions

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

Source Repository
User Mail Archive
Devel Mail Archive

API Docs for SAX and DOM
 

XMLGrammarDescription.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * $Id: XMLGrammarDescription.hpp 191054 2005-06-17 02:56:35Z jberry $
00019  */
00020 
00021 #if !defined(XMLGRAMMARDESCRIPTION_HPP)
00022 #define XMLGRAMMARDESCRIPTION_HPP
00023 
00024 #include <xercesc/util/XMemory.hpp>
00025 #include <xercesc/validators/common/Grammar.hpp>
00026 
00027 #include <xercesc/internal/XSerializable.hpp>
00028 
00029 XERCES_CPP_NAMESPACE_BEGIN
00030 
00031 class  XMLGrammarDescription : public XSerializable, public XMemory
00032 {
00033 public :
00034     // -----------------------------------------------------------------------
00036     // -----------------------------------------------------------------------
00038 
00042     virtual ~XMLGrammarDescription();
00044 
00045     // -----------------------------------------------------------------------
00047     // -----------------------------------------------------------------------
00049 
00053     virtual Grammar::GrammarType   getGrammarType() const = 0;
00054     
00059     virtual const XMLCh*           getGrammarKey() const = 0;    
00061     
00062     inline MemoryManager*          getMemoryManager() const;
00063 
00064     /***
00065      * Support for Serialization/De-serialization
00066      ***/
00067     DECL_XSERIALIZABLE(XMLGrammarDescription)
00068 
00069 protected :
00070     // -----------------------------------------------------------------------
00072     // -----------------------------------------------------------------------
00074     XMLGrammarDescription(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
00076 
00077 private :
00078     // -----------------------------------------------------------------------
00080     // -----------------------------------------------------------------------
00082     XMLGrammarDescription(const XMLGrammarDescription& );
00083     XMLGrammarDescription& operator=(const XMLGrammarDescription& );
00085 
00086     // -----------------------------------------------------------------------
00087     //
00088     // fMemMgr: plugged-in (or defaulted-in) memory manager, 
00089     //          not owned 
00090     //          no reset after initialization
00091     //          allow derivatives to access directly
00092     //
00093     // -----------------------------------------------------------------------    
00094     MemoryManager* const  fMemMgr;     
00095 };
00096 
00097 inline MemoryManager* XMLGrammarDescription::getMemoryManager() const
00098 {
00099     return fMemMgr;
00100 }
00101 
00102 XERCES_CPP_NAMESPACE_END
00103 
00104 #endif


Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.