diff -r 000000000000 -r 62f9d29f7211 webservices/wsutils/inc/senpropertieselement.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webservices/wsutils/inc/senpropertieselement.h Thu Jan 07 16:19:19 2010 +0200 @@ -0,0 +1,205 @@ +/* +* Copyright (c) 2002-2005 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: Header declaration +* +*/ + + + + + + + + +#include +#include "MSenProperty.h" + +#ifndef SEN_PROPERTIES_ELEMENT_H +#define SEN_PROPERTIES_ELEMENT_H + +class CSenPropertiesElement : public CSenXmlElement, public MSenProperty + { + friend class CSenPropertiesFragment; + + public: // Constructors and destructor + + /** + * Standard constructor. + * @param aLocalName the local name for this element. + * Leave codes: + * KErrSenInvalidCharacters if aLocalName contains illegal characters. + * KErrSenZeroLengthDescriptor if aLocalName is zero length. + */ + + IMPORT_C static CSenPropertiesElement* NewL(const TDesC8& aLocalName, + RStringPool* aStringPool); + /** + * Standard constructor. + * @param aNsUri the namespace URI for this element. + * @param aLocalName the local name for this element. + * Leave codes: + * KErrSenInvalidCharacters if aLocalName contains illegal characters. + * KErrSenZeroLengthDescriptor if aLocalName is zero length. + */ + IMPORT_C static CSenPropertiesElement* NewL(const TDesC8& aNsUri, + const TDesC8& aLocalName, + RStringPool* aStringPool); + + /** + * Standard constructor. + * @param aNsUri the namespace URI for this element. + * @param aLocalName the local name for this element. + * @param aQName the qualified name for this element. + * Leave codes: + * KErrSenInvalidCharacters if aLocalName or aQName contains + * illegal characters. + * KErrSenZeroLengthDescriptor if aLocalName or aQName is zero length. + */ + IMPORT_C static CSenPropertiesElement* NewL(const TDesC8& aNsUri, + const TDesC8& aLocalName, + const TDesC8& aQName, + RStringPool* aStringPool); + + /** + * Standard constructor. + * @param aNsUri the namespace URI for this element. + * @param aLocalName the local name for this element. + * @param aQName the qualified name for this element. + * @param apAttrs the attributes for this element. + * Leave codes: + * KErrSenInvalidCharacters if aLocalName or aQName contains + * illegal characters. + * KErrSenZeroLengthDescriptor if aLocalName or aQName is zero length. + */ + IMPORT_C static CSenPropertiesElement* NewL(const TDesC8& aNsUri, + const TDesC8& aLocalName, + const TDesC8& aQName, + const RAttributeArray& apAttrs, + RStringPool* aStringPool); + + /** + * Standard constructor. + * @param aNsUri the namespace URI for this element. + * @param aLocalName the local name for this element. + * @param aQName the qualified name for this element. + * @param apAttrs the attributes for this element. + * @param aParent: the parent element for the new element + * Leave codes: + * KErrSenInvalidCharacters if aLocalName or aQName contains + * illegal characters. + * KErrSenZeroLengthDescriptor if aLocalName or aQName is zero length. + */ + IMPORT_C static CSenPropertiesElement* NewL(const TDesC8& aNsUri, + const TDesC8& aLocalName, + const TDesC8& aQName, + const RAttributeArray& apAttrs, + CSenElement& aParent, + RStringPool* aStringPool); + + // From CSenXmlElement: + + virtual CSenElement* CreateElementL(const TDesC8& aNsPrefix, + const TDesC8& aLocalName); + + virtual CSenElement& AddElementL(const TDesC8& aNsUri, + const TDesC8& aLocalName); + + virtual CSenElement& AddElementL(const TDesC8& aNsUri, + const TDesC8& aLocalName, + const TDesC8& aQName); + + virtual CSenElement& AddElementL(const TDesC8& aLocalName); + + virtual void WriteAsXMLToL(RWriteStream& aWriteStream); + + void CopyFromL(CSenElement& aSource); + + virtual const TDesC8& LocalName() const; + + virtual void Set( const TDesC8& aNsUri, + const TDesC8& aLocalname, + const TDesC8& aQName ); + + virtual TBool HasContent() const; + + virtual TPtrC8 Content() const; + + virtual TPtrC8 SetContentL(const TDesC8& aContent); + + virtual RWriteStream& ContentWriteStreamL(); + + /** + * Destructor. + */ + virtual ~CSenPropertiesElement(); + + // From MSenProperty + virtual TPtrC8 Name(); + virtual TPtrC8 Type(); + virtual TPtrC8 Value(); + virtual TInt IntValue(TInt& aValue); + virtual TInt BoolValue(TBool& aValue); + + /** + * @param aTokens will contain tokanized values, + * which ownership is NOT transferred to the caller(!) + */ + virtual TInt ValueTokensL(const TDesC8& aDelimiter, + RPointerArray& aTokens); + + virtual void SetStringPool(RStringPool& aStringPool); + + protected: // New functions + + /** + * C++ default constructor + */ + CSenPropertiesElement(); + + void BaseConstructL(const TDesC8& aLocalName, + RStringPool* aStringPool); + + void BaseConstructL(const TDesC8& aNsUri, const TDesC8& aLocalName, + RStringPool* aStringPool); + + void BaseConstructL(const TDesC8& aNsUri, const TDesC8& aLocalName, + const TDesC8& aQName, RStringPool* aStringPool); + + void BaseConstructL(const TDesC8& aNsUri, const TDesC8& aLocalName, + const TDesC8& aQName, + const RAttributeArray& apAttrs, + RStringPool* aStringPool); + + void BaseConstructL(const TDesC8& aNsUri, const TDesC8& aLocalName, + const TDesC8& aQName, + const RAttributeArray& apAttrs, + CSenElement& aParent, + RStringPool* aStringPool); + + virtual void WriteContentToL(RWriteStream& aWriteStream); + + virtual void AllocContentBufL(); + + virtual RStringPool& StringPool(); + + protected: // Data + RStringPool* ipStringPool; // Not owned + RString iLocalName; // Owned + RString iContent; // Owned + }; + +#endif // SEN_PROPERTIES_ELEMENT_H + +// End of File +