1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 /* 19 * $Id$ 20 */ 21 22 #if !defined(XERCESC_INCLUDE_GUARD_DOMDOCUMENTFRAGMENTIMPL_HPP) 23 #define XERCESC_INCLUDE_GUARD_DOMDOCUMENTFRAGMENTIMPL_HPP 24 25 // 26 // This file is part of the internal implementation of the C++ XML DOM. 27 // It should NOT be included or used directly by application programs. 28 // 29 // Applications should include the file <xercesc/dom/DOM.hpp> for the entire 30 // DOM API, or xercesc/dom/DOM*.hpp for individual DOM classes, where the class 31 // name is substituded for the *. 32 // 33 34 #include <xercesc/util/XercesDefs.hpp> 35 #include <xercesc/dom/DOMDocumentFragment.hpp> 36 #include "DOMNodeBase.hpp" 37 #include "DOMParentNode.hpp" 38 #include "DOMNodeImpl.hpp" 39 40 XERCES_CPP_NAMESPACE_BEGIN 41 42 43 class CDOM_EXPORT DOMDocumentFragmentImpl: public DOMDocumentFragment, 44 public HasDOMNodeImpl, public HasDOMParentImpl { 45 protected: 46 DOMNodeImpl fNode; 47 DOMParentNode fParent; 48 49 protected: 50 DOMDocumentFragmentImpl(DOMDocument *); 51 DOMDocumentFragmentImpl(const DOMDocumentFragmentImpl &other, bool deep); 52 friend class DOMDocumentImpl; 53 54 private: 55 // ----------------------------------------------------------------------- 56 // Unimplemented constructors and operators 57 // ----------------------------------------------------------------------- 58 DOMDocumentFragmentImpl & operator = (const DOMDocumentFragmentImpl &); 59 60 public: 61 virtual ~DOMDocumentFragmentImpl(); 62 63 public: 64 // Declare all of the functions from DOMNode. 65 DOMNODE_FUNCTIONS; 66 67 // Add accessors for implementation bits. 68 DOMNODEIMPL_DECL; 69 DOMPARENTIMPL_DECL; 70 }; 71 72 XERCES_CPP_NAMESPACE_END 73 74 #endif 75 76