DOMRange.hpp
Go to the documentation of this file.
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* $Id: DOMRange.hpp 932889 2010-04-11 13:10:10Z borisk $
*/
#if !defined(XERCESC_INCLUDE_GUARD_DOMRANGE_HPP)
#define XERCESC_INCLUDE_GUARD_DOMRANGE_HPP
#include <xercesc/util/XercesDefs.hpp>
XERCES_CPP_NAMESPACE_BEGIN
class DOMNode;
class DOMDocumentFragment;
class CDOM_EXPORT DOMRange {
protected:
// -----------------------------------------------------------------------
// Hidden constructors
// -----------------------------------------------------------------------
DOMRange() {}
DOMRange(const DOMRange &) {}
private:
// -----------------------------------------------------------------------
// Unimplemented constructors and operators
// -----------------------------------------------------------------------
DOMRange & operator = (const DOMRange &);
public:
// -----------------------------------------------------------------------
// All constructors are hidden, just the destructor is available
// -----------------------------------------------------------------------
virtual ~DOMRange() {};
// -----------------------------------------------------------------------
// Class Types
// -----------------------------------------------------------------------
enum CompareHow {
START_TO_START = 0,
START_TO_END = 1,
END_TO_END = 2,
END_TO_START = 3
};
// -----------------------------------------------------------------------
// Virtual DOMRange interface
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
// Getter methods
// -----------------------------------------------------------------------
virtual DOMNode* getStartContainer() const = 0;
virtual XMLSize_t getStartOffset() const = 0;
virtual DOMNode* getEndContainer() const = 0;
virtual XMLSize_t getEndOffset() const = 0;
virtual bool getCollapsed() const = 0;
virtual const DOMNode* getCommonAncestorContainer() const = 0;
// -----------------------------------------------------------------------
// Setter methods
// -----------------------------------------------------------------------
virtual void setStart(const DOMNode *refNode, XMLSize_t offset) = 0;
virtual void setEnd(const DOMNode *refNode, XMLSize_t offset) = 0;
virtual void setStartBefore(const DOMNode *refNode) = 0;
virtual void setStartAfter(const DOMNode *refNode) = 0;
virtual void setEndBefore(const DOMNode *refNode) = 0;
virtual void setEndAfter(const DOMNode *refNode) = 0;
// -----------------------------------------------------------------------
// Misc methods
// -----------------------------------------------------------------------
virtual void collapse(bool toStart) = 0;
virtual void selectNode(const DOMNode *refNode) = 0;
virtual void selectNodeContents(const DOMNode *refNode) = 0;
virtual short compareBoundaryPoints(CompareHow how, const DOMRange* sourceRange) const = 0;
virtual void deleteContents() = 0;
virtual DOMDocumentFragment* extractContents() = 0;
virtual DOMDocumentFragment* cloneContents() const = 0;
virtual void insertNode(DOMNode *newNode) = 0;
virtual void surroundContents(DOMNode *newParent) = 0;
virtual DOMRange* cloneRange() const = 0;
virtual const XMLCh* toString() const = 0;
virtual void detach() = 0;
// -----------------------------------------------------------------------
// Non-standard Extension
// -----------------------------------------------------------------------
virtual void release() = 0;
};
XERCES_CPP_NAMESPACE_END
#endif
DOMDocumentFragment
DOMDocumentFragment is a "lightweight" or "minimal" DOMDocument object.
Definition: DOMDocumentFragment.hpp:71
DOMRange::DOMRange
DOMRange(const DOMRange &)
Definition: DOMRange.hpp:44
XercesDefs.hpp
DOMRange::DOMRange
DOMRange()
Definition: DOMRange.hpp:43
CDOM_EXPORT
#define CDOM_EXPORT
Definition: XercesDefs.hpp:166
XMLCh
uint16_t XMLCh
Definition: Xerces_autoconf_config.hpp:119
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
XMLSize_t
size_t XMLSize_t
Definition: Xerces_autoconf_config.hpp:111
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
DOMNode
The DOMNode interface is the primary datatype for the entire Document Object Model.
Definition: DOMNode.hpp:139
DOMRange::CompareHow
CompareHow
Constants CompareHow.
Definition: DOMRange.hpp:99
DOMRange::~DOMRange
virtual ~DOMRange()
Destructor.
Definition: DOMRange.hpp:66
DOMRange
Definition: DOMRange.hpp:36