00001 #ifndef DOMNodeIterator_HEADER_GUARD_00002 #define DOMNodeIterator_HEADER_GUARD_00003
00004 /*00005 * Licensed to the Apache Software Foundation (ASF) under one or more00006 * contributor license agreements. See the NOTICE file distributed with00007 * this work for additional information regarding copyright ownership.00008 * The ASF licenses this file to You under the Apache License, Version 2.000009 * (the "License"); you may not use this file except in compliance with00010 * the License. You may obtain a copy of the License at00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.000013 * 00014 * Unless required by applicable law or agreed to in writing, software00015 * 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 and00018 * limitations under the License.00019 */00020
00021 /*00022 * $Id: DOMNodeIterator.hpp 568078 2007-08-21 11:43:25Z amassari $00023 */00024
00025 #include <xercesc/dom/DOMNodeFilter.hpp>00026 #include <xercesc/dom/DOMNode.hpp>00027
00028 XERCES_CPP_NAMESPACE_BEGIN00029
00030
00044class DOMNodeIterator00045 {
00046 protected:
00047 // -----------------------------------------------------------------------00048 // Hidden constructors00049 // -----------------------------------------------------------------------00052DOMNodeIterator() {}
00053DOMNodeIterator(constDOMNodeIterator &) {}
00055
00056 private:
00057 // -----------------------------------------------------------------------00058 // Unimplemented constructors and operators00059 // -----------------------------------------------------------------------00062 DOMNodeIterator & operator = (constDOMNodeIterator &);
00064
00065 public:
00066 // -----------------------------------------------------------------------00067 // All constructors are hidden, just the destructor is available00068 // -----------------------------------------------------------------------00075virtual ~DOMNodeIterator() {};
00077
00078 // -----------------------------------------------------------------------00079 // Virtual DOMNodeFilter interface00080 // -----------------------------------------------------------------------00083 // -----------------------------------------------------------------------00084 // Getter methods00085 // -----------------------------------------------------------------------00091 virtualDOMNode* getRoot() = 0;
00103 virtualunsignedlong getWhatToShow() = 0;
00104
00110 virtualDOMNodeFilter* getFilter() = 0;
00111
00133 virtualbool getExpandEntityReferences() = 0;
00134
00135 // -----------------------------------------------------------------------00136 // Query methods00137 // -----------------------------------------------------------------------00150 virtualDOMNode* nextNode() = 0;
00151
00162 virtualDOMNode* previousNode() = 0;
00163
00173 virtualvoid detach() = 0;
00175
00176 // -----------------------------------------------------------------------00177 // Non-standard Extension00178 // -----------------------------------------------------------------------00188 virtualvoid release() = 0;
00190 };
00191
00192#define GetDOMNodeIteratorMemoryManager GET_DIRECT_MM(fDocument)00193
00194 XERCES_CPP_NAMESPACE_END00195
00196 #endif