diff -r 000000000000 -r 2f259fa3e83a uifw/AvKon/aknconf/inc/aknconfsettinglist.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/AvKon/aknconf/inc/aknconfsettinglist.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,116 @@ +/* +* Copyright (c) 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: AknConf setting list component + * +*/ + + +#ifndef C_AKNCONFSETTINGLIST_H +#define C_AKNCONFSETTINGLIST_H + + +#include + +class CRepository; + +/** + * AknConf setting list component + */ +class CAknConfSettingList : public CAknSettingItemList + { + +public: + + /** + * Destructor. + */ + ~CAknConfSettingList(); + + /** + * Setting item calls this when the opened setting page is closed. + * + * @param aOkPressed ETrue if ok was pressed. + * @param aValue New value of the setting. + * @param aCenRepKey The setting cen rep key. + */ + void SettingPageClosed( TBool aOkPressed, + const TInt& aValue, + const TInt& aCenRepKey ); + + /** + * Resets the cenrep values to initial state. + */ + virtual void ResetValues() = 0; + +// from base class CAknSettingItemList + + /** + * Framework method to create a setting item based upon the user id aSettingId. The + * client code decides what type to contruct. new (ELeave) must then be used and the resulting + * pointer returned. Ownership is thereafter base class's responsiblity. + * + * @param aSettingId ID to use to determine the type of the setting item + * @return a constructed (not 2nd-stage constructed) setting item. + */ + CAknSettingItem* CreateSettingItemL( TInt aIdentifier ); + +protected: + + CAknConfSettingList(); + + /** + * Symbian second phase constructor. Should be used by sub classes. + * + * @param aCenRepUid Central repository UID. + * @param aResourceFile Resource file to be added to CONE. + */ + void ConstructL( + const TUid& aCenRepUid, + const TDesC& aResourceFile ); + + /** + * Returns the pointer to data value that corresponds the setting id. + * Provides also the setting cen rep key. + * + * @param aId ID to determine the type of the setting item. + * @param aCenRepKey Setting cen rep key. + * @return Pointer to data value. + */ + virtual TInt* DataValuePointer( const TInt& aId, TInt& aCenRepKey ) = 0; + + /** + * Gets and sets setting value from cenrep according to given setting id. + * + * @param aId ID to determine the type of the setting item. + * @param aCenRepKey Setting cen rep key. + * @return Pointer to setting value. + */ + TInt* ValueFromCenRep( const TInt& aId, TInt& aCenRepKey ); + +protected: + + /** + * Central repository. + * Own. + */ + CRepository* iCenRep; + + /** + * Resource file offset value. + */ + TInt iResourceOffset; + + }; + +#endif // C_AKNCONFSETTINGLIST_H