diff -r 000000000000 -r e35f40988205 xml/xmldomandxpath/inc/xpath/xmlengxpathutils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/xmldomandxpath/inc/xpath/xmlengxpathutils.h Thu Dec 17 09:29:21 2009 +0200 @@ -0,0 +1,163 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// XPath Utils +// + + + +/** + @file + @publishedAll + @released +*/ +#ifndef XMLENGXPATHUTILS_H +#define XMLENGXPATHUTILS_H + +#include + +/** +Implements utility functions such as conversion methods for XPath objects. + +The XPath specification considers a node result as a set of only one node, +however, in this API it is possible to perform conversion routines +directly on nodes. +*/ +class XmlEngXPathUtils + { +public: + /** + Converts node to number + @param aNode Node to be converted + @return The number represented by the node or NaN if cannot convert. + @leave KErrNoMemory Memory allocation failure + */ + IMPORT_C static TReal ToNumberL(const TXmlEngNode& aNode); + + /** + Converts a node-set to a number by taking the node in the node set that + appears first in the document and converting that to a number. + + @param aNodeSet Node-set to be converted + @return The number represented by the node set or NaN if cannot convert. + @leave KErrNoMemory Memory allocation failure + */ + IMPORT_C static TReal ToNumberL(const RXmlEngNodeSet& aNodeSet); + + /** + Converts TBool value to TReal + @param aValue TBool value to be converted + @return 1.0 if ETrue and 0.0 otherwise + @leave - Does not leave + */ + IMPORT_C static TReal ToNumberL(TBool aValue); + + /** + Converts a string to a number + @param aString String to be converted + @return The number respresented by the string or NaN if cannot convert. + @leave KErrNoMemory Memory allocation failure + */ + IMPORT_C static TReal ToNumberL(const TDesC8& aString); + + /** + Converts a node to a string. Any existing text in aOutput is destroyed. + This method allocates memory for the buffer. + + @param aNode The node to be converted + @param aOutput A buffer owned by the caller that holds the returned string + @leave KErrNoMemory Memory allocation failure + */ + IMPORT_C static void ToStringL(const TXmlEngNode& aNode, RBuf8& aOutput ); + + /** + Converts a node-set to a string by taking the node in the node set that + appears first in the document and converting that to a string. Any + existing text in aOutput is destroyed. This method allocates memory for + the buffer. + + @param aNodeSet The node-set to be converted + @param aOutput A buffer owned by the caller that holds the returned string + @leave KErrNoMemory Memory allocation failure + */ + IMPORT_C static void ToStringL(const RXmlEngNodeSet& aNodeSet, RBuf8& + aOutput ); + + /** + Converts a TBool value to a string. Any existing text in aOutput is + destroyed. This method allocates memory for the buffer. + + @param aValue The TBool value to be converted + @param aOutput A buffer owned by the caller that holds the returned string. + "true" if ETrue and "false" otherwise. + @leave KErrNoMemory Memory allocation failure + */ + IMPORT_C static void ToStringL(TBool aValue, RBuf8& aOutput ); + + /** + Converts a TReal value to a string. Any existing text in aOutput is + destroyed. This method allocates memory for the buffer. + + @param aValue The TReal value to be converted + @param aOutput A buffer owned by the caller that holds the returned string. + @leave KErrNoMemory Memory allocation failure + */ + IMPORT_C static void ToStringL(TReal aValue, RBuf8& aOutput ); + + /** + Converts a node to a TBool + @param aNode Node to be converted + @return ETrue if the node is not NULL, EFalse otherwise + */ + IMPORT_C static TBool ToBoolean(const TXmlEngNode& aNode); + + /** + Converts a node-set to a TBool + @param aNodeSet Node-set to be converted + @return ETrue if the nodeset is not NULL, EFalse otherwise + */ + IMPORT_C static TBool ToBoolean(const RXmlEngNodeSet& aNodeSet); + + /** + Converts a string to a TBool + @param aValue String that should be converted + @return ETrue if the string is not an empty string, EFalse otherwise + */ + IMPORT_C static TBool ToBoolean(const TDesC8& aValue); + + /** + Converts a string to a TBool + @deprecated This function is deprecated and will be removed in future + releases. ToBoolean() should be used instead. + @param aValue String that should be converted + @return ETrue if the string is not an empty string, EFalse otherwise + @leave - Does not leave + */ + IMPORT_C static TBool ToBooleanL(const TDesC8& aValue); + + /** + Converts a TReal value to a TBool + @param aValue TReal value to be converted + @return EFalse if aValue is NaN or 0.0, ETrue otherwise + */ + IMPORT_C static TBool ToBoolean(TReal aValue); + +private: + /** Default constructor */ + inline XmlEngXPathUtils(); + }; + +#include + +#endif /* XMLENGXPATHUTILS_H */ +