diff -r d189ee25cf9d -r 3533d4323edc ipsservices/ipssossettings/inc/ipssetuiitembase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipsservices/ipssossettings/inc/ipssetuiitembase.h Wed Sep 01 12:28:57 2010 +0100 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2007 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: Base item behavior declearation. +* +*/ + + +#ifndef IPSSETUIITEMBASE_H +#define IPSSETUIITEMBASE_H + +#include + +#include "ipssetutilsconsts.h" +#include "ipssetutilsflags.h" + +class CIpsSetUiItem; + +typedef CArrayPtrFlat CIpsSetUiBaseItemArray; + + +/** + * Base class for all setting items. + * + * @lib IpsSosSettings.lib + * @since FS v1.0 + */ +class CIpsSetUiItem : public CBase + { +public: + +// Constructors and Destructor + + /** + * Destructor + */ + virtual ~CIpsSetUiItem(); + + /** + * @return New base item. + */ + static CIpsSetUiItem* NewL(); + + /** + * @return New base item. + */ + static CIpsSetUiItem* NewLC(); + +// Operators + + /** + * Copy operator + * + * @param aBaseItem Item, which values are copied. + */ + CIpsSetUiItem& operator=( + const CIpsSetUiItem& aBaseItem ); + +// New virtual functions + + /** + * @return Type of the item. + */ + virtual inline TIpsSetUiSettingsType Type() const; + + /** + * @return Numeric user value. + */ + virtual inline TInt64 Value() const; + + /** + * @param aValue Sets the numeric user value. + */ + virtual inline void SetValue( const TInt64 aValue ); + + /** + * @return Read-only reference to textual user data. + */ + virtual inline const TDesC& Text() const; + + /** + * @param aText Sets the textual user data. + */ + virtual inline void SetText( const TDesC& aText ); + + /** + * @return ETrue, if the item has got container for setting items. + */ + virtual inline TBool HasLinkArray() const; + +protected: + +// Constructors + + /** + * Constructor + */ + CIpsSetUiItem(); + + /** + * 2nd-phase constructor + */ + void ConstructL(); + +public: + +// Data + + /** + * Container for flags. + */ + TIpsSetUtilsFlags iItemFlags; + + /** + * Type of the item. + */ + TIpsSetUiSettingsType iItemType; + + /** + * Text to be shown in the item list. + * Owned. + */ + TIpsSetUtilsTextPlain* iItemLabel; + + /** + * Unique ID of the item. + */ + TUid iItemId; + + /** + * Resource the item belongs to. + */ + TInt iItemResourceId; + }; + +#include "ipssetuiitembase.inl" + +#endif //IPSSETUIITEMBASE_H + +// End of file