diff -r 6205fd287e8a -r 1abc632eb502 menufw/hierarchynavigator/hnutilities/inc/hnmdbasekey.h --- a/menufw/hierarchynavigator/hnutilities/inc/hnmdbasekey.h Thu Mar 18 14:45:17 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,277 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: -* -*/ - - -#ifndef C_HNMDBASEKEY_H -#define C_HNMDBASEKEY_H - -#include -#include -#include - -class CLiwDefaultMap; -class CLiwGenericParamList; -class TLiwVariant; -class CHnMdBaseKey; - -/** - * Abstract Class representing keys used in XML configuration. - * These keys can become parameters for LIW requests for example. - * Deriving classes defines particular key types like integers or strings. - * - * @lib hierarchynavigatorengine - * @since S60 v5.0 - * @ingroup group_hnutilities - */ -NONSHARABLE_CLASS( CHnMdBaseKey ) : public CBase - { - friend class HnMdKeyFactory; - -public: - - /** - * Standard destructor. - */ - virtual ~CHnMdBaseKey(); - - /** - * Factory method. - * - * since S60 v5.0 - * @return Fully constructed object. - */ - virtual CHnMdBaseKey* CopyLC() = 0; - - /** - * Getter - key name. - * since S60 v5.0 - * - * @return Key name. - */ - const TDesC8& KeyName() const; - - /** - * Getter - key content. - * since S60 v5.0 - * - * @return Key content. - */ - virtual const TDesC& KeyContent() const; - - /** - * Getter - sub keys. - * - * @since S60 v5.0 - * @return Sub keys array. - */ - const RPointerArray& SubKeys() const; - - /** - * Getter - key content. - * - * @since S60 v5.0 - * @param aContent Output content. - */ - virtual void GetKeyContent( TInt& aContent ) const; - - /** - * Getter - key content. - * - * @since S60 v5.0 - * @param aContent Output content. - */ - virtual void GetKeyContent( TInt64& aContent ) const; - - /** - * Evaluates key - sets params. - * - * @since S60 v5.0 - * @param aParamList List of parameters. - * @param aPos Position of the item in the items group. - * - */ - IMPORT_C CHnMdBaseKey* EvaluateLC( - const CLiwGenericParamList& aParamList, - TInt aPos = 0 ); - - /** - * Change to variant. - * - * @since S60 v5.0 - * @param aRet Output variant. - * - */ - IMPORT_C virtual void ToVariantL( TLiwVariant& aRet ) const; - - /** - * Change to generic param list. - * - * @since S60 v5.0 - * @param aRet Output generic param list. - * - */ - IMPORT_C virtual void ToGenericParamListL( CLiwGenericParamList & aRet ) const; - - /** - * Adds a sub key. - * - * @since S60 v5.0 - * @param aKey New key. - */ - IMPORT_C void AddSubKeyL( CHnMdBaseKey* aKey ); - - -protected: - - /** - * Standard constructor. - * - * @since S60 v5.0 - */ - CHnMdBaseKey(); - - /** - * Symbian constructor for performing 2nd stage construction. - * - * @since S60 v5.0 - * @param aElement XML DOM Element. - */ - void BaseConstructL( TXmlEngElement aElement ); - - /** - * Symbian constructor for performing 2nd stage construction. - * - * @since S60 v5.0 - * @param aKey Key. - */ - void BaseConstructL( const CHnMdBaseKey* aKey ); - - /** - * Sets key name. - * - * @since S60 v5.0 - * @param aName Name of new key. - */ - void SetKeyNameL( const TXmlEngAttr& aName ); - - /** - * Sets key content. - * - * @since S60 v5.0 - * @param aContent XML Attribute. - */ - void SetKeyContentL( const TXmlEngAttr& aContent ); - - /** - * Sets sub keys. - * - * @since S60 v5.0 - * @param aElement XML DOM Element. - */ - void SetSubKeysL( const TXmlEngElement& aElement ); - - /** - * Sets sub keys. - * - * @since S60 v5.0 - * @param aKey New key. - */ - void SetSubKeysL( const CHnMdBaseKey* aKey ); - - /** - * Sets value. - * - * @since S60 v5.0 - * @param aElement XML DOM Element. - */ - void SetValueL( const TXmlEngElement& aElement ); - - /** - * Sets value. - * - * @since S60 v5.0 - * @param aValue New value. - */ - void SetValueL( const TDesC8& aValue ); - - /** - * Sets value. - * - * @since S60 v5.0 - * @param aValue New value. - */ - void SetValueL( const TDesC& aValue ); - - /** - * Sets key or name. - * - * @since S60 v5.0 - * @param aElement XML DOM Element. - */ - void SetKeyOrNameL( const TXmlEngElement& aElement ); - - /** - * Sets key name. - * - * @since S60 v5.0 - * @param aName New key name. - */ - void SetKeyNameL( const TDesC8& aName ); - - /** - * Evaluates key - sets params. - * - * @since S60 v5.0 - * @param aParamList List of parameters. - * @param aPos Position in the param list. Default is 0. - */ - void DoEvaluateL( const CLiwGenericParamList& aParamList, - TInt aPos = 0 ); - - /** - * Evaluates the key value. - * - * @since S60 v5.0 - * @param aParamList List of parameters. - * @param aPos Position in the param list. Default is 0. - */ - virtual void EvaluateKeyValueL( const CLiwGenericParamList& aParamList, - TInt aPos = 0 ); - -protected: // data - - /** - * Key name (8-bit descriptor). - * Own. - */ - RBuf8 iKeyName; - - /** - * Key content. - * Own. - */ - RBuf iContent; - - /** - * Subkeys (i.e. to handle with actions). - * Own. - */ - RPointerArray iSubKeys; - - }; - -#endif // C_HNMDBASEKEY_H