00001 #ifndef DOMNamedNodeMap_HEADER_GUARD_ 00002 #define DOMNamedNodeMap_HEADER_GUARD_ 00003 00004 00005 /* 00006 * Licensed to the Apache Software Foundation (ASF) under one or more 00007 * contributor license agreements. See the NOTICE file distributed with 00008 * this work for additional information regarding copyright ownership. 00009 * The ASF licenses this file to You under the Apache License, Version 2.0 00010 * (the "License"); you may not use this file except in compliance with 00011 * the License. You may obtain a copy of the License at 00012 * 00013 * http://www.apache.org/licenses/LICENSE-2.0 00014 * 00015 * Unless required by applicable law or agreed to in writing, software 00016 * distributed under the License is distributed on an "AS IS" BASIS, 00017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00018 * See the License for the specific language governing permissions and 00019 * limitations under the License. 00020 */ 00021 00022 /* 00023 * $Id: DOMNamedNodeMap.hpp 568078 2007-08-21 11:43:25Z amassari $ 00024 */ 00025 00026 #include <xercesc/util/XercesDefs.hpp> 00027 00028 XERCES_CPP_NAMESPACE_BEGIN 00029 00030 00031 class DOMNode; 00032 00046 class CDOM_EXPORT DOMNamedNodeMap { 00047 protected: 00048 // ----------------------------------------------------------------------- 00049 // Hidden constructors 00050 // ----------------------------------------------------------------------- 00053 DOMNamedNodeMap() {}; 00055 00056 private: 00057 // ----------------------------------------------------------------------- 00058 // Unimplemented constructors and operators 00059 // ----------------------------------------------------------------------- 00062 DOMNamedNodeMap(const DOMNamedNodeMap &); 00063 DOMNamedNodeMap & operator = (const DOMNamedNodeMap &); 00065 00066 public: 00067 // ----------------------------------------------------------------------- 00068 // All constructors are hidden, just the destructor is available 00069 // ----------------------------------------------------------------------- 00076 virtual ~DOMNamedNodeMap() {}; 00078 00079 // ----------------------------------------------------------------------- 00080 // Virtual DOMNamedNodeMap interface 00081 // ----------------------------------------------------------------------- 00084 // ----------------------------------------------------------------------- 00085 // Setter methods 00086 // ----------------------------------------------------------------------- 00113 virtual DOMNode *setNamedItem(DOMNode *arg) = 0; 00114 00115 // ----------------------------------------------------------------------- 00116 // Getter methods 00117 // ----------------------------------------------------------------------- 00130 virtual DOMNode *item(XMLSize_t index) const = 0; 00131 00141 virtual DOMNode *getNamedItem(const XMLCh *name) const = 0; 00142 00150 virtual XMLSize_t getLength() const = 0; 00151 00152 // ----------------------------------------------------------------------- 00153 // Node methods 00154 // ----------------------------------------------------------------------- 00170 virtual DOMNode *removeNamedItem(const XMLCh *name) = 0; 00172 00186 virtual DOMNode *getNamedItemNS(const XMLCh *namespaceURI, 00187 const XMLCh *localName) const = 0; 00188 00212 virtual DOMNode *setNamedItemNS(DOMNode *arg) = 0; 00213 00236 virtual DOMNode *removeNamedItemNS(const XMLCh *namespaceURI, 00237 const XMLCh *localName) = 0; 00239 00240 }; 00241 00242 #define GetDOMNamedNodeMapMemoryManager GET_INDIRECT_MM(fOwnerNode) 00243 00244 XERCES_CPP_NAMESPACE_END 00245 00246 #endif 00247