DOMImplementation.hpp

Go to the documentation of this file.
00001 #ifndef DOMImplementation_HEADER_GUARD_
00002 #define DOMImplementation_HEADER_GUARD_
00003 
00004 /*
00005  * Licensed to the Apache Software Foundation (ASF) under one or more
00006  * contributor license agreements.  See the NOTICE file distributed with
00007  * this work for additional information regarding copyright ownership.
00008  * The ASF licenses this file to You under the Apache License, Version 2.0
00009  * (the "License"); you may not use this file except in compliance with
00010  * the License.  You may obtain a copy of the License at
00011  * 
00012  *      http://www.apache.org/licenses/LICENSE-2.0
00013  * 
00014  * Unless required by applicable law or agreed to in writing, software
00015  * distributed under the License is distributed on an "AS IS" BASIS,
00016  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00017  * See the License for the specific language governing permissions and
00018  * limitations under the License.
00019  */
00020 
00021 /*
00022  * $Id: DOMImplementation.hpp 568078 2007-08-21 11:43:25Z amassari $
00023  */
00024 
00025 #include <xercesc/dom/DOMImplementationLS.hpp>
00026 #include <xercesc/dom/DOMException.hpp>
00027 #include <xercesc/dom/DOMRangeException.hpp>
00028 #include <xercesc/util/PlatformUtils.hpp>
00029 
00030 XERCES_CPP_NAMESPACE_BEGIN
00031 
00032 
00033 class DOMDocument;
00034 class DOMDocumentType;
00035 
00042 class CDOM_EXPORT DOMImplementation : public DOMImplementationLS
00043 {
00044 protected:
00045     // -----------------------------------------------------------------------
00046     //  Hidden constructors
00047     // -----------------------------------------------------------------------
00050         DOMImplementation() {};                                      // no plain constructor
00052 
00053 private:
00054     // -----------------------------------------------------------------------
00055     // Unimplemented constructors and operators
00056     // -----------------------------------------------------------------------
00059         DOMImplementation(const DOMImplementation &);   // no copy construtor.
00060         DOMImplementation & operator = (const DOMImplementation &);  // No Assignment
00062 
00063 
00064 public:
00065     // -----------------------------------------------------------------------
00066     //  All constructors are hidden, just the destructor is available
00067     // -----------------------------------------------------------------------
00074     virtual ~DOMImplementation() {};
00076 
00077     // -----------------------------------------------------------------------
00078     // Virtual DOMImplementation interface
00079     // -----------------------------------------------------------------------
00098     virtual bool  hasFeature(const XMLCh *feature,  const XMLCh *version) const = 0;
00100 
00101     // -----------------------------------------------------------------------
00102     // Functions introduced in DOM Level 2
00103     // -----------------------------------------------------------------------
00131     virtual  DOMDocumentType *createDocumentType(const XMLCh *qualifiedName,
00132                                                  const XMLCh *publicId,
00133                                                  const XMLCh *systemId) = 0;
00134 
00173     virtual DOMDocument *createDocument(const XMLCh *namespaceURI,
00174                                         const XMLCh *qualifiedName,
00175                                         DOMDocumentType *doctype,
00176                                         MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00177 
00179     // -----------------------------------------------------------------------
00180     // Functions introduced in DOM Level 3
00181     // -----------------------------------------------------------------------
00202     virtual DOMImplementation* getInterface(const XMLCh* feature) = 0;
00203 
00205 
00206     // -----------------------------------------------------------------------
00207     // Non-standard extension
00208     // -----------------------------------------------------------------------
00216     virtual DOMDocument *createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00217 
00225     static DOMImplementation *getImplementation();
00226 
00238     static bool loadDOMExceptionMsg
00239     (
00240         const   DOMException::ExceptionCode  msgToLoad
00241         ,       XMLCh* const                 toFill
00242         , const unsigned int                 maxChars
00243     );
00244 
00256     static bool loadDOMExceptionMsg
00257     (
00258         const   DOMRangeException::RangeExceptionCode  msgToLoad
00259         ,       XMLCh* const                           toFill
00260         , const unsigned int                           maxChars
00261     );
00263 
00264 };
00265 
00266 XERCES_CPP_NAMESPACE_END
00267 
00268 #endif

Generated on Thu Feb 19 11:35:43 2009 for Xerces-C++ by  doxygen 1.5.4