williamr@2: /* williamr@2: * Copyright (c) 2004-2005 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Node functions implementation williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: inline TXmlEngNode::TXmlEngNode() williamr@2: : iInternal(NULL) {} williamr@2: williamr@2: inline TXmlEngNode::TXmlEngNode(void* aInternal) williamr@2: : iInternal(aInternal) {} williamr@2: williamr@2: inline TBool TXmlEngNode::IsNull() const williamr@2: {return iInternal == NULL;} williamr@2: williamr@2: inline TBool TXmlEngNode::NotNull() const williamr@2: {return iInternal != NULL;} williamr@2: williamr@2: // ------------------------------------------------------------------------ williamr@2: // Compares nodes. williamr@2: // williamr@2: // The nodes are the same if they are referring to the same in-memory williamr@2: // data structure. williamr@2: // ------------------------------------------------------------------------ williamr@2: // williamr@2: inline TBool TXmlEngNode::IsSameNode(TXmlEngNode aOther) const williamr@2: {return iInternal == aOther.iInternal;} williamr@2: williamr@2: // ------------------------------------------------------------------------ williamr@2: // Moves the node to another part of the tree or another document williamr@2: // The node is unliked from current postion (if any) and appended williamr@2: // to the its new parent. williamr@2: // williamr@2: // @note williamr@2: // In many cases this method call should be followed by ReconcileNamespacesL() on the moved node williamr@2: // ------------------------------------------------------------------------ williamr@2: // williamr@2: inline TXmlEngNode TXmlEngNode::MoveTo(TXmlEngNode aParent) williamr@2: {return aParent.AppendChildL(Unlink());} williamr@2: williamr@2: inline TXmlEngAttr& TXmlEngNode::AsAttr() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngElement& TXmlEngNode::AsElement() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngTextNode& TXmlEngNode::AsText() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngBinaryContainer& TXmlEngNode::AsBinaryContainer() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngChunkContainer& TXmlEngNode::AsChunkContainer() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngFileContainer& TXmlEngNode::AsFileContainer() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngDataContainer& TXmlEngNode::AsDataContainer() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngNamespace& TXmlEngNode::AsNamespace() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngComment& TXmlEngNode::AsComment() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngCDATASection& TXmlEngNode::AsCDATASection() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: williamr@2: inline TXmlEngEntityReference& TXmlEngNode::AsEntityReference() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: williamr@2: inline TXmlEngProcessingInstruction& TXmlEngNode::AsProcessingInstruction() const williamr@2: {return *reinterpret_cast(const_cast(this));} williamr@2: