2 * Copyright (c) 2004-2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * 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
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Node list implementation functions
24 #ifndef XMLENGINE_NODELIST_IMPL_H_INCLUDED
25 #define XMLENGINE_NODELIST_IMPL_H_INCLUDED
28 #include "xmlengnode.h"
31 * Class implements list container.
33 * @lib XmlEngineDOM.lib
36 class RXmlEngNodeListImpl
45 IMPORT_C RXmlEngNodeListImpl();
52 IMPORT_C void Close();
58 * @return Number of nodes in a node list
60 IMPORT_C TInt Count() const;
63 * Checks whether next node exists in a node list
66 * @return TRUE if next node exists, FALSE otherwise
68 IMPORT_C TBool HasNext() const;
71 * Retrieves next node from a node list
76 IMPORT_C TXmlEngNode Next();
82 * @param aHead node pointer to the node from which the searching
83 of list elements is started
84 * @param aType type of list elements
85 * @param aName name of list elements
86 * @param aNs namespace of list elements
88 * @note If aType is NULL, aName and aNs are ignored
92 TXmlEngNode::TXmlEngDOMNodeType aType,
93 const TDesC8& aName = KNullDesC8,
94 const TDesC8& aNs = KNullDesC8);
100 * @param aHead node pointer to the node from which the searching
101 of list elements is started
102 * @param aType type of list elements
106 TXmlEngNode::TXmlEngDOMNodeType aType);
110 void* FindNextNode(void* aCurrentNode) const;
113 TInt iType; // NodeType:4 bits (0-3) & MatchName flag (bit 4)
114 unsigned char* iName;
115 unsigned char* iNsUri;
118 TBool StrEqualOrNull(const void* aStr1, const void* aStr2);
122 #endif /* XMLENGINE_NODELIST_IMPL_H_INCLUDED */