Revision: 201015
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 03 May 2010 12:46:45 +0300
changeset 21 851e19007849
parent 19 30540fccecae
child 23 7e4c5a2ff1a2
Revision: 201015 Kit: 201018
controlpanel/controlpanel.pro
controlpanel/controlpanel_plat/inc/controlpanel_plat.pri
controlpanel/controlpanel_plat/inc/cpbasepath.h
controlpanel/controlpanel_plat/inc/cpitemdatahelper.h
controlpanel/controlpanel_plat/inc/cplauncherinterface.h
controlpanel/controlpanel_plat/inc/cppluginlauncher.h
controlpanel/controlpanel_plat/inc/cppluginloader.h
controlpanel/controlpanel_plat/inc/cppluginplatinterface.h
controlpanel/controlpanel_plat/inc/cpsettingformentryitemdata.h
controlpanel/controlpanel_plat/inc/cpsettingformentryitemdataimpl.h
controlpanel/controlpanel_plat/inc/cpsettingformitemdata.h
controlpanel/rom/controlpanel.iby
controlpanel/src/bwins/cpframeworku.def
controlpanel/src/cpframework/cpframework.pri
controlpanel/src/cpframework/cpframework.pro
controlpanel/src/cpframework/cpframework.qrc
controlpanel/src/cpframework/icon/qgn_prop_set_default_sub.svg
controlpanel/src/cpframework/src/cpbasepath.h
controlpanel/src/cpframework/src/cpbasesettingview_p.cpp
controlpanel/src/cpframework/src/cpdataformbuttonentryviewitem.cpp
controlpanel/src/cpframework/src/cpdataformbuttonentryviewitem.h
controlpanel/src/cpframework/src/cpdataformlistentryviewitem.cpp
controlpanel/src/cpframework/src/cpdataformlistentryviewitem.h
controlpanel/src/cpframework/src/cpdataformviewitem.cpp
controlpanel/src/cpframework/src/cpdataformviewitem.h
controlpanel/src/cpframework/src/cpitemdatahelper.cpp
controlpanel/src/cpframework/src/cppluginlauncher.cpp
controlpanel/src/cpframework/src/cppluginloader.cpp
controlpanel/src/cpframework/src/cppluginutility.cpp
controlpanel/src/cpframework/src/cpsettingformentryitemdata.cpp
controlpanel/src/cpframework/src/cpsettingformentryitemdata_p.cpp
controlpanel/src/cpframework/src/cpsettingformentryitemdata_p.h
controlpanel/src/cpframework/src/cputility.cpp
controlpanel/src/cpframework/src/cpviewlauncher.cpp
controlpanel/src/cpframework/widgetml/cpdataformlistentryviewitem.css
controlpanel/src/cpframework/widgetml/cpdataformlistentryviewitem.widgetml
controlpanel/src/eabi/cpframeworku.def
controlpanel/tsrc/tsrc.pro
controlpanel/tsrc/unit/ut_cpapi/src/ut_cpapi.cpp
controlpanel/tsrc/unit/ut_cpapi/ut_cpapi.pro
ftuwizardmodel/inc/ftuwizard.h
gsprofilesrv_plat/ftuwizardmodel_api/inc/ftuwizard.h
gsprofilesrv_plat/profiles_engine_api/group/bld.inf
gsprofilesrv_plat/profiles_engine_api/inc/MProfileEngineExtended2.h
gsprofilesrv_plat/profiles_engine_api/inc/MProfileExtended2.h
gsprofilesrv_plat/profiles_engine_api/inc/MProfileExtraTones2.h
gsprofilesrv_plat/profiles_engine_api/inc/MProfileSetExtraTones2.h
gsprofilesrv_plat/profiles_engine_api/inc/MProfileSetVibraSettings.h
gsprofilesrv_plat/profiles_engine_api/inc/MProfileVibraSettings.h
gsprofilesrv_plat/profiles_engine_api/inc/ProfileEngineInternalCRKeys.h
gsprofilesrv_plat/profiles_engine_api/inc/ProfileInternal.hrh
gsprofilesrv_plat/settings_framework_api/inc/GSBaseView.h
gsprofilesrv_pub/profiles_engine_wrapper_api/group/bld.inf
gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngActiveSettingsObserver.h
gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngMasterSettingsObserver.h
gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngNotifyHandler2.h
gsprofilesrv_pub/profiles_engine_wrapper_api/inc/ProEngFactory2.h
gsprofilesrv_pub/profiles_engine_wrapper_api/inc/Profile.hrh
gssettingsuis/Gs/GSApplication/bld.inf
gssettingsuis/Gs/GSBackgroundImage/Src/GsAsyncImageHandling.cpp
layers.sysdef.xml
profilesservices/ProfileEngine/BWINS/PROFILEENGINEU.DEF
profilesservices/ProfileEngine/BWINS/PROFILEENGU.DEF
profilesservices/ProfileEngine/EABI/ProfileEngU.DEF
profilesservices/ProfileEngine/EABI/ProfileEngineU.DEF
profilesservices/ProfileEngine/EngInc/ProfileEnginePrivateCRKeys.h
profilesservices/ProfileEngine/EngSrc/CProfileEngineImpl.cpp
profilesservices/ProfileEngine/EngSrc/CProfileEngineImpl.h
profilesservices/ProfileEngine/EngSrc/CProfileExtraTonesImpl.cpp
profilesservices/ProfileEngine/EngSrc/CProfileExtraTonesImpl.h
profilesservices/ProfileEngine/EngSrc/CProfileImpl.cpp
profilesservices/ProfileEngine/EngSrc/CProfileImpl.h
profilesservices/ProfileEngine/EngSrc/CProfileTonesImpl.cpp
profilesservices/ProfileEngine/EngSrc/CProfileVibraSettingsImpl.cpp
profilesservices/ProfileEngine/EngSrc/CProfileVibraSettingsImpl.h
profilesservices/ProfileEngine/EngSrc/ProfileEngUtils.cpp
profilesservices/ProfileEngine/WrapperSrc/CProEngActiveSettingsEventDelegate.cpp
profilesservices/ProfileEngine/WrapperSrc/CProEngActiveSettingsEventDelegate.h
profilesservices/ProfileEngine/WrapperSrc/CProEngMasterSettingsEventDelegate.cpp
profilesservices/ProfileEngine/WrapperSrc/CProEngMasterSettingsEventDelegate.h
profilesservices/ProfileEngine/WrapperSrc/CProEngNotifyHandlerImpl.cpp
profilesservices/ProfileEngine/WrapperSrc/CProEngNotifyHandlerImpl.h
profilesservices/ProfileEngine/WrapperSrc/ProEngFactory2.cpp
profilesservices/ProfileEngine/conf/profilesengine.confml
profilesservices/ProfileEngine/conf/profilesengine_101F8798.crml
profilesservices/ProfileEngine/group/ProfileEng.mmp
profilesservices/ProfileEngine/group/ProfileEngine.mmp
profilesservices/ProfileEngine/group/ProfilesEngineExports.Inc
--- a/controlpanel/controlpanel.pro	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel.pro	Mon May 03 12:46:45 2010 +0300
@@ -15,8 +15,7 @@
 #
 
 TEMPLATE = subdirs
-SUBDIRS =  src
-		       #tsrc
+SUBDIRS =  src 
 CONFIG += ordered
 
 include(rom/cp_rom.pri)
\ No newline at end of file
--- a/controlpanel/controlpanel_plat/inc/controlpanel_plat.pri	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/controlpanel_plat.pri	Mon May 03 12:46:45 2010 +0300
@@ -15,20 +15,22 @@
 #
 
 PLATFORM_HEADERS += $$PWD/cpglobal.h \
-                    $$PWD/cpplugininterface.h \
-                    $$PWD/cppluginplatinterface.h \
-                    $$PWD/cpsettingformitemdata.h \
-                    $$PWD/cppluginlauncher.h \
-                    $$PWD/cpbasesettingview.h \
-                    $$PWD/cpitemdatahelper.h \
-                    $$PWD/cpsettingformentryitemdata.h \
-                    $$PWD/cpsettingformentryitemdataimpl.h \
-                    $$PWD/cppluginloader.h \
-                    $$PWD/logger.h \
-                    $$PWD/loggerglobal.h \
-                    $$PWD/logoutput.h \
-                    $$PWD/logoutputfactory.h \
-                    $$PWD/cplogger.h \
-                    $$PWD/cppluginutility.h
-                    
+	$$PWD/cpbasepath.h \
+    $$PWD/cpplugininterface.h \
+    $$PWD/cppluginplatinterface.h \
+    $$PWD/cpsettingformitemdata.h \
+    $$PWD/cppluginlauncher.h \
+    $$PWD/cpbasesettingview.h \
+    $$PWD/cpitemdatahelper.h \
+    $$PWD/cpsettingformentryitemdata.h \
+    $$PWD/cpsettingformentryitemdataimpl.h \
+    $$PWD/cppluginloader.h \
+    $$PWD/logger.h \
+    $$PWD/loggerglobal.h \
+    $$PWD/logoutput.h \
+    $$PWD/logoutputfactory.h \
+    $$PWD/cplogger.h \
+    $$PWD/cppluginutility.h \
+    $$PWD/cplauncherinterface.h 
+    
 HEADERS += $$PLATFORM_HEADERS
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/controlpanel_plat/inc/cpbasepath.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* 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:  
+*
+*/
+
+#ifndef CPBASEPATH_H
+#define CPBASEPATH_H
+
+#include <QLatin1String>
+
+#ifdef Q_OS_SYMBIAN
+        #define CP_PLUGIN_PATH QLatin1String("/resource/qt/plugins/controlpanel")
+        #define CP_PLUGIN_CONFIG_PATH QLatin1String("/resource/qt/plugins/controlpanel/config")
+#else 
+    #ifdef _DEBUG
+        #define CP_PLUGIN_PATH QLatin1String("/ControlPanel/debug/bin")
+        #define CP_PLUGIN_CONFIG_PATH QLatin1String("/ControlPanel/debug/bin/config")
+    #else
+        #define CP_PLUGIN_PATH QLatin1String("/ControlPanel/release/bin")
+        #define CP_PLUGIN_CONFIG_PATH QLatin1String("/ControlPanel/release/bin/config")
+    #endif
+#endif 
+
+#ifdef Q_OS_SYMBIAN
+    #ifdef __WINS__
+        #define CP_RESOURCE_PATH QLatin1String("C:/resource/controlpanel")
+    #else
+        #define CP_RESOURCE_PATH QLatin1String("Z:/resource/controlpanel")
+    #endif
+#else 
+    #ifdef _DEBUG
+        #define CP_RESOURCE_PATH QLatin1String("C:/controlpanel/debug/resource")
+    #else
+        #define CP_RESOURCE_PATH QLatin1String("C:/controlpanel/release/resource")
+    #endif
+#endif 
+
+#define WIDGETML_SUB_PATH QLatin1String("widgetml")
+#define ICON_SUB_PATH     QLatin1String("icon")
+
+#endif  //CPBASEPATH_H
+
+//End of File
+
--- a/controlpanel/controlpanel_plat/inc/cpitemdatahelper.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/cpitemdatahelper.h	Mon May 03 12:46:45 2010 +0300
@@ -58,6 +58,8 @@
         const char *method);
 
     HbWidget *widgetFromModelIndex(const QModelIndex &index);
+    
+    HbDataFormModelItem *modelItemFromModelIndex(const QModelIndex &index);
    
 private:
     CpItemDataHelperPrivate *d;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/controlpanel_plat/inc/cplauncherinterface.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* 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:  
+*
+*/
+
+
+#ifndef CPLAUNCHERINTERFACE_H
+#define CPLAUNCHERINTERFACE_H
+
+#include <QtPlugin>
+#include <QList>
+
+/*!
+    \class CpLauncherInterface
+    \brief The class CpLauncherInterface defines an interface for plugins which can be launched a specific view from outside controlpanel application.
+ */
+
+class QVariant;
+class CpBaseSettingView;
+
+class CpLauncherInterface
+{
+public:
+    /*!
+     Destructor of CpLauncherInterface.
+     */
+    virtual ~CpLauncherInterface()
+    {
+    }
+    
+    /*!
+     Create a CpBaseSettingView by the parameter hint.
+     */
+    virtual CpBaseSettingView *createSettingView(const QVariant &hint) const = 0;
+};
+
+Q_DECLARE_INTERFACE(CpLauncherInterface, "com.nokia.controlpanel.launcher.interface/1.0");
+
+#endif /* CPLAUNCHERINTERFACE_H */
--- a/controlpanel/controlpanel_plat/inc/cppluginlauncher.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/cppluginlauncher.h	Mon May 03 12:46:45 2010 +0300
@@ -22,6 +22,7 @@
 #define CPPLUGINLAUNCHER_H
 
 #include "cpglobal.h"
+#include <QVariant>
 
 class QString;
 class CpPluginPlatInterface;
@@ -29,7 +30,11 @@
 class CP_EXPORT CpPluginLauncher
 {
 public:
+	/*  OLD Inteface - Deprecated! */
     static bool launchCpPluginView(const QString &pluginFile,int index = 0);
+    
+    /* New interface */
+	static bool launchSettingView(const QString &pluginFile,const QVariant &hint = QVariant());
 };
 
 #endif /* CPPLUGINLAUNCHER_H */
--- a/controlpanel/controlpanel_plat/inc/cppluginloader.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/cppluginloader.h	Mon May 03 12:46:45 2010 +0300
@@ -23,13 +23,20 @@
 
 class QString;
 class CpPluginInterface;
+class CpLauncherInterface;
 class CpPluginPlatInterface;
 
 class CP_EXPORT CpPluginLoader
 {
 public:
-    static CpPluginInterface *loadCpPlugin(const QString &pluginFile);
+    /* OLD INTERFACES* DPRECATED!!! */
+    static CpPluginInterface     *loadCpPlugin(const QString &pluginFile);
+    /* OLD INTERFACES* DPRECATED!!! */
     static CpPluginPlatInterface *loadPlatCpPlugin(const QString &pluginFile);
+    
+    /*NEW INTERFACES*/
+    static CpPluginInterface     *loadCpPluginInterface(const QString &pluginFile);
+    static CpLauncherInterface   *loadCpLauncherInterface(const QString &pluginFile);
 };
 
 #endif /* CPPLUGINLOADER_H */
--- a/controlpanel/controlpanel_plat/inc/cppluginplatinterface.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/cppluginplatinterface.h	Mon May 03 12:46:45 2010 +0300
@@ -18,7 +18,7 @@
 #ifndef CPPLUGINPLATINTERFACE_H
 #define CPPLUGINPLATINTERFACE_H
 
-#include <qtplugin>
+#include <QtPlugin>
 
 /*!
     \class CpPluginPlatInterface
--- a/controlpanel/controlpanel_plat/inc/cpsettingformentryitemdata.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/cpsettingformentryitemdata.h	Mon May 03 12:46:45 2010 +0300
@@ -15,8 +15,8 @@
 *
 */
 
-#ifndef CP_SETTINGFORM_ENTRY_ITEM_DATA_H
-#define CP_SETTINGFORM_ENTRY_ITEM_DATA_H
+#ifndef CPSETTINGFORMENTRYITEMDATA_H
+#define CPSETTINGFORMENTRYITEMDATA_H
 
 #include <cpglobal.h>
 #include <QObject>
@@ -26,26 +26,49 @@
 class CpItemDataHelper;
 class CpBaseSettingView;
 class HbDataForm;
+class QModelIndex;
+class CpSettingFormEntryItemDataPrivate;
 
 class CP_EXPORT CpSettingFormEntryItemData : public CpSettingFormItemData 
 {
 	Q_OBJECT
 public:
-	enum ItemType{ EntryItem = HbDataFormModelItem::CustomItemBase + 1};
+	enum EntryItemType {
+	    ListEntryItem   = HbDataFormModelItem::CustomItemBase + 1,
+	    ButtonEntryItem = HbDataFormModelItem::CustomItemBase + 2
+	};
 
 	explicit CpSettingFormEntryItemData(const HbDataFormModelItem *parent = 0);
 
-	explicit CpSettingFormEntryItemData(CpItemDataHelper &itemDataHelper,
+	explicit CpSettingFormEntryItemData(
+	        CpItemDataHelper &itemDataHelper,
 			const QString &text = QString(),
 	        const QString &description = QString(),
 			const HbIcon &icon = HbIcon(),
 			const HbDataFormModelItem *parent = 0);	 
 
-	explicit CpSettingFormEntryItemData(HbDataForm *dataForm,
+	explicit CpSettingFormEntryItemData(
+	        HbDataForm *dataForm,
 			const QString &text = QString(),
 	        const QString &description = QString(),
 			const HbIcon &icon = HbIcon(),
 			const HbDataFormModelItem *parent = 0);	
+	
+    explicit CpSettingFormEntryItemData(
+            EntryItemType type,
+            CpItemDataHelper &itemDataHelper,
+            const QString &text = QString(),
+            const QString &description = QString(),
+            const QString &iconName = QString(),
+            const HbDataFormModelItem *parent = 0);  
+    
+    explicit CpSettingFormEntryItemData(
+            EntryItemType type,
+            HbDataForm *dataForm,
+            const QString &text = QString(),
+            const QString &description = QString(),
+            const QString &iconName = QString(),
+            const HbDataFormModelItem *parent = 0); 
 
 	virtual ~CpSettingFormEntryItemData();	
 	
@@ -55,14 +78,24 @@
 	QString description() const;
 	void setDescription(const QString &description);
 
+	QString iconName() const;
+	void setIconName(const QString &icon);
+	
 	HbIcon entryItemIcon() const;
 	void setEntryItemIcon(const HbIcon &icon);
-
-private slots:
-	void onLaunchView();
+		
+public slots:
+	virtual void onLaunchView();
 private:
 	virtual CpBaseSettingView *createSettingView() const = 0;
-	friend class CpPluginLauncher;
+private:
+    Q_DISABLE_COPY(CpSettingFormEntryItemData)
+    Q_DECLARE_PRIVATE_D(d_ptr, CpSettingFormEntryItemData)
+    Q_PRIVATE_SLOT(d_func(), void _q_itemPressed(const QModelIndex &index))
+    Q_PRIVATE_SLOT(d_func(), void _q_itemReleased(const QModelIndex &index))
+    Q_PRIVATE_SLOT(d_func(), void _q_scrollingStarted())
+private:
+	CpSettingFormEntryItemDataPrivate *d_ptr;
 };
 
-#endif
+#endif  //CPSETTINGFORMENTRYITEMDATA_H
--- a/controlpanel/controlpanel_plat/inc/cpsettingformentryitemdataimpl.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/cpsettingformentryitemdataimpl.h	Mon May 03 12:46:45 2010 +0300
@@ -41,8 +41,7 @@
 			const HbIcon &icon = HbIcon(),
             const HbDataFormModelItem *parent = 0) : 
             CpSettingFormEntryItemData(itemDataHelper,text,description,icon,parent)
-    {
-    }
+    { }
 
 	/*!
         Construct a new CpSettingFormEntryItemDataImpl with the given text,description and parent.
@@ -54,23 +53,39 @@
 			const HbDataFormModelItem *parent = 0) : 
             CpSettingFormEntryItemData(dataForm,text,description,icon,parent)
 
-	{
-	}
+	{ }
+	
+    explicit CpSettingFormEntryItemDataImpl(
+            EntryItemType type,
+            CpItemDataHelper &itemDataHelper,
+            const QString &text = QString(),
+            const QString &description = QString(),
+            const QString &icon = QString(),
+            const HbDataFormModelItem *parent = 0) : 
+            CpSettingFormEntryItemData(type,itemDataHelper,text,description,icon,parent)
+    { }
+    
+    explicit CpSettingFormEntryItemDataImpl(
+            EntryItemType type,
+            HbDataForm *dataForm,
+            const QString &text = QString(),
+            const QString &description = QString(),
+            const QString &icon = QString(),
+            const HbDataFormModelItem *parent = 0) : 
+            CpSettingFormEntryItemData(type,dataForm,text,description,icon,parent)
+    { }
 
     /*!
          Destructor.
     */
     virtual ~CpSettingFormEntryItemDataImpl()
-    {
-    }
+    { }
     
     /*!
          Implement CpSettingFormEntryItemData::createSettingView
     */
     virtual CpBaseSettingView *createSettingView() const
-    {
-        return new PLUGIN_VIEW();
-    }
+    { return new PLUGIN_VIEW(); }
 };
 
 #endif  // CP_SETTINGFORM_ENTRY_ITEM_DATA_IMPL_H
--- a/controlpanel/controlpanel_plat/inc/cpsettingformitemdata.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/controlpanel_plat/inc/cpsettingformitemdata.h	Mon May 03 12:46:45 2010 +0300
@@ -26,6 +26,7 @@
 
 class QString;
 class CpItemDataHelper;
+class CpSettingFormItemDataPrivate;
 
 class CP_EXPORT CpSettingFormItemData : public QObject, public HbDataFormModelItem
 {
@@ -36,6 +37,8 @@
 		const HbDataFormModelItem *parent = 0);
 	CpSettingFormItemData(const HbDataFormModelItem *parent = 0);
 	virtual ~CpSettingFormItemData();
+private:
+	CpSettingFormItemDataPrivate *d_ptr; //reservered
 };
 
 
--- a/controlpanel/rom/controlpanel.iby	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/rom/controlpanel.iby	Mon May 03 12:46:45 2010 +0300
@@ -25,4 +25,8 @@
 
 file=ABI_DIR\BUILD_DIR\cpframework.dll			  	 SHARED_LIB_DIR\cpframework.dll
 
+data= \epoc32\data\c\resource\controlpanel\widgetml\cpdataformlistentryviewitem.css       resource\controlpanel\widgetml\cpdataformlistentryviewitem.css
+data= \epoc32\data\c\resource\controlpanel\widgetml\cpdataformlistentryviewitem.widgetml  resource\controlpanel\widgetml\cpdataformlistentryviewitem.widgetml
+data= \epoc32\data\c\resource\controlpanel\icon\qgn_prop_set_default_sub.svg              resource\controlpanel\icon\qgn_prop_set_default_sub.svg
+
 #endif
--- a/controlpanel/src/bwins/cpframeworku.def	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/bwins/cpframeworku.def	Mon May 03 12:46:45 2010 +0300
@@ -1,143 +1,135 @@
 EXPORTS
-	?trUtf8@CpItemDataHelper@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString CpItemDataHelper::trUtf8(char const *, char const *)
-	?log@Logger@@QAEXABVQString@@@Z @ 2 NONAME ; void Logger::log(class QString const &)
-	?tr@CpDataFormViewItem@@SA?AVQString@@PBD0@Z @ 3 NONAME ; class QString CpDataFormViewItem::tr(char const *, char const *)
-	?disconnectFromForm@CpItemDataHelper@@QAEXPBDPAVQObject@@0@Z @ 4 NONAME ; void CpItemDataHelper::disconnectFromForm(char const *, class QObject *, char const *)
-	??1CpSettingFormItemData@@UAE@XZ @ 5 NONAME ; CpSettingFormItemData::~CpSettingFormItemData(void)
-	?removeConnection@CpItemDataHelper@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 6 NONAME ; void CpItemDataHelper::removeConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
-	?staticMetaObject@LogOutput@@2UQMetaObject@@B @ 7 NONAME ; struct QMetaObject const LogOutput::staticMetaObject
-	?metaObject@Logger@@UBEPBUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const * Logger::metaObject(void) const
-	??4CpDataFormViewItem@@IAEAAV0@ABV0@@Z @ 9 NONAME ; class CpDataFormViewItem & CpDataFormViewItem::operator=(class CpDataFormViewItem const &)
-	?load@CpDataFormViewItem@@UAEXXZ @ 10 NONAME ; void CpDataFormViewItem::load(void)
-	??_ECpDataFormViewItem@@UAE@I@Z @ 11 NONAME ; CpDataFormViewItem::~CpDataFormViewItem(unsigned int)
-	??0CpSettingFormEntryItemData@@QAE@AAVCpItemDataHelper@@ABVQString@@1ABVHbIcon@@PBVHbDataFormModelItem@@@Z @ 12 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(class CpItemDataHelper &, class QString const &, class QString const &, class HbIcon const &, class HbDataFormModelItem const *)
-	?name@Logger@@QBE?AVQString@@XZ @ 13 NONAME ; class QString Logger::name(void) const
-	?tr@Logger@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString Logger::tr(char const *, char const *)
-	??1LogOutput@@UAE@XZ @ 15 NONAME ; LogOutput::~LogOutput(void)
-	?bindToForm@CpItemDataHelper@@QAEXPAVHbDataForm@@@Z @ 16 NONAME ; void CpItemDataHelper::bindToForm(class HbDataForm *)
-	??_ELogger@@UAE@I@Z @ 17 NONAME ; Logger::~Logger(unsigned int)
-	?trUtf8@Logger@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString Logger::trUtf8(char const *, char const *)
-	?tr@CpSettingFormEntryItemData@@SA?AVQString@@PBD0H@Z @ 19 NONAME ; class QString CpSettingFormEntryItemData::tr(char const *, char const *, int)
-	?setName@LogOutput@@QAEXABVQString@@@Z @ 20 NONAME ; void LogOutput::setName(class QString const &)
-	?staticMetaObject@CpDataFormViewItem@@2UQMetaObject@@B @ 21 NONAME ; struct QMetaObject const CpDataFormViewItem::staticMetaObject
-	?getStaticMetaObject@CpSettingFormItemData@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & CpSettingFormItemData::getStaticMetaObject(void)
-	?setLogDateTime@Logger@@QAEX_N@Z @ 23 NONAME ; void Logger::setLogDateTime(bool)
-	?staticMetaObject@CpBaseSettingView@@2UQMetaObject@@B @ 24 NONAME ; struct QMetaObject const CpBaseSettingView::staticMetaObject
-	?metaObject@CpSettingFormEntryItemData@@UBEPBUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const * CpSettingFormEntryItemData::metaObject(void) const
-	?tr@CpDataFormViewItem@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString CpDataFormViewItem::tr(char const *, char const *, int)
-	?trUtf8@CpSettingFormItemData@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString CpSettingFormItemData::trUtf8(char const *, char const *, int)
-	??0CpSettingFormEntryItemData@@QAE@PAVHbDataForm@@ABVQString@@1ABVHbIcon@@PBVHbDataFormModelItem@@@Z @ 28 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(class HbDataForm *, class QString const &, class QString const &, class HbIcon const &, class HbDataFormModelItem const *)
-	?trUtf8@CpSettingFormEntryItemData@@SA?AVQString@@PBD0H@Z @ 29 NONAME ; class QString CpSettingFormEntryItemData::trUtf8(char const *, char const *, int)
-	?qt_metacast@CpSettingFormEntryItemData@@UAEPAXPBD@Z @ 30 NONAME ; void * CpSettingFormEntryItemData::qt_metacast(char const *)
-	??0Logger@@AAE@ABVQString@@PAVQObject@@@Z @ 31 NONAME ; Logger::Logger(class QString const &, class QObject *)
-	??0CpBaseSettingView@@QAE@PAVQGraphicsWidget@@PAVQGraphicsItem@@@Z @ 32 NONAME ; CpBaseSettingView::CpBaseSettingView(class QGraphicsWidget *, class QGraphicsItem *)
-	??1CpBaseSettingView@@UAE@XZ @ 33 NONAME ; CpBaseSettingView::~CpBaseSettingView(void)
-	?qt_metacall@LogOutput@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 34 NONAME ; int LogOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?onLaunchView@CpSettingFormEntryItemData@@AAEXXZ @ 35 NONAME ; void CpSettingFormEntryItemData::onLaunchView(void)
-	?addCreateLogOutputEntry@LogOutputFactory@@SAXABVQString@@P6APAVLogOutput@@XZ@Z @ 36 NONAME ; void LogOutputFactory::addCreateLogOutputEntry(class QString const &, class LogOutput * (*)(void))
-	?removeLogOutput@Logger@@QAEXPAVLogOutput@@@Z @ 37 NONAME ; void Logger::removeLogOutput(class LogOutput *)
-	?aboutToClose@CpBaseSettingView@@IAEXXZ @ 38 NONAME ; void CpBaseSettingView::aboutToClose(void)
-	?connectToForm@CpItemDataHelper@@QAEXPBDPAVQObject@@0@Z @ 39 NONAME ; void CpItemDataHelper::connectToForm(char const *, class QObject *, char const *)
-	?d_func@CpBaseSettingView@@ABEPBVCpBaseSettingViewPrivate@@XZ @ 40 NONAME ; class CpBaseSettingViewPrivate const * CpBaseSettingView::d_func(void) const
-	?setParentLogger@LogOutput@@QAEXPAVLogger@@@Z @ 41 NONAME ; void LogOutput::setParentLogger(class Logger *)
-	?tr@LogOutput@@SA?AVQString@@PBD0@Z @ 42 NONAME ; class QString LogOutput::tr(char const *, char const *)
-	?getStaticMetaObject@CpItemDataHelper@@SAABUQMetaObject@@XZ @ 43 NONAME ; struct QMetaObject const & CpItemDataHelper::getStaticMetaObject(void)
-	?tr@CpItemDataHelper@@SA?AVQString@@PBD0@Z @ 44 NONAME ; class QString CpItemDataHelper::tr(char const *, char const *)
-	?tr@CpBaseSettingView@@SA?AVQString@@PBD0@Z @ 45 NONAME ; class QString CpBaseSettingView::tr(char const *, char const *)
-	?addItemPrototype@CpItemDataHelper@@QAEXPAVHbAbstractViewItem@@@Z @ 46 NONAME ; void CpItemDataHelper::addItemPrototype(class HbAbstractViewItem *)
-	?tr@LogOutput@@SA?AVQString@@PBD0H@Z @ 47 NONAME ; class QString LogOutput::tr(char const *, char const *, int)
-	??_ELogOutput@@UAE@I@Z @ 48 NONAME ; LogOutput::~LogOutput(unsigned int)
-	?text@CpSettingFormEntryItemData@@QBE?AVQString@@XZ @ 49 NONAME ; class QString CpSettingFormEntryItemData::text(void) const
-	?setDescription@CpSettingFormEntryItemData@@QAEXABVQString@@@Z @ 50 NONAME ; void CpSettingFormEntryItemData::setDescription(class QString const &)
-	?metaObject@CpBaseSettingView@@UBEPBUQMetaObject@@XZ @ 51 NONAME ; struct QMetaObject const * CpBaseSettingView::metaObject(void) const
-	?qt_metacast@LogOutput@@UAEPAXPBD@Z @ 52 NONAME ; void * LogOutput::qt_metacast(char const *)
-	?logLoggerName@Logger@@QBE_NXZ @ 53 NONAME ; bool Logger::logLoggerName(void) const
-	?description@CpSettingFormEntryItemData@@QBE?AVQString@@XZ @ 54 NONAME ; class QString CpSettingFormEntryItemData::description(void) const
-	??1CpItemDataHelper@@UAE@XZ @ 55 NONAME ; CpItemDataHelper::~CpItemDataHelper(void)
-	?metaObject@CpDataFormViewItem@@UBEPBUQMetaObject@@XZ @ 56 NONAME ; struct QMetaObject const * CpDataFormViewItem::metaObject(void) const
-	?metaObject@CpItemDataHelper@@UBEPBUQMetaObject@@XZ @ 57 NONAME ; struct QMetaObject const * CpItemDataHelper::metaObject(void) const
-	??0CpSettingFormItemData@@QAE@W4DataItemType@HbDataFormModelItem@@ABVQString@@PBV2@@Z @ 58 NONAME ; CpSettingFormItemData::CpSettingFormItemData(enum HbDataFormModelItem::DataItemType, class QString const &, class HbDataFormModelItem const *)
-	?staticMetaObject@CpItemDataHelper@@2UQMetaObject@@B @ 59 NONAME ; struct QMetaObject const CpItemDataHelper::staticMetaObject
-	?trUtf8@Logger@@SA?AVQString@@PBD0H@Z @ 60 NONAME ; class QString Logger::trUtf8(char const *, char const *, int)
-	?dateTimeFormat@Logger@@QBE?AVQString@@XZ @ 61 NONAME ; class QString Logger::dateTimeFormat(void) const
-	??1CpDataFormViewItem@@UAE@XZ @ 62 NONAME ; CpDataFormViewItem::~CpDataFormViewItem(void)
-	?addLogOutput@Logger@@QAE_NPAVLogOutput@@@Z @ 63 NONAME ; bool Logger::addLogOutput(class LogOutput *)
-	?trUtf8@CpItemDataHelper@@SA?AVQString@@PBD0H@Z @ 64 NONAME ; class QString CpItemDataHelper::trUtf8(char const *, char const *, int)
-	?parentLogger@LogOutput@@QAEPAVLogger@@XZ @ 65 NONAME ; class Logger * LogOutput::parentLogger(void)
-	?trUtf8@CpBaseSettingView@@SA?AVQString@@PBD0H@Z @ 66 NONAME ; class QString CpBaseSettingView::trUtf8(char const *, char const *, int)
-	?logOutput@Logger@@QAEPAVLogOutput@@ABVQString@@@Z @ 67 NONAME ; class LogOutput * Logger::logOutput(class QString const &)
-	?getStaticMetaObject@LogOutput@@SAABUQMetaObject@@XZ @ 68 NONAME ; struct QMetaObject const & LogOutput::getStaticMetaObject(void)
-	?qt_metacast@CpBaseSettingView@@UAEPAXPBD@Z @ 69 NONAME ; void * CpBaseSettingView::qt_metacast(char const *)
-	?settingForm@CpBaseSettingView@@QBEPAVHbDataForm@@XZ @ 70 NONAME ; class HbDataForm * CpBaseSettingView::settingForm(void) const
-	?qt_metacall@CpBaseSettingView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 71 NONAME ; int CpBaseSettingView::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?metaObject@CpSettingFormItemData@@UBEPBUQMetaObject@@XZ @ 72 NONAME ; struct QMetaObject const * CpSettingFormItemData::metaObject(void) const
-	?createItem@CpDataFormViewItem@@UAEPAVHbAbstractViewItem@@XZ @ 73 NONAME ; class HbAbstractViewItem * CpDataFormViewItem::createItem(void)
-	?qt_metacall@CpSettingFormEntryItemData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 74 NONAME ; int CpSettingFormEntryItemData::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??_ECpSettingFormItemData@@UAE@I@Z @ 75 NONAME ; CpSettingFormItemData::~CpSettingFormItemData(unsigned int)
-	?tr@CpItemDataHelper@@SA?AVQString@@PBD0H@Z @ 76 NONAME ; class QString CpItemDataHelper::tr(char const *, char const *, int)
-	??_ECpItemDataHelper@@UAE@I@Z @ 77 NONAME ; CpItemDataHelper::~CpItemDataHelper(unsigned int)
-	?setDateTimeFormat@Logger@@QAEXABVQString@@@Z @ 78 NONAME ; void Logger::setDateTimeFormat(class QString const &)
-	??0CpItemDataHelper@@QAE@PAVHbDataForm@@@Z @ 79 NONAME ; CpItemDataHelper::CpItemDataHelper(class HbDataForm *)
-	?createCustomWidget@CpDataFormViewItem@@MAEPAVHbWidget@@XZ @ 80 NONAME ; class HbWidget * CpDataFormViewItem::createCustomWidget(void)
-	?loadPlatCpPlugin@CpPluginLoader@@SAPAVCpPluginPlatInterface@@ABVQString@@@Z @ 81 NONAME ; class CpPluginPlatInterface * CpPluginLoader::loadPlatCpPlugin(class QString const &)
-	?setEntryItemIcon@CpSettingFormEntryItemData@@QAEXABVHbIcon@@@Z @ 82 NONAME ; void CpSettingFormEntryItemData::setEntryItemIcon(class HbIcon const &)
-	?trUtf8@CpSettingFormItemData@@SA?AVQString@@PBD0@Z @ 83 NONAME ; class QString CpSettingFormItemData::trUtf8(char const *, char const *)
-	?qt_metacast@CpDataFormViewItem@@UAEPAXPBD@Z @ 84 NONAME ; void * CpDataFormViewItem::qt_metacast(char const *)
-	?qt_metacall@CpDataFormViewItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ; int CpDataFormViewItem::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@CpDataFormViewItem@@SA?AVQString@@PBD0H@Z @ 86 NONAME ; class QString CpDataFormViewItem::trUtf8(char const *, char const *, int)
-	??0CpSettingFormItemData@@QAE@PBVHbDataFormModelItem@@@Z @ 87 NONAME ; CpSettingFormItemData::CpSettingFormItemData(class HbDataFormModelItem const *)
-	?qt_metacall@Logger@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 88 NONAME ; int Logger::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?configure@Logger@@QAEXABVQString@@W4Format@QSettings@@@Z @ 89 NONAME ; void Logger::configure(class QString const &, enum QSettings::Format)
-	?tr@CpSettingFormItemData@@SA?AVQString@@PBD0@Z @ 90 NONAME ; class QString CpSettingFormItemData::tr(char const *, char const *)
-	?trUtf8@LogOutput@@SA?AVQString@@PBD0@Z @ 91 NONAME ; class QString LogOutput::trUtf8(char const *, char const *)
-	?staticMetaObject@CpSettingFormEntryItemData@@2UQMetaObject@@B @ 92 NONAME ; struct QMetaObject const CpSettingFormEntryItemData::staticMetaObject
-	?trUtf8@CpBaseSettingView@@SA?AVQString@@PBD0@Z @ 93 NONAME ; class QString CpBaseSettingView::trUtf8(char const *, char const *)
-	?addConnection@CpItemDataHelper@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 94 NONAME ; void CpItemDataHelper::addConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
-	?staticMetaObject@Logger@@2UQMetaObject@@B @ 95 NONAME ; struct QMetaObject const Logger::staticMetaObject
-	?setText@CpSettingFormEntryItemData@@QAEXABVQString@@@Z @ 96 NONAME ; void CpSettingFormEntryItemData::setText(class QString const &)
-	?qt_metacall@CpItemDataHelper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 97 NONAME ; int CpItemDataHelper::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?instance@Logger@@SAPAV1@ABVQString@@@Z @ 98 NONAME ; class Logger * Logger::instance(class QString const &)
-	?name@LogOutput@@QBE?AVQString@@XZ @ 99 NONAME ; class QString LogOutput::name(void) const
-	?trUtf8@CpDataFormViewItem@@SA?AVQString@@PBD0@Z @ 100 NONAME ; class QString CpDataFormViewItem::trUtf8(char const *, char const *)
-	?getStaticMetaObject@Logger@@SAABUQMetaObject@@XZ @ 101 NONAME ; struct QMetaObject const & Logger::getStaticMetaObject(void)
-	?tr@CpSettingFormEntryItemData@@SA?AVQString@@PBD0@Z @ 102 NONAME ; class QString CpSettingFormEntryItemData::tr(char const *, char const *)
-	??1Logger@@UAE@XZ @ 103 NONAME ; Logger::~Logger(void)
-	?qt_metacast@CpSettingFormItemData@@UAEPAXPBD@Z @ 104 NONAME ; void * CpSettingFormItemData::qt_metacast(char const *)
-	??0CpSettingFormEntryItemData@@QAE@PBVHbDataFormModelItem@@@Z @ 105 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(class HbDataFormModelItem const *)
-	?canSetModelIndex@CpDataFormViewItem@@UBE_NABVQModelIndex@@@Z @ 106 NONAME ; bool CpDataFormViewItem::canSetModelIndex(class QModelIndex const &) const
-	?closeAll@Logger@@SAXXZ @ 107 NONAME ; void Logger::closeAll(void)
-	?clearAllLogOutput@Logger@@QAEXXZ @ 108 NONAME ; void Logger::clearAllLogOutput(void)
-	?setSettingForm@CpBaseSettingView@@QAEXPAVHbDataForm@@@Z @ 109 NONAME ; void CpBaseSettingView::setSettingForm(class HbDataForm *)
-	??0CpDataFormViewItem@@IAE@ABV0@@Z @ 110 NONAME ; CpDataFormViewItem::CpDataFormViewItem(class CpDataFormViewItem const &)
-	?createLogOutput@LogOutputFactory@@SAPAVLogOutput@@ABVQString@@ABV?$QHash@VQString@@VQVariant@@@@@Z @ 111 NONAME ; class LogOutput * LogOutputFactory::createLogOutput(class QString const &, class QHash<class QString, class QVariant> const &)
-	?trUtf8@CpSettingFormEntryItemData@@SA?AVQString@@PBD0@Z @ 112 NONAME ; class QString CpSettingFormEntryItemData::trUtf8(char const *, char const *)
-	?addCpItemPrototype@CpPluginUtility@@SAXPAVHbDataForm@@@Z @ 113 NONAME ; void CpPluginUtility::addCpItemPrototype(class HbDataForm *)
-	?staticMetaObject@CpSettingFormItemData@@2UQMetaObject@@B @ 114 NONAME ; struct QMetaObject const CpSettingFormItemData::staticMetaObject
-	?tr@CpBaseSettingView@@SA?AVQString@@PBD0H@Z @ 115 NONAME ; class QString CpBaseSettingView::tr(char const *, char const *, int)
-	??1CpSettingFormEntryItemData@@UAE@XZ @ 116 NONAME ; CpSettingFormEntryItemData::~CpSettingFormEntryItemData(void)
-	??0CpDataFormViewItem@@QAE@PAVQGraphicsItem@@@Z @ 117 NONAME ; CpDataFormViewItem::CpDataFormViewItem(class QGraphicsItem *)
-	?setLogLoggerName@Logger@@QAEX_N@Z @ 118 NONAME ; void Logger::setLogLoggerName(bool)
-	?launchCpPluginView@CpPluginLauncher@@SA_NABVQString@@H@Z @ 119 NONAME ; bool CpPluginLauncher::launchCpPluginView(class QString const &, int)
-	?qt_metacast@CpItemDataHelper@@UAEPAXPBD@Z @ 120 NONAME ; void * CpItemDataHelper::qt_metacast(char const *)
-	?createLogOutput@LogOutputFactory@@SAPAVLogOutput@@ABVQString@@@Z @ 121 NONAME ; class LogOutput * LogOutputFactory::createLogOutput(class QString const &)
-	?loadCpPlugin@CpPluginLoader@@SAPAVCpPluginInterface@@ABVQString@@@Z @ 122 NONAME ; class CpPluginInterface * CpPluginLoader::loadCpPlugin(class QString const &)
-	??0LogOutput@@IAE@PAVLogger@@@Z @ 123 NONAME ; LogOutput::LogOutput(class Logger *)
-	?tr@Logger@@SA?AVQString@@PBD0H@Z @ 124 NONAME ; class QString Logger::tr(char const *, char const *, int)
-	??_ECpBaseSettingView@@UAE@I@Z @ 125 NONAME ; CpBaseSettingView::~CpBaseSettingView(unsigned int)
-	?close@Logger@@SAXABVQString@@@Z @ 126 NONAME ; void Logger::close(class QString const &)
-	?getStaticMetaObject@CpDataFormViewItem@@SAABUQMetaObject@@XZ @ 127 NONAME ; struct QMetaObject const & CpDataFormViewItem::getStaticMetaObject(void)
-	?metaObject@LogOutput@@UBEPBUQMetaObject@@XZ @ 128 NONAME ; struct QMetaObject const * LogOutput::metaObject(void) const
-	?tr@CpSettingFormItemData@@SA?AVQString@@PBD0H@Z @ 129 NONAME ; class QString CpSettingFormItemData::tr(char const *, char const *, int)
-	?trUtf8@LogOutput@@SA?AVQString@@PBD0H@Z @ 130 NONAME ; class QString LogOutput::trUtf8(char const *, char const *, int)
-	?getStaticMetaObject@CpSettingFormEntryItemData@@SAABUQMetaObject@@XZ @ 131 NONAME ; struct QMetaObject const & CpSettingFormEntryItemData::getStaticMetaObject(void)
-	?qt_metacast@Logger@@UAEPAXPBD@Z @ 132 NONAME ; void * Logger::qt_metacast(char const *)
-	?configure@Logger@@QAEXAAVQSettings@@@Z @ 133 NONAME ; void Logger::configure(class QSettings &)
-	?logDateTime@Logger@@QBE_NXZ @ 134 NONAME ; bool Logger::logDateTime(void) const
-	?d_func@CpBaseSettingView@@AAEPAVCpBaseSettingViewPrivate@@XZ @ 135 NONAME ; class CpBaseSettingViewPrivate * CpBaseSettingView::d_func(void)
-	?getStaticMetaObject@CpBaseSettingView@@SAABUQMetaObject@@XZ @ 136 NONAME ; struct QMetaObject const & CpBaseSettingView::getStaticMetaObject(void)
-	?entryItemIcon@CpSettingFormEntryItemData@@QBE?AVHbIcon@@XZ @ 137 NONAME ; class HbIcon CpSettingFormEntryItemData::entryItemIcon(void) const
-	?qt_metacall@CpSettingFormItemData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 138 NONAME ; int CpSettingFormItemData::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??_ECpSettingFormEntryItemData@@UAE@I@Z @ 139 NONAME ; CpSettingFormEntryItemData::~CpSettingFormEntryItemData(unsigned int)
-	?widgetFromModelIndex@CpItemDataHelper@@QAEPAVHbWidget@@ABVQModelIndex@@@Z @ 140 NONAME ; class HbWidget * CpItemDataHelper::widgetFromModelIndex(class QModelIndex const &)
-	?load@LogOutput@@QAE_NAAVQSettings@@@Z @ 141 NONAME ; bool LogOutput::load(class QSettings &)
+	?addLogOutput@Logger@@QAE_NPAVLogOutput@@@Z @ 1 NONAME ; bool Logger::addLogOutput(class LogOutput *)
+	??0CpItemDataHelper@@QAE@PAVHbDataForm@@@Z @ 2 NONAME ; CpItemDataHelper::CpItemDataHelper(class HbDataForm *)
+	?trUtf8@LogOutput@@SA?AVQString@@PBD0@Z @ 3 NONAME ; class QString LogOutput::trUtf8(char const *, char const *)
+	??1CpItemDataHelper@@UAE@XZ @ 4 NONAME ; CpItemDataHelper::~CpItemDataHelper(void)
+	??_ECpSettingFormEntryItemData@@UAE@I@Z @ 5 NONAME ; CpSettingFormEntryItemData::~CpSettingFormEntryItemData(unsigned int)
+	?staticMetaObject@CpItemDataHelper@@2UQMetaObject@@B @ 6 NONAME ; struct QMetaObject const CpItemDataHelper::staticMetaObject
+	?metaObject@CpBaseSettingView@@UBEPBUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const * CpBaseSettingView::metaObject(void) const
+	?text@CpSettingFormEntryItemData@@QBE?AVQString@@XZ @ 8 NONAME ; class QString CpSettingFormEntryItemData::text(void) const
+	?qt_metacast@CpSettingFormItemData@@UAEPAXPBD@Z @ 9 NONAME ; void * CpSettingFormItemData::qt_metacast(char const *)
+	??1LogOutput@@UAE@XZ @ 10 NONAME ; LogOutput::~LogOutput(void)
+	?qt_metacall@Logger@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11 NONAME ; int Logger::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?loadCpLauncherInterface@CpPluginLoader@@SAPAVCpLauncherInterface@@ABVQString@@@Z @ 12 NONAME ; class CpLauncherInterface * CpPluginLoader::loadCpLauncherInterface(class QString const &)
+	?loadCpPluginInterface@CpPluginLoader@@SAPAVCpPluginInterface@@ABVQString@@@Z @ 13 NONAME ; class CpPluginInterface * CpPluginLoader::loadCpPluginInterface(class QString const &)
+	?staticMetaObject@Logger@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const Logger::staticMetaObject
+	?loadPlatCpPlugin@CpPluginLoader@@SAPAVCpPluginPlatInterface@@ABVQString@@@Z @ 15 NONAME ; class CpPluginPlatInterface * CpPluginLoader::loadPlatCpPlugin(class QString const &)
+	?logOutput@Logger@@QAEPAVLogOutput@@ABVQString@@@Z @ 16 NONAME ; class LogOutput * Logger::logOutput(class QString const &)
+	??_ELogOutput@@UAE@I@Z @ 17 NONAME ; LogOutput::~LogOutput(unsigned int)
+	?addCpItemPrototype@CpPluginUtility@@SAXPAVHbDataForm@@@Z @ 18 NONAME ; void CpPluginUtility::addCpItemPrototype(class HbDataForm *)
+	?qt_metacast@LogOutput@@UAEPAXPBD@Z @ 19 NONAME ; void * LogOutput::qt_metacast(char const *)
+	?qt_metacast@CpBaseSettingView@@UAEPAXPBD@Z @ 20 NONAME ; void * CpBaseSettingView::qt_metacast(char const *)
+	?getStaticMetaObject@CpBaseSettingView@@SAABUQMetaObject@@XZ @ 21 NONAME ; struct QMetaObject const & CpBaseSettingView::getStaticMetaObject(void)
+	??1CpSettingFormItemData@@UAE@XZ @ 22 NONAME ; CpSettingFormItemData::~CpSettingFormItemData(void)
+	??0CpSettingFormEntryItemData@@QAE@W4EntryItemType@0@PAVHbDataForm@@ABVQString@@22PBVHbDataFormModelItem@@@Z @ 23 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(enum CpSettingFormEntryItemData::EntryItemType, class HbDataForm *, class QString const &, class QString const &, class QString const &, class HbDataFormModelItem const *)
+	?d_func@CpSettingFormEntryItemData@@ABEPBVCpSettingFormEntryItemDataPrivate@@XZ @ 24 NONAME ; class CpSettingFormEntryItemDataPrivate const * CpSettingFormEntryItemData::d_func(void) const
+	?d_func@CpBaseSettingView@@ABEPBVCpBaseSettingViewPrivate@@XZ @ 25 NONAME ; class CpBaseSettingViewPrivate const * CpBaseSettingView::d_func(void) const
+	?launchCpPluginView@CpPluginLauncher@@SA_NABVQString@@H@Z @ 26 NONAME ; bool CpPluginLauncher::launchCpPluginView(class QString const &, int)
+	?aboutToClose@CpBaseSettingView@@IAEXXZ @ 27 NONAME ; void CpBaseSettingView::aboutToClose(void)
+	?modelItemFromModelIndex@CpItemDataHelper@@QAEPAVHbDataFormModelItem@@ABVQModelIndex@@@Z @ 28 NONAME ; class HbDataFormModelItem * CpItemDataHelper::modelItemFromModelIndex(class QModelIndex const &)
+	?instance@Logger@@SAPAV1@ABVQString@@@Z @ 29 NONAME ; class Logger * Logger::instance(class QString const &)
+	?trUtf8@CpSettingFormEntryItemData@@SA?AVQString@@PBD0H@Z @ 30 NONAME ; class QString CpSettingFormEntryItemData::trUtf8(char const *, char const *, int)
+	?removeConnection@CpItemDataHelper@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 31 NONAME ; void CpItemDataHelper::removeConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
+	?setDateTimeFormat@Logger@@QAEXABVQString@@@Z @ 32 NONAME ; void Logger::setDateTimeFormat(class QString const &)
+	?settingForm@CpBaseSettingView@@QBEPAVHbDataForm@@XZ @ 33 NONAME ; class HbDataForm * CpBaseSettingView::settingForm(void) const
+	??1Logger@@UAE@XZ @ 34 NONAME ; Logger::~Logger(void)
+	?description@CpSettingFormEntryItemData@@QBE?AVQString@@XZ @ 35 NONAME ; class QString CpSettingFormEntryItemData::description(void) const
+	?log@Logger@@QAEXABVQString@@@Z @ 36 NONAME ; void Logger::log(class QString const &)
+	??_ELogger@@UAE@I@Z @ 37 NONAME ; Logger::~Logger(unsigned int)
+	?tr@CpItemDataHelper@@SA?AVQString@@PBD0H@Z @ 38 NONAME ; class QString CpItemDataHelper::tr(char const *, char const *, int)
+	?setName@LogOutput@@QAEXABVQString@@@Z @ 39 NONAME ; void LogOutput::setName(class QString const &)
+	?qt_metacall@CpBaseSettingView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 40 NONAME ; int CpBaseSettingView::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?trUtf8@CpBaseSettingView@@SA?AVQString@@PBD0H@Z @ 41 NONAME ; class QString CpBaseSettingView::trUtf8(char const *, char const *, int)
+	?getStaticMetaObject@CpSettingFormEntryItemData@@SAABUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const & CpSettingFormEntryItemData::getStaticMetaObject(void)
+	?name@Logger@@QBE?AVQString@@XZ @ 43 NONAME ; class QString Logger::name(void) const
+	?load@LogOutput@@QAE_NAAVQSettings@@@Z @ 44 NONAME ; bool LogOutput::load(class QSettings &)
+	??0CpSettingFormEntryItemData@@QAE@AAVCpItemDataHelper@@ABVQString@@1ABVHbIcon@@PBVHbDataFormModelItem@@@Z @ 45 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(class CpItemDataHelper &, class QString const &, class QString const &, class HbIcon const &, class HbDataFormModelItem const *)
+	?setText@CpSettingFormEntryItemData@@QAEXABVQString@@@Z @ 46 NONAME ; void CpSettingFormEntryItemData::setText(class QString const &)
+	?close@Logger@@SAXABVQString@@@Z @ 47 NONAME ; void Logger::close(class QString const &)
+	?disconnectFromForm@CpItemDataHelper@@QAEXPBDPAVQObject@@0@Z @ 48 NONAME ; void CpItemDataHelper::disconnectFromForm(char const *, class QObject *, char const *)
+	?metaObject@CpItemDataHelper@@UBEPBUQMetaObject@@XZ @ 49 NONAME ; struct QMetaObject const * CpItemDataHelper::metaObject(void) const
+	??_ECpItemDataHelper@@UAE@I@Z @ 50 NONAME ; CpItemDataHelper::~CpItemDataHelper(unsigned int)
+	??1CpSettingFormEntryItemData@@UAE@XZ @ 51 NONAME ; CpSettingFormEntryItemData::~CpSettingFormEntryItemData(void)
+	?iconName@CpSettingFormEntryItemData@@QBE?AVQString@@XZ @ 52 NONAME ; class QString CpSettingFormEntryItemData::iconName(void) const
+	?staticMetaObject@CpSettingFormItemData@@2UQMetaObject@@B @ 53 NONAME ; struct QMetaObject const CpSettingFormItemData::staticMetaObject
+	?createLogOutput@LogOutputFactory@@SAPAVLogOutput@@ABVQString@@@Z @ 54 NONAME ; class LogOutput * LogOutputFactory::createLogOutput(class QString const &)
+	?setEntryItemIcon@CpSettingFormEntryItemData@@QAEXABVHbIcon@@@Z @ 55 NONAME ; void CpSettingFormEntryItemData::setEntryItemIcon(class HbIcon const &)
+	?entryItemIcon@CpSettingFormEntryItemData@@QBE?AVHbIcon@@XZ @ 56 NONAME ; class HbIcon CpSettingFormEntryItemData::entryItemIcon(void) const
+	?qt_metacall@CpSettingFormEntryItemData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 57 NONAME ; int CpSettingFormEntryItemData::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?onLaunchView@CpSettingFormEntryItemData@@UAEXXZ @ 58 NONAME ; void CpSettingFormEntryItemData::onLaunchView(void)
+	?setLogDateTime@Logger@@QAEX_N@Z @ 59 NONAME ; void Logger::setLogDateTime(bool)
+	?configure@Logger@@QAEXABVQString@@W4Format@QSettings@@@Z @ 60 NONAME ; void Logger::configure(class QString const &, enum QSettings::Format)
+	?tr@Logger@@SA?AVQString@@PBD0@Z @ 61 NONAME ; class QString Logger::tr(char const *, char const *)
+	?trUtf8@CpItemDataHelper@@SA?AVQString@@PBD0H@Z @ 62 NONAME ; class QString CpItemDataHelper::trUtf8(char const *, char const *, int)
+	?metaObject@LogOutput@@UBEPBUQMetaObject@@XZ @ 63 NONAME ; struct QMetaObject const * LogOutput::metaObject(void) const
+	?trUtf8@CpItemDataHelper@@SA?AVQString@@PBD0@Z @ 64 NONAME ; class QString CpItemDataHelper::trUtf8(char const *, char const *)
+	??0CpSettingFormEntryItemData@@QAE@PBVHbDataFormModelItem@@@Z @ 65 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(class HbDataFormModelItem const *)
+	?logDateTime@Logger@@QBE_NXZ @ 66 NONAME ; bool Logger::logDateTime(void) const
+	??0CpSettingFormEntryItemData@@QAE@PAVHbDataForm@@ABVQString@@1ABVHbIcon@@PBVHbDataFormModelItem@@@Z @ 67 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(class HbDataForm *, class QString const &, class QString const &, class HbIcon const &, class HbDataFormModelItem const *)
+	?d_func@CpBaseSettingView@@AAEPAVCpBaseSettingViewPrivate@@XZ @ 68 NONAME ; class CpBaseSettingViewPrivate * CpBaseSettingView::d_func(void)
+	??0CpSettingFormItemData@@QAE@W4DataItemType@HbDataFormModelItem@@ABVQString@@PBV2@@Z @ 69 NONAME ; CpSettingFormItemData::CpSettingFormItemData(enum HbDataFormModelItem::DataItemType, class QString const &, class HbDataFormModelItem const *)
+	?connectToForm@CpItemDataHelper@@QAEXPBDPAVQObject@@0@Z @ 70 NONAME ; void CpItemDataHelper::connectToForm(char const *, class QObject *, char const *)
+	?tr@LogOutput@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString LogOutput::tr(char const *, char const *)
+	?setIconName@CpSettingFormEntryItemData@@QAEXABVQString@@@Z @ 72 NONAME ; void CpSettingFormEntryItemData::setIconName(class QString const &)
+	?qt_metacast@CpItemDataHelper@@UAEPAXPBD@Z @ 73 NONAME ; void * CpItemDataHelper::qt_metacast(char const *)
+	?metaObject@Logger@@UBEPBUQMetaObject@@XZ @ 74 NONAME ; struct QMetaObject const * Logger::metaObject(void) const
+	?tr@CpSettingFormEntryItemData@@SA?AVQString@@PBD0@Z @ 75 NONAME ; class QString CpSettingFormEntryItemData::tr(char const *, char const *)
+	??0Logger@@AAE@ABVQString@@PAVQObject@@@Z @ 76 NONAME ; Logger::Logger(class QString const &, class QObject *)
+	?addConnection@CpItemDataHelper@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 77 NONAME ; void CpItemDataHelper::addConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
+	?d_func@CpSettingFormEntryItemData@@AAEPAVCpSettingFormEntryItemDataPrivate@@XZ @ 78 NONAME ; class CpSettingFormEntryItemDataPrivate * CpSettingFormEntryItemData::d_func(void)
+	?dateTimeFormat@Logger@@QBE?AVQString@@XZ @ 79 NONAME ; class QString Logger::dateTimeFormat(void) const
+	??0CpSettingFormItemData@@QAE@PBVHbDataFormModelItem@@@Z @ 80 NONAME ; CpSettingFormItemData::CpSettingFormItemData(class HbDataFormModelItem const *)
+	?clearAllLogOutput@Logger@@QAEXXZ @ 81 NONAME ; void Logger::clearAllLogOutput(void)
+	?qt_metacall@LogOutput@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 82 NONAME ; int LogOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setDescription@CpSettingFormEntryItemData@@QAEXABVQString@@@Z @ 83 NONAME ; void CpSettingFormEntryItemData::setDescription(class QString const &)
+	?tr@CpSettingFormEntryItemData@@SA?AVQString@@PBD0H@Z @ 84 NONAME ; class QString CpSettingFormEntryItemData::tr(char const *, char const *, int)
+	?getStaticMetaObject@CpSettingFormItemData@@SAABUQMetaObject@@XZ @ 85 NONAME ; struct QMetaObject const & CpSettingFormItemData::getStaticMetaObject(void)
+	?staticMetaObject@CpSettingFormEntryItemData@@2UQMetaObject@@B @ 86 NONAME ; struct QMetaObject const CpSettingFormEntryItemData::staticMetaObject
+	?setParentLogger@LogOutput@@QAEXPAVLogger@@@Z @ 87 NONAME ; void LogOutput::setParentLogger(class Logger *)
+	?parentLogger@LogOutput@@QAEPAVLogger@@XZ @ 88 NONAME ; class Logger * LogOutput::parentLogger(void)
+	?qt_metacall@CpSettingFormItemData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 89 NONAME ; int CpSettingFormItemData::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?tr@Logger@@SA?AVQString@@PBD0H@Z @ 90 NONAME ; class QString Logger::tr(char const *, char const *, int)
+	??_ECpBaseSettingView@@UAE@I@Z @ 91 NONAME ; CpBaseSettingView::~CpBaseSettingView(unsigned int)
+	?bindToForm@CpItemDataHelper@@QAEXPAVHbDataForm@@@Z @ 92 NONAME ; void CpItemDataHelper::bindToForm(class HbDataForm *)
+	??_ECpSettingFormItemData@@UAE@I@Z @ 93 NONAME ; CpSettingFormItemData::~CpSettingFormItemData(unsigned int)
+	?getStaticMetaObject@Logger@@SAABUQMetaObject@@XZ @ 94 NONAME ; struct QMetaObject const & Logger::getStaticMetaObject(void)
+	?trUtf8@CpSettingFormItemData@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString CpSettingFormItemData::trUtf8(char const *, char const *, int)
+	?staticMetaObject@CpBaseSettingView@@2UQMetaObject@@B @ 96 NONAME ; struct QMetaObject const CpBaseSettingView::staticMetaObject
+	?tr@CpBaseSettingView@@SA?AVQString@@PBD0H@Z @ 97 NONAME ; class QString CpBaseSettingView::tr(char const *, char const *, int)
+	?tr@CpBaseSettingView@@SA?AVQString@@PBD0@Z @ 98 NONAME ; class QString CpBaseSettingView::tr(char const *, char const *)
+	?setLogLoggerName@Logger@@QAEX_N@Z @ 99 NONAME ; void Logger::setLogLoggerName(bool)
+	?tr@CpSettingFormItemData@@SA?AVQString@@PBD0@Z @ 100 NONAME ; class QString CpSettingFormItemData::tr(char const *, char const *)
+	?closeAll@Logger@@SAXXZ @ 101 NONAME ; void Logger::closeAll(void)
+	?setSettingForm@CpBaseSettingView@@QAEXPAVHbDataForm@@@Z @ 102 NONAME ; void CpBaseSettingView::setSettingForm(class HbDataForm *)
+	?tr@CpSettingFormItemData@@SA?AVQString@@PBD0H@Z @ 103 NONAME ; class QString CpSettingFormItemData::tr(char const *, char const *, int)
+	?trUtf8@LogOutput@@SA?AVQString@@PBD0H@Z @ 104 NONAME ; class QString LogOutput::trUtf8(char const *, char const *, int)
+	?removeLogOutput@Logger@@QAEXPAVLogOutput@@@Z @ 105 NONAME ; void Logger::removeLogOutput(class LogOutput *)
+	?trUtf8@CpSettingFormItemData@@SA?AVQString@@PBD0@Z @ 106 NONAME ; class QString CpSettingFormItemData::trUtf8(char const *, char const *)
+	??0CpBaseSettingView@@QAE@PAVQGraphicsWidget@@PAVQGraphicsItem@@@Z @ 107 NONAME ; CpBaseSettingView::CpBaseSettingView(class QGraphicsWidget *, class QGraphicsItem *)
+	?widgetFromModelIndex@CpItemDataHelper@@QAEPAVHbWidget@@ABVQModelIndex@@@Z @ 108 NONAME ; class HbWidget * CpItemDataHelper::widgetFromModelIndex(class QModelIndex const &)
+	??0LogOutput@@IAE@PAVLogger@@@Z @ 109 NONAME ; LogOutput::LogOutput(class Logger *)
+	?staticMetaObject@LogOutput@@2UQMetaObject@@B @ 110 NONAME ; struct QMetaObject const LogOutput::staticMetaObject
+	?trUtf8@CpSettingFormEntryItemData@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString CpSettingFormEntryItemData::trUtf8(char const *, char const *)
+	?launchSettingView@CpPluginLauncher@@SA_NABVQString@@ABVQVariant@@@Z @ 112 NONAME ; bool CpPluginLauncher::launchSettingView(class QString const &, class QVariant const &)
+	?name@LogOutput@@QBE?AVQString@@XZ @ 113 NONAME ; class QString LogOutput::name(void) const
+	?tr@CpItemDataHelper@@SA?AVQString@@PBD0@Z @ 114 NONAME ; class QString CpItemDataHelper::tr(char const *, char const *)
+	?getStaticMetaObject@CpItemDataHelper@@SAABUQMetaObject@@XZ @ 115 NONAME ; struct QMetaObject const & CpItemDataHelper::getStaticMetaObject(void)
+	?qt_metacast@CpSettingFormEntryItemData@@UAEPAXPBD@Z @ 116 NONAME ; void * CpSettingFormEntryItemData::qt_metacast(char const *)
+	?logLoggerName@Logger@@QBE_NXZ @ 117 NONAME ; bool Logger::logLoggerName(void) const
+	?qt_metacall@CpItemDataHelper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 118 NONAME ; int CpItemDataHelper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?metaObject@CpSettingFormEntryItemData@@UBEPBUQMetaObject@@XZ @ 119 NONAME ; struct QMetaObject const * CpSettingFormEntryItemData::metaObject(void) const
+	?qt_metacast@Logger@@UAEPAXPBD@Z @ 120 NONAME ; void * Logger::qt_metacast(char const *)
+	?addItemPrototype@CpItemDataHelper@@QAEXPAVHbAbstractViewItem@@@Z @ 121 NONAME ; void CpItemDataHelper::addItemPrototype(class HbAbstractViewItem *)
+	?trUtf8@CpBaseSettingView@@SA?AVQString@@PBD0@Z @ 122 NONAME ; class QString CpBaseSettingView::trUtf8(char const *, char const *)
+	?getStaticMetaObject@LogOutput@@SAABUQMetaObject@@XZ @ 123 NONAME ; struct QMetaObject const & LogOutput::getStaticMetaObject(void)
+	?createLogOutput@LogOutputFactory@@SAPAVLogOutput@@ABVQString@@ABV?$QHash@VQString@@VQVariant@@@@@Z @ 124 NONAME ; class LogOutput * LogOutputFactory::createLogOutput(class QString const &, class QHash<class QString, class QVariant> const &)
+	?addCreateLogOutputEntry@LogOutputFactory@@SAXABVQString@@P6APAVLogOutput@@XZ@Z @ 125 NONAME ; void LogOutputFactory::addCreateLogOutputEntry(class QString const &, class LogOutput * (*)(void))
+	?configure@Logger@@QAEXAAVQSettings@@@Z @ 126 NONAME ; void Logger::configure(class QSettings &)
+	?loadCpPlugin@CpPluginLoader@@SAPAVCpPluginInterface@@ABVQString@@@Z @ 127 NONAME ; class CpPluginInterface * CpPluginLoader::loadCpPlugin(class QString const &)
+	??1CpBaseSettingView@@UAE@XZ @ 128 NONAME ; CpBaseSettingView::~CpBaseSettingView(void)
+	??0CpSettingFormEntryItemData@@QAE@W4EntryItemType@0@AAVCpItemDataHelper@@ABVQString@@22PBVHbDataFormModelItem@@@Z @ 129 NONAME ; CpSettingFormEntryItemData::CpSettingFormEntryItemData(enum CpSettingFormEntryItemData::EntryItemType, class CpItemDataHelper &, class QString const &, class QString const &, class QString const &, class HbDataFormModelItem const *)
+	?metaObject@CpSettingFormItemData@@UBEPBUQMetaObject@@XZ @ 130 NONAME ; struct QMetaObject const * CpSettingFormItemData::metaObject(void) const
+	?tr@LogOutput@@SA?AVQString@@PBD0H@Z @ 131 NONAME ; class QString LogOutput::tr(char const *, char const *, int)
+	?trUtf8@Logger@@SA?AVQString@@PBD0H@Z @ 132 NONAME ; class QString Logger::trUtf8(char const *, char const *, int)
+	?trUtf8@Logger@@SA?AVQString@@PBD0@Z @ 133 NONAME ; class QString Logger::trUtf8(char const *, char const *)
 
--- a/controlpanel/src/cpframework/cpframework.pri	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/cpframework.pri	Mon May 03 12:46:45 2010 +0300
@@ -15,22 +15,25 @@
 # Description: cpframework source files
 #
 
-HEADERS += src/cpbasepath.h \
-           src/cpviewlauncher.h \
+HEADERS += src/cpviewlauncher.h \
            src/cpbasesettingview_p.h \
            src/cpwatchdog.h \
            src/cputility.h \
-           src/cpdataformviewitem.h
+           src/cpdataformbuttonentryviewitem.h \
+           src/cpdataformlistentryviewitem.h \
+           src/cpsettingformentryitemdata_p.h
 
 SOURCES += src/cppluginlauncher.cpp \
 		       src/cpviewlauncher.cpp \
 		       src/cppluginloader.cpp \
-		       src/cpsettingformentryitemdata.cpp \
+		       src/cpsettingformentryitemdata.cpp \ 
+		       src/cpdataformbuttonentryviewitem.cpp \
+		       src/cpdataformlistentryviewitem.cpp \
 		       src/cpsettingformitemdata.cpp \
 		       src/cpbasesettingview.cpp \
 		       src/cpbasesettingview_p.cpp \
 		       src/cpwatchdog.cpp \
-		       src/cpdataformviewitem.cpp \
 		       src/cpitemdatahelper.cpp \
 		       src/cputility.cpp \
-		       src/cppluginutility.cpp
+		       src/cppluginutility.cpp \
+		       src/cpsettingformentryitemdata_p.cpp
--- a/controlpanel/src/cpframework/cpframework.pro	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/cpframework.pro	Mon May 03 12:46:45 2010 +0300
@@ -22,6 +22,8 @@
 include ( ./cpframework.pri )
 include ( ../../controlpanel_plat/inc/controlpanel_plat.pri )
 
+RESOURCES += cpframework.qrc
+
 symbian: { 
     TARGET.UID3 = 0x20025FDA
 }
@@ -33,6 +35,7 @@
     # export headers to mw
     EXPORT_PLATFORM_HEADERS += \
                              ../../controlpanel_plat/inc/cpglobal.h \
+                             ../../controlpanel_plat/inc/cpbasepath.h \
                              ../../controlpanel_plat/inc/cpplugininterface.h \
                              ../../controlpanel_plat/inc/cppluginplatinterface.h \
                              ../../controlpanel_plat/inc/cppluginloader.h \
@@ -42,10 +45,24 @@
                              ../../controlpanel_plat/inc/cpsettingformitemdata.h \
                              ../../controlpanel_plat/inc/cpsettingformentryitemdata.h \
                              ../../controlpanel_plat/inc/cpsettingformentryitemdataimpl.h \
-                             ../../controlpanel_plat/inc/cppluginutility.h
+                             ../../controlpanel_plat/inc/cppluginutility.h \
+                             ../../controlpanel_plat/inc/cplauncherinterface.h
     
     headers.sources = $$EXPORT_PLATFORM_HEADERS
     for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$MW_LAYER_PLATFORM_EXPORT_PATH($$basename(header))"
+    
+    
+	# export widgetml files	
+    widgetmls.path = C:/resource/controlpanel/widgetml
+    widgetmls.sources += widgetml/cpdataformlistentryviewitem.css \
+                         widgetml/cpdataformlistentryviewitem.widgetml
+    for(widgetmlfile, widgetmls.sources):BLD_INF_RULES.prj_exports += "./$$widgetmlfile  $$widgetmls.path/$$basename(widgetmlfile)" 
+    
+    # export icon files	
+    icons.path = C:/resource/controlpanel/icon
+    icons.sources += icon/qgn_prop_set_default_sub.svg
+    for(iconfile, icons.sources):BLD_INF_RULES.prj_exports += "./$$iconfile  $$icons.path/$$basename(iconfile)" 
+    
 }
 include (../logger/logger_export.pri)
     
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/cpframework.qrc	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,7 @@
+<!DOCTYPE RCC><RCC version="1.0">
+    <qresource prefix="/">   
+        <file>widgetml/cpdataformlistentryviewitem.widgetml</file>      
+        <file>widgetml/cpdataformlistentryviewitem.css</file>  
+        <file>icon/qgn_prop_set_default_sub.svg</file>
+    </qresource>    
+</RCC>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/icon/qgn_prop_set_default_sub.svg	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg width="84" height="58" viewBox="0 0 84 58">
+<linearGradient id="_7" gradientUnits="userSpaceOnUse" x1="49.2" y1="27.45" x2="59.91" y2="48.56">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill="url(#_7)" d="M23.988,14.567l3.031,29.666l24.507,8.426l17.605-12.168l1.831-30.629L42.207,4.307L23.988,14.567 z"/>
+<linearGradient id="_8" gradientUnits="userSpaceOnUse" x1="50.58" y1="5.67" x2="36.58" y2="36.67">
+<stop stop-color="#FFFFFF" offset="0.05"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_8)" points="51.495,52.249 27.345,43.975 24.529,14.76 52.366,21.846 "/>
+<linearGradient id="_9" gradientUnits="userSpaceOnUse" x1="69.46" y1="9.14" x2="59.13" y2="33.47">
+<stop stop-color="#FFFFFF" offset="0.05"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_9)" points="51.495,52.249 68.793,40.3 70.596,10.147 51.495,21.846 "/>
+<linearGradient id="_10" gradientUnits="userSpaceOnUse" x1="52.6" y1="23.4" x2="32.93" y2="-18.27">
+<stop stop-color="#FFFFFF" offset="0.05"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_10)" points="24.359,14.76 51.495,21.846 70.508,10.147 42.267,4.675 "/>
+<linearGradient id="_11" gradientUnits="userSpaceOnUse" x1="31.28" y1="50.6" x2="54.94" y2="39.6">
+<stop stop-color="#FFFFFF" offset="0.05"/>
+<stop stop-color="#A2C2DD" offset="1"/>
+</linearGradient>
+<polygon fill="url(#_11)" points="51.333,35.382 51.473,52.271 27.351,43.998 43.792,33.719 "/>
+<path fill="#FFFFFF" d="M12.458,34.78c-2.914,0-6.904,0.692-7.916,6.672l-0.151,0.899c0,0,6.712,0,7.508,0 c0.24,0.433,0.599,1.078,0.826,1.492c-0.228,0.414-0.586,1.06-0.826,1.49c-0.798,0-7.508,0-7.508,0l0.151,0.902 c1.012,5.977,5.002,6.669,7.916,6.669c2.297,0,4.346-1.927,5.988-3.478c0.891-0.839,1.729-1.626,2.174-1.626h20.56l0.229-0.253 c0.44-0.485,1.466-1.814,1.489-3.673v-0.067c-0.023-1.861-1.051-3.188-1.489-3.675l-0.229-0.252H20.62 c-0.442,0-1.283-0.788-2.172-1.622C16.804,36.709,14.755,34.78,12.458,34.78z"/>
+<linearGradient id="_12" gradientUnits="userSpaceOnUse" x1="11.1" y1="29.9" x2="33.27" y2="56.57">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#9646AC" offset="0.44"/>
+<stop stop-color="#3D013F" offset="0.94"/>
+</linearGradient>
+<path fill="url(#_12)" d="M42.174,43.828c0-0.008,0.002-0.016,0.002-0.022h-0.004c-0.019-1.62-0.946-2.79-1.288-3.164 c-0.435,0-20.217,0-20.217,0c-0.753,0-1.568-0.771-2.703-1.835c-1.544-1.456-3.467-3.268-5.459-3.268 c-3.234,0-6.294,0.95-7.152,6.025c1.216,0,7.05,0,7.05,0l1.253,2.264l-1.253,2.264c0,0-5.834,0-7.05,0 c0.858,5.076,3.918,6.025,7.152,6.025c1.992,0,3.916-1.813,5.459-3.267c1.135-1.065,1.95-1.836,2.703-1.836 c0,0,19.782,0,20.217,0c0.341-0.372,1.27-1.543,1.288-3.163h0.004C42.176,43.844,42.174,43.837,42.174,43.828z"/>
+</svg>
\ No newline at end of file
--- a/controlpanel/src/cpframework/src/cpbasepath.h	Fri Apr 16 15:15:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* 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:  
-*
-*/
-
-#ifndef CPBASEPATH_H
-#define CPBASEPATH_H
-
-#ifdef Q_OS_SYMBIAN
-        #define CP_PLUGIN_PATH QString("/resource/qt/plugins/controlpanel")
-        #define CP_PLUGIN_CONFIG_PATH QString("/resource/qt/plugins/controlpanel/config")
-#else 
-	#ifdef _DEBUG
-		#define CP_PLUGIN_PATH QString("/ControlPanel/debug/bin")
-		#define CP_PLUGIN_CONFIG_PATH QString("/ControlPanel/debug/bin/config")
-	#else
-		#define CP_PLUGIN_PATH QString("/ControlPanel/release/bin")
-		#define CP_PLUGIN_CONFIG_PATH QString("/ControlPanel/release/bin/config")
-	#endif
-#endif 
-
-#endif /* CPBASEPATH_H */
--- a/controlpanel/src/cpframework/src/cpbasesettingview_p.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cpbasesettingview_p.cpp	Mon May 03 12:46:45 2010 +0300
@@ -24,8 +24,6 @@
 #include <hbdataformmodel.h>
 #include <QGraphicsLayout>
 #include "cpitemdatahelper.h"
-#include "cpdataformviewitem.h"
-#include "cpsettingformentryitemdata.h"
 #include "cppluginutility.h"
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/src/cpdataformbuttonentryviewitem.cpp	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,156 @@
+/*
+* 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:  
+*
+*/
+#include "cpdataformbuttonentryviewitem.h"
+#include <hbdataformmodelitem.h>
+#include <hbpushbutton.h>
+#include <hbdataformmodel.h>
+#include <hbabstractitemview.h>
+#include <QMetaProperty>
+#include <cpsettingformentryitemdata.h>
+/*!
+    \class CpDataFormButtonEntryViewItem
+    \brief The CpDataFormButtonEntryViewItem is a item proto type of HbDataForm which is supplied by control panel.
+	When you want use setting items which are come from control panel, you should append this class to the proto type list of your data form's instance.
+	Code example:
+	\code
+	HbDataForm *form = new HbDataForm();
+	QList<HbAbstractViewItem *> protoType = form->itemProtoTypetypes();
+	protoType.append(CpDataFormButtonEntryViewItem::createCpItemProtoType());
+	form->setItemPrototypes();
+	\endcode
+*/
+class CpDataFormButtonEntryViewItemPrivate 
+{
+public:
+	CpDataFormButtonEntryViewItemPrivate() : mWidget(0)
+	{
+	}
+	~CpDataFormButtonEntryViewItemPrivate()
+	{
+	}
+	HbWidget *mWidget;
+};
+
+/*!
+    Constructor
+ */
+CpDataFormButtonEntryViewItem::CpDataFormButtonEntryViewItem(QGraphicsItem *parent)
+: HbDataFormViewItem(parent),d_ptr(new CpDataFormButtonEntryViewItemPrivate())
+{
+}
+
+/*!
+	Destructor of CpDataFormButtonEntryViewItem
+ */
+CpDataFormButtonEntryViewItem::~CpDataFormButtonEntryViewItem()
+{
+	delete d_ptr;
+}
+
+/*!
+	Creates CpDataFormButtonEntryViewItem. This function is called form HbAbstractItemContainer when model is getting parsed for creating items.
+ */
+HbAbstractViewItem *CpDataFormButtonEntryViewItem::createItem()
+{
+	return new CpDataFormButtonEntryViewItem(*this);
+}
+
+/*!
+	Copy constructor of CpDataFormButtonEntryViewItem
+ */
+CpDataFormButtonEntryViewItem::CpDataFormButtonEntryViewItem(const CpDataFormButtonEntryViewItem &other)
+: HbDataFormViewItem(other), d_ptr(new CpDataFormButtonEntryViewItemPrivate(*other.d_ptr))
+{
+	
+}
+
+/*!
+	Assignment operator
+ */
+CpDataFormButtonEntryViewItem &CpDataFormButtonEntryViewItem::operator=(const CpDataFormButtonEntryViewItem &other)
+{
+	if (&other == this) {
+		return *this;
+	}
+
+	*d_ptr = *(other.d_ptr);
+	
+	return *this;
+}
+
+/*!
+	Inherit from HbAbstractViewItem, return true if the model item can be supported by CpDataFormButtonEntryViewItem.
+ */
+bool CpDataFormButtonEntryViewItem::canSetModelIndex(const QModelIndex &index) const
+{
+	int itemTypeId = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
+	
+	return (itemTypeId == CpSettingFormEntryItemData::ButtonEntryItem);
+}
+
+/*!
+	Inherit from HbDataFormViewItem, return the setting item's widget of control panel
+ */
+HbWidget *CpDataFormButtonEntryViewItem::createCustomWidget()
+{
+    HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+        modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+	if (itemType == CpSettingFormEntryItemData::ButtonEntryItem) {
+		HbPushButton *button = new HbPushButton(QString("Push button"));
+		d_ptr->mWidget = button;
+		button->setTextAlignment( Qt::AlignLeft );
+		return button;
+	}
+    
+    return 0;
+}
+
+/*!
+	Inherit from HbDataForm. This function is called by hbdataform's framework, 
+	for supporting to load entry item's text, icon and additional text dynamically.
+	It is not recommanded to call this function mannually.
+ */
+void CpDataFormButtonEntryViewItem::load()
+{
+	HbDataFormViewItem::load();
+
+	if (d_ptr->mWidget) {
+		HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+			modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+		if(itemType == CpSettingFormEntryItemData::ButtonEntryItem) {
+
+			QModelIndex itemIndex = modelIndex();
+			HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+			HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+				model->itemFromIndex(itemIndex));
+
+			const QMetaObject *metaObj = d_ptr->mWidget->metaObject();
+			int count = metaObj->propertyCount();
+			for (int i = 0; i < count; i++) {
+				QMetaProperty metaProperty = metaObj->property(i);
+				if (metaProperty.isValid() && metaProperty.isWritable()) {
+					metaProperty.write(d_ptr->mWidget,modelItem->contentWidgetData(metaProperty.name()));
+				}
+
+			}
+		}
+	}
+}
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/src/cpdataformbuttonentryviewitem.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* 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:  
+*
+*/
+#ifndef CPDATAFORMBUTTONENTRYVIEWITEM_H
+#define CPDATAFORMBUTTONENTRYVIEWITEM_H
+
+#include <hbdataformviewitem.h>
+
+class CpDataFormButtonEntryViewItemPrivate;
+
+class CpDataFormButtonEntryViewItem : public HbDataFormViewItem
+{
+    Q_OBJECT
+public:
+    explicit CpDataFormButtonEntryViewItem(QGraphicsItem *parent = 0);
+    virtual ~CpDataFormButtonEntryViewItem();
+    
+    virtual HbAbstractViewItem *createItem();
+	virtual bool canSetModelIndex(const QModelIndex &index) const;
+public slots:
+    virtual void load();
+protected:
+	CpDataFormButtonEntryViewItem(const CpDataFormButtonEntryViewItem &ohter);
+	CpDataFormButtonEntryViewItem &operator = (const CpDataFormButtonEntryViewItem &ohter);
+    virtual HbWidget *createCustomWidget();
+private:
+	CpDataFormButtonEntryViewItemPrivate *d_ptr;
+};
+
+#endif // CPDATAFORMBUTTONENTRYVIEWITEM_H
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/src/cpdataformlistentryviewitem.cpp	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,67 @@
+/*
+* 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:  
+*
+*/
+
+#include "cpdataformlistentryviewitem.h"
+#include <hbdataformmodel.h>
+#include <hbdataformmodelitem.h>
+#include <hbabstractitemview.h>
+#include <cpsettingformentryitemdata.h>
+
+CpDataFormListEntryViewItem::CpDataFormListEntryViewItem(QGraphicsItem *parent) : 
+    HbDataFormViewItem(parent)
+{
+}
+
+CpDataFormListEntryViewItem::~CpDataFormListEntryViewItem()
+{
+}
+
+HbAbstractViewItem* CpDataFormListEntryViewItem::createItem()
+{
+    return new CpDataFormListEntryViewItem(*this);
+}
+
+bool CpDataFormListEntryViewItem::canSetModelIndex(const QModelIndex &index) const
+{
+    HbDataFormModelItem::DataItemType itemType = 
+        static_cast<HbDataFormModelItem::DataItemType>( 
+                index.data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+    return ( itemType == CpSettingFormEntryItemData::ListEntryItem );
+}
+
+HbWidget* CpDataFormListEntryViewItem::createCustomWidget()
+{
+    HbDataFormModelItem::DataItemType itemType =
+            static_cast<HbDataFormModelItem::DataItemType> (modelIndex().data(
+                    HbDataFormModelItem::ItemTypeRole).toInt());
+    switch (itemType)
+    {
+        case CpSettingFormEntryItemData::ListEntryItem:
+        {
+            break;
+        }
+        default:
+        {
+            break;
+        }
+    }
+    
+    return 0;
+}
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/src/cpdataformlistentryviewitem.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* 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:  
+*
+*/
+
+
+#ifndef CPDATAFORMLISTENTRYVIEWITEM_H
+#define CPDATAFORMLISTENTRYVIEWITEM_H
+
+#include <hbdataformviewitem.h>
+
+class CpDataFormListEntryViewItem : public HbDataFormViewItem
+{
+    Q_OBJECT
+public:
+    explicit CpDataFormListEntryViewItem(QGraphicsItem *parent = 0);
+    virtual ~CpDataFormListEntryViewItem();
+    virtual HbAbstractViewItem* createItem();
+    virtual bool canSetModelIndex(const QModelIndex &index) const;
+protected:
+    virtual HbWidget* createCustomWidget();
+};
+
+#endif //CPDATAFORMLISTENTRYVIEWITEM_H
+
+//End of File
--- a/controlpanel/src/cpframework/src/cpdataformviewitem.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* 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:  
-*
-*/
-#include "cpdataformviewitem.h"
-#include <hbdataformmodelitem.h>
-#include <hbpushbutton.h>
-#include <hbdataformmodel.h>
-#include <hbabstractitemview.h>
-#include <QMetaProperty>
-/*!
-    \class CpDataFormViewItem
-    \brief The CpDataFormViewItem is a item proto type of HbDataForm which is supplied by control panel.
-	When you want use setting items which are come from control panel, you should append this class to the proto type list of your data form's instance.
-	Code example:
-	\code
-	HbDataForm *form = new HbDataForm();
-	QList<HbAbstractViewItem *> protoType = form->itemProtoTypetypes();
-	protoType.append(CpDataFormViewItem::createCpItemProtoType());
-	form->setItemPrototypes();
-	\endcode
-*/
-class CpDataFormViewItemPrivate 
-{
-public:
-	CpDataFormViewItemPrivate() : mWidget(0)
-	{
-	}
-	~CpDataFormViewItemPrivate()
-	{
-	}
-private:
-	HbWidget *mWidget;
-	friend class CpDataFormViewItem;
-};
-
-/*!
-    Constructor
- */
-CpDataFormViewItem::CpDataFormViewItem(QGraphicsItem *parent)
-: HbDataFormViewItem(parent),d_ptr(new CpDataFormViewItemPrivate())
-{
-}
-
-/*!
-	Destructor of CpDataFormViewItem
- */
-CpDataFormViewItem::~CpDataFormViewItem()
-{
-	delete d_ptr;
-}
-
-/*!
-	Creates CpDataFormViewItem. This function is called form HbAbstractItemContainer when model is getting parsed for creating items.
- */
-HbAbstractViewItem *CpDataFormViewItem::createItem()
-{
-	return new CpDataFormViewItem(*this);
-}
-
-/*!
-	Copy constructor of CpDataFormViewItem
- */
-CpDataFormViewItem::CpDataFormViewItem(const CpDataFormViewItem &other)
-: HbDataFormViewItem(other), d_ptr(new CpDataFormViewItemPrivate(*other.d_ptr))
-{
-	
-}
-
-/*!
-	Assignment operator
- */
-CpDataFormViewItem &CpDataFormViewItem::operator=(const CpDataFormViewItem &other)
-{
-	if (&other == this) {
-		return *this;
-	}
-
-	*d_ptr = *(other.d_ptr);
-	return *this;
-}
-/*!
-	Inherit from HbAbstractViewItem, return true if the model item can be supported by CpDataFormViewItem.
- */
-bool CpDataFormViewItem::canSetModelIndex(const QModelIndex &index) const
-{
-	int itemTypeId = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
-	return (itemTypeId == HbDataFormModelItem::CustomItemBase+1);
-}
-/*!
-	Inherit from HbDataFormViewItem, return the setting item's widget of control panel
- */
-HbWidget *CpDataFormViewItem::createCustomWidget()
-{
-    HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
-        modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
-	if (itemType == HbDataFormModelItem::CustomItemBase+1) {
-		HbPushButton *button = new HbPushButton(QString("Push button"));
-		d_ptr->mWidget = button;
-		//button->setMinimumHeight(50);
-		//button->setMaximumHeight(60);
-		//button->setOrientation(Qt::Horizontal);
-		button->setTextAlignment( Qt::AlignLeft );
-		return button;
-	}
-    
-    return 0;
-}
-/*!
-	Inherit from HbDataForm. This function is called by hbdataform's framework, 
-	for supporting to load entry item's text, icon and additional text dynamically.
-	It is not recommended to call this function manually.
- */
-void CpDataFormViewItem::load()
-{
-	HbDataFormViewItem::load();
-
-	if (d_ptr->mWidget) {
-		HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
-			modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-
-		if(itemType == HbDataFormModelItem::CustomItemBase+1) {
-
-			QModelIndex itemIndex = modelIndex();
-			HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
-			HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
-				model->itemFromIndex(itemIndex));
-
-			const QMetaObject *metaObj = d_ptr->mWidget->metaObject();
-			int count = metaObj->propertyCount();
-			for (int i = 0; i < count; i++) {
-				QMetaProperty metaProperty = metaObj->property(i);
-				if (metaProperty.isValid() && metaProperty.isWritable()) {
-					metaProperty.write(d_ptr->mWidget,modelItem->contentWidgetData(metaProperty.name()));
-				}
-
-			}
-		}
-	}
-}
-
--- a/controlpanel/src/cpframework/src/cpdataformviewitem.h	Fri Apr 16 15:15:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* 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:  
-*
-*/
-#ifndef CP_DATAFORMVIEWITEM_H
-#define CP_DATAFORMVIEWITEM_H
-
-#include <hbdataformviewitem.h>
-#include <cpglobal.h>
-class CpDataFormViewItemPrivate;
-class CP_EXPORT CpDataFormViewItem : public HbDataFormViewItem
-{
-    Q_OBJECT
-public:
-    explicit CpDataFormViewItem(QGraphicsItem *parent = 0);
-    ~CpDataFormViewItem();
-    virtual HbAbstractViewItem *createItem();
-	virtual bool canSetModelIndex(const QModelIndex &index) const;
-public slots:
-    virtual void load();
-protected:
-	CpDataFormViewItem(const CpDataFormViewItem &ohter);
-	CpDataFormViewItem &operator=(const CpDataFormViewItem &ohter);
-    virtual HbWidget *createCustomWidget();
-private:
-	CpDataFormViewItemPrivate *d_ptr;
-	friend class CpDataFormViewItemPrivate;
-};
-
-
-#endif // CP_DATAFORMVIEWITEM_H
--- a/controlpanel/src/cpframework/src/cpitemdatahelper.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cpitemdatahelper.cpp	Mon May 03 12:46:45 2010 +0300
@@ -19,7 +19,7 @@
 #include <hbdataform.h>
 #include <hbdataformmodelitem.h>
 #include <hbdataformviewitem.h>
-
+#include <hbdataformmodel.h>
 
 class CpItemDataHelperPrivate
 {
@@ -174,7 +174,21 @@
     {
         if (mDataForm) {
             HbDataFormViewItem *viewItem = mDataForm->dataFormViewItem(index);
-            return viewItem->dataItemContentWidget();
+            if (viewItem) {
+                return viewItem->dataItemContentWidget();
+            }
+        }
+        return 0;
+    }
+    
+    HbDataFormModelItem *modelItemFromModelIndex(const QModelIndex &index)
+    {
+        if (mDataForm) {
+            HbDataFormModel *dataFormModel = 
+                    qobject_cast<HbDataFormModel*>(mDataForm->model());
+            if (dataFormModel) {
+                return dataFormModel->itemFromIndex(index);
+            }
         }
         return 0;
     }
@@ -278,3 +292,10 @@
 {
     return d->widgetFromModelIndex(index);
 }
+
+HbDataFormModelItem *CpItemDataHelper::modelItemFromModelIndex(const QModelIndex &index)
+{
+    return d->modelItemFromModelIndex(index);
+}
+
+//End of File
--- a/controlpanel/src/cpframework/src/cppluginlauncher.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cppluginlauncher.cpp	Mon May 03 12:46:45 2010 +0300
@@ -17,69 +17,18 @@
 
 #include <cppluginlauncher.h>
 #include <cpplugininterface.h>
+#include <cplauncherinterface.h>
 #include <cppluginplatinterface.h>
-#include <cpsettingformentryitemdata.h>
 #include <QSharedPointer>
 #include <cppluginloader.h>
-#include "cpitemdatahelper.h"
-
+#include <cpbasesettingview.h>
+#include <cpitemdatahelper.h>
+#include "cpviewlauncher.h"
 /*!
     \class CpPluginLauncher
     \brief The CpPluginLauncher class loads a controlpanel plugin at run-time.And display the specify plugin view in client process.
  */
 
-static CpSettingFormEntryItemData *createEntrySettingItem(const QString &pluginFile,int index = 0) 
-{
-	{
-		CpPluginInterface *plugin = CpPluginLoader().loadCpPlugin(pluginFile);
-		if (plugin) {
-			CpItemDataHelper dummy(0);
-			QList<CpSettingFormItemData*> allItemData = plugin->createSettingFormItemData(dummy);
-
-            CpSettingFormItemData *found = 0;
-
-            int size = allItemData.size();
-            for (int i = 0; i < size; ++i) {
-                if (i == index) {
-                    found = allItemData.value(i);
-                }
-                else {
-                    delete allItemData.value(i);
-                }
-            }
-            
-            if (found) {
-                CpSettingFormEntryItemData *entryItemData = qobject_cast<CpSettingFormEntryItemData*>(found);
-                if (entryItemData) {
-                    return entryItemData;
-                }
-                else {
-                    delete found;
-                }
-            }
-		}
-	}
-
-
-	//CpPluginPlatInterface : deprecated!
-	{
-        CpPluginPlatInterface *plugin = CpPluginLoader().loadPlatCpPlugin(pluginFile);
-        if (plugin) {
-            CpItemDataHelper dummy(0);
-            CpSettingFormItemData *itemData = plugin->createSettingFormItemData(dummy);
-            CpSettingFormEntryItemData *entryItemData = qobject_cast<CpSettingFormEntryItemData*>(itemData);
-            if (entryItemData) {
-                return entryItemData;
-            }
-            else {
-                delete itemData;
-            }
-		}
-	}
-    
-    return 0;
-}
-
 /*!
     Load and display a plugin view in client process. The client must be a orbit based application.
     The pluginFile can either absoulte file path or only file name. 
@@ -92,11 +41,29 @@
 */
 bool CpPluginLauncher::launchCpPluginView(const QString &pluginFile,int index /*= 0*/)
 {
-    QSharedPointer<CpSettingFormEntryItemData> entryItemData(createEntrySettingItem(pluginFile,index));
-    if (!entryItemData.isNull()) {
-        entryItemData->onLaunchView();
-        return true;            
-    }
     return false;
 }
 
+/*!
+    Load and display a plugin view in client process. The client must be a orbit based application.
+    The pluginFile can either absoulte file path or only file name. 
+    Acceptable format:
+        sampleplugin
+        sampleplugin.qtplugin
+        sampleplugin.dll
+        C:/resource/qt/plugins/controlpanel/sampleplugin.qtplugin
+        C:/resource/qt/plugins/controlpanel/sampleplugin.dll
+*/
+bool CpPluginLauncher::launchSettingView(const QString &pluginFile,const QVariant &hint /*= QVariant()*/)
+{
+    CpLauncherInterface *plugin = CpPluginLoader::loadCpLauncherInterface(pluginFile);
+    if (plugin) {
+        CpBaseSettingView *view = plugin->createSettingView(hint);
+        if (view) {
+            CpViewLauncher::launchView(view);
+            return true;
+        }
+    }
+    
+    return false;
+}
--- a/controlpanel/src/cpframework/src/cppluginloader.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cppluginloader.cpp	Mon May 03 12:46:45 2010 +0300
@@ -21,7 +21,8 @@
 #include <QPluginLoader>
 #include <cpplugininterface.h>
 #include <cppluginplatinterface.h>
-#include "cpbasepath.h"
+#include <cplauncherinterface.h>
+#include <cpbasepath.h>
 #include "cputility.h"
 #include <cplogger.h>
 
@@ -37,8 +38,8 @@
     #define PLUGINFILE_SUFFIX "qtplugin"
 #endif
 
-template <typename PLUGIN>
-static PLUGIN* loadPlugin(const QString &pluginFile)
+template <typename INTERFACE>
+static INTERFACE* loadPluginInterface(const QString &pluginFile)
 {
     CPPERF_LOG( QLatin1String("Loading plugin: ") + pluginFile );
     
@@ -61,7 +62,7 @@
     }
 
 	QPluginLoader loader(fileInfo.absoluteFilePath());
-	PLUGIN *plugin = qobject_cast<PLUGIN*> (loader.instance());
+	INTERFACE *plugin = qobject_cast<INTERFACE*> (loader.instance());
 	if (!plugin) {
 		loader.unload();
 	}
@@ -84,18 +85,28 @@
 
 CpPluginInterface *CpPluginLoader::loadCpPlugin(const QString &pluginFile)
 {
-	return loadPlugin<CpPluginInterface>(pluginFile);
+	return ::loadPluginInterface<CpPluginInterface>(pluginFile);
 }
 
 
 /*!
     \deprecated  CpPluginPlatInterface *CpPluginLoader::loadPlatCpPlugin(const QString &) is deprecated.
-    please use CpPluginInterface to implement controlpanel plugin and use CpPluginLoader::loadCpPlugin(const QString &) to load the plugin.
+    please use CpPluginInterface to implement controlpanel plugin and use CpPluginLoader::loadCpPluginInterface(const QString &) to load the plugin.
  */
 
 CpPluginPlatInterface *CpPluginLoader::loadPlatCpPlugin(const QString &pluginFile)
 {    
-	return loadPlugin<CpPluginPlatInterface>(pluginFile);
+	return ::loadPluginInterface<CpPluginPlatInterface>(pluginFile);
+}
+
+CpPluginInterface *CpPluginLoader::loadCpPluginInterface(const QString &pluginFile)
+{
+    return ::loadPluginInterface<CpPluginInterface>(pluginFile);
+}
+
+CpLauncherInterface *CpPluginLoader::loadCpLauncherInterface(const QString &pluginFile)
+{
+    return ::loadPluginInterface<CpLauncherInterface>(pluginFile);    
 }
 
 
--- a/controlpanel/src/cpframework/src/cppluginutility.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cppluginutility.cpp	Mon May 03 12:46:45 2010 +0300
@@ -16,7 +16,8 @@
 */
 
 #include "cppluginutility.h"
-#include "cpdataformviewitem.h"
+#include "cpdataformbuttonentryviewitem.h"
+#include "cpdataformlistentryviewitem.h"
 
 #include <hbdataform.h>
 /*! \class CpPluginUtility
@@ -29,7 +30,8 @@
 {
     if (settingForm) { 
         QList<HbAbstractViewItem *>prototypeList = settingForm->itemPrototypes();
-        prototypeList.append(new CpDataFormViewItem());
+        prototypeList.append(new CpDataFormButtonEntryViewItem());
+        prototypeList.append(new CpDataFormListEntryViewItem());
         settingForm->setItemPrototypes(prototypeList);
     }
 }
--- a/controlpanel/src/cpframework/src/cpsettingformentryitemdata.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cpsettingformentryitemdata.cpp	Mon May 03 12:46:45 2010 +0300
@@ -15,12 +15,9 @@
 *
 */
 #include "cpsettingformentryitemdata.h"
+#include "cpsettingformentryitemdata_p.h"
 #include "cpviewlauncher.h"
 #include <cpbasesettingview.h>
-#include <hbpushbutton.h>
-#include <hbdataformviewitem.h>
-#include <hbdataform.h>
-#include <cpitemdatahelper.h>
 
 
 /*!
@@ -44,8 +41,9 @@
     Construct a new CpSettingFormEntryItemData with the given parent.
 */
 CpSettingFormEntryItemData::CpSettingFormEntryItemData(const HbDataFormModelItem *parent /* = 0*/)
-: CpSettingFormItemData(parent)
+: CpSettingFormItemData(parent),  d_ptr(new CpSettingFormEntryItemDataPrivate())
 {
+    d_ptr->init(this);
 }
 
 
@@ -58,13 +56,16 @@
         const QString &description /* = QString()*/,
 		const HbIcon &icon,
         const HbDataFormModelItem *parent /*= 0*/) : 
-        CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent)
+        CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+        d_ptr(new CpSettingFormEntryItemDataPrivate(&itemDataHelper))
 {
-	itemDataHelper.addConnection(this,SIGNAL(pressed()),this,SLOT(onLaunchView()));
-	setType ( static_cast<HbDataFormModelItem::DataItemType> (CpSettingFormEntryItemData::EntryItem) );
-    setContentWidgetData(QString("text"),QVariant(text));
-	setContentWidgetData(QString("additionalText"),QVariant(description));
-	setContentWidgetData(QString("icon"),QVariant(icon));
+    setType ( static_cast<HbDataFormModelItem::DataItemType> (CpSettingFormEntryItemData::ListEntryItem) );
+	
+    d_ptr->init(this);
+    
+	setText(text);
+	setDescription(description);
+	setIcon(icon.iconName());
 }
 
 /*!
@@ -72,19 +73,59 @@
 */
 
 CpSettingFormEntryItemData::CpSettingFormEntryItemData(HbDataForm *dataForm,
-			const QString &text /*= QString()*/,
-	        const QString &description /*= QString()*/,
-			const HbIcon &icon /*= HbIcon()*/,
-			const HbDataFormModelItem *parent/* = 0*/) :
-			CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent)
+        const QString &text /*= QString()*/,
+        const QString &description /*= QString()*/,
+        const HbIcon &icon /*= HbIcon()*/,
+        const HbDataFormModelItem *parent/* = 0*/) :
+        CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+        d_ptr(new CpSettingFormEntryItemDataPrivate(dataForm))
+{
+	setType ( static_cast<HbDataFormModelItem::DataItemType> (CpSettingFormEntryItemData::ListEntryItem) );
+	
+	d_ptr->init(this);
+	
+    setText(text);
+    setDescription(description);
+    setIcon(icon.iconName());
+}
+
+
+CpSettingFormEntryItemData::CpSettingFormEntryItemData(
+         EntryItemType type,
+         CpItemDataHelper &itemDataHelper,
+         const QString &text /*= QString()*/,
+         const QString &description /*= QString()*/,
+         const QString &iconName /*= QString()*/,
+         const HbDataFormModelItem *parent /*= 0*/) :
+         CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+         d_ptr(new CpSettingFormEntryItemDataPrivate(&itemDataHelper))
 {
-	if (dataForm) {
-		dataForm->addConnection(this,SIGNAL(pressed()),this,SLOT(onLaunchView()));
-	}
-	setType ( static_cast<HbDataFormModelItem::DataItemType> (CpSettingFormEntryItemData::EntryItem) );
-    setContentWidgetData(QString("text"),QVariant(text));
-	setContentWidgetData(QString("additionalText"),QVariant(description));
-	setContentWidgetData(QString("icon"),QVariant(icon));
+    setType ( static_cast<HbDataFormModelItem::DataItemType> (type) );
+    
+    d_ptr->init(this);
+    
+    setText(text);
+    setDescription(description);
+    setIcon(iconName);
+}
+
+CpSettingFormEntryItemData::CpSettingFormEntryItemData(
+         EntryItemType type,
+         HbDataForm *dataForm,
+         const QString &text /*= QString()*/,
+         const QString &description /*= QString()*/,
+         const QString &iconName /*= QString()*/,
+         const HbDataFormModelItem *parent /*= 0*/) : 
+         CpSettingFormItemData(HbDataFormModelItem::CustomItemBase,QString(),parent),
+         d_ptr(new CpSettingFormEntryItemDataPrivate(dataForm))
+{
+    setType ( static_cast<HbDataFormModelItem::DataItemType> (type) );
+    
+    d_ptr->init(this);
+    
+    setText(text);
+    setDescription(description);
+    setIcon(iconName);
 }
 
 
@@ -93,6 +134,7 @@
 */
 CpSettingFormEntryItemData::~CpSettingFormEntryItemData()
 {
+    delete d_ptr;
 }
 
 
@@ -101,7 +143,7 @@
 */
 QString CpSettingFormEntryItemData::text() const
 {
-    return contentWidgetData(QString("text")).toString();
+    return d_ptr->text();
 }
 
 /*!
@@ -109,7 +151,7 @@
 */
 void CpSettingFormEntryItemData::setText(const QString &text)
 {
-    setContentWidgetData(QString("text"),QVariant(text));
+    d_ptr->setText(text);
 }
 
 /*!
@@ -117,7 +159,7 @@
 */
 QString CpSettingFormEntryItemData::description() const
 {
-    return contentWidgetData(QString("additionalText")).toString();
+    return d_ptr->description();
 }
 
 /*!
@@ -125,7 +167,18 @@
 */
 void CpSettingFormEntryItemData::setDescription(const QString &description)
 {
-    setContentWidgetData(QString("additionalText"),QVariant(description));
+    d_ptr->setDescription(description);
+}
+
+
+QString CpSettingFormEntryItemData::iconName() const
+{
+    return d_ptr->iconName();
+}
+
+void CpSettingFormEntryItemData::setIconName(const QString &icon)
+{
+    d_ptr->setIconName(icon);
 }
 
 /*!
@@ -133,7 +186,7 @@
 */
 HbIcon CpSettingFormEntryItemData::entryItemIcon()const
 {
-	return qvariant_cast<HbIcon>(contentWidgetData(QString("icon")));
+    return d_ptr->entryItemIcon();
 }
 
 /*!
@@ -141,12 +194,18 @@
 */
 void CpSettingFormEntryItemData::setEntryItemIcon(const HbIcon& icon)
 {
-	setContentWidgetData(QString("icon"),icon);
+    d_ptr->setEntryItemIcon(icon);
 }
 
 void CpSettingFormEntryItemData::onLaunchView() 
 {
-	if (CpBaseSettingView *view = createSettingView()) {
-		CpViewLauncher::launchView(view);
-	}
+    //avoid being launched more than one times
+    if (d_ptr->mSettingViewPtr.isNull()) {
+        d_ptr->mSettingViewPtr = createSettingView();
+        if (!d_ptr->mSettingViewPtr.isNull()) {
+            CpViewLauncher::launchView(d_ptr->mSettingViewPtr.data());
+        }
+    }
 }
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/src/cpsettingformentryitemdata_p.cpp	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,234 @@
+/*
+* 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:  
+*
+*/
+#include "cpsettingformentryitemdata_p.h"
+#include <QVariant>
+#include <hbdataformviewitem.h>
+#include <hbdataform.h>
+#include <hbdataformmodel.h>
+#include <hbdataformmodelitem.h>
+#include <cpitemdatahelper.h>
+#include <cpsettingformentryitemdata.h>
+
+CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate()
+: mDataForm(0),
+  mItemDataHelper(0),
+  mItemPressed(false), 
+  mDataFormScrolling(false)
+{
+    
+}
+
+CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate(CpItemDataHelper *itemDataHelper) 
+: mDataForm(0),
+  mItemDataHelper(itemDataHelper),
+  mItemPressed(false), 
+  mDataFormScrolling(false)
+{
+    
+}
+
+CpSettingFormEntryItemDataPrivate::CpSettingFormEntryItemDataPrivate(HbDataForm *dataForm)
+: mDataForm(dataForm),
+  mItemDataHelper(0),
+  mItemPressed(false),
+  mDataFormScrolling(false)
+{
+    
+}
+
+void CpSettingFormEntryItemDataPrivate::init(CpSettingFormEntryItemData *parent)
+{
+    mParent = parent;
+    
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        {
+            if (mItemDataHelper) {
+                mItemDataHelper->connectToForm(SIGNAL(pressed (QModelIndex)),mParent,SLOT(_q_itemPressed(QModelIndex)));
+                mItemDataHelper->connectToForm(SIGNAL(released (QModelIndex)),mParent,SLOT(_q_itemReleased(QModelIndex)));
+                mItemDataHelper->connectToForm(SIGNAL(scrollingStarted ()),mParent,SLOT(_q_scrollingStarted()));
+            }
+            else if (mDataForm) {
+                QObject::connect( mDataForm,SIGNAL(pressed(QModelIndex)),mParent,SLOT(_q_itemPressed(QModelIndex)) );
+                QObject::connect( mDataForm,SIGNAL(released(QModelIndex)),mParent,SLOT(_q_itemReleased(QModelIndex)) );
+                QObject::connect( mDataForm,SIGNAL(scrollingStarted()),mParent,SLOT(_q_scrollingStarted()) );
+            }
+        }
+        break;
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        {
+            if (mItemDataHelper) {
+                mItemDataHelper->addConnection(mParent,SIGNAL(clicked()),mParent,SLOT(onLaunchView()));
+            }
+            else if (mDataForm) {
+                mDataForm->addConnection(mParent,SIGNAL(clicked()),mParent,SLOT(onLaunchView()));
+            }  
+        }
+        break;
+    }
+}
+
+QString CpSettingFormEntryItemDataPrivate::text() const
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        return mParent->label();
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        return mParent->contentWidgetData(QString("text")).toString();
+    }
+    return QString();
+}
+
+void CpSettingFormEntryItemDataPrivate::setText(const QString &text)
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        mParent->setLabel(text);
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        mParent->setContentWidgetData(QString("text"),QVariant(text));
+    }
+}
+
+QString CpSettingFormEntryItemDataPrivate::description() const
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        return mParent->data(HbDataFormModelItem::DescriptionRole).toString();
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        return mParent->contentWidgetData(QString("additionalText")).toString();
+    }
+    return QString();
+}
+
+void CpSettingFormEntryItemDataPrivate::setDescription(const QString &description)
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        mParent->setData(HbDataFormModelItem::DescriptionRole , description);
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        mParent->setContentWidgetData(QString("additionalText"),QVariant(description));
+    }
+}
+
+QString CpSettingFormEntryItemDataPrivate::iconName() const
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        return mParent->icon();
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        return qvariant_cast<HbIcon>(mParent->contentWidgetData(QString("icon"))).iconName();
+    }
+    return QString();
+}
+
+void CpSettingFormEntryItemDataPrivate::setIconName(const QString &icon)
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        mParent->setIcon(icon);
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        mParent->setContentWidgetData(QString("icon"),HbIcon(icon));
+    }
+}
+
+HbIcon CpSettingFormEntryItemDataPrivate::entryItemIcon() const
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        return HbIcon(mParent->icon());
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        return qvariant_cast<HbIcon>(mParent->contentWidgetData(QString("icon")));
+    }
+    return HbIcon();
+}
+
+void CpSettingFormEntryItemDataPrivate::setEntryItemIcon(const HbIcon &icon)
+{
+    HbDataFormModelItem::DataItemType itemType = mParent->type();
+    switch (itemType)
+    {
+    default: break;
+    case CpSettingFormEntryItemData::ListEntryItem:
+        mParent->setIcon(icon.iconName());
+    case CpSettingFormEntryItemData::ButtonEntryItem:
+        mParent->setContentWidgetData(QString("icon"),icon);
+        break;
+    }
+}
+
+
+void CpSettingFormEntryItemDataPrivate::_q_itemPressed(const QModelIndex &index)
+{
+    mItemPressed = ( modelItemFromModelIndex(index) == mParent );
+}
+
+void CpSettingFormEntryItemDataPrivate::_q_itemReleased(const QModelIndex &index)
+{    
+    if (!mDataFormScrolling && mItemPressed && modelItemFromModelIndex(index) == mParent) {
+        mParent->onLaunchView();
+    }
+    mDataFormScrolling = false;
+}
+
+void CpSettingFormEntryItemDataPrivate::_q_scrollingStarted()
+{
+    mDataFormScrolling = true;
+}
+
+HbDataFormModelItem *CpSettingFormEntryItemDataPrivate::modelItemFromModelIndex(const QModelIndex &index)
+{
+    if (mItemDataHelper) {
+        return mItemDataHelper->modelItemFromModelIndex(index);
+    }
+    else if (mDataForm){
+        HbDataFormModel *dataFormModel = 
+                qobject_cast<HbDataFormModel*>(mDataForm->model());
+        if (dataFormModel) {
+            return dataFormModel->itemFromIndex(index);
+        }
+    }
+    
+    return 0;
+}
+
+#include "moc_cpsettingformentryitemdata.cpp"
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/src/cpsettingformentryitemdata_p.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* 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:  
+*
+*/
+
+#ifndef CPSETTINGFORMENTRYITEMDATA_P_H
+#define CPSETTINGFORMENTRYITEMDATA_P_H
+
+#include <QString>
+#include <QPointer>
+#include <hbicon.h>
+#include <hbview.h>
+
+class CpSettingFormEntryItemData;
+class CpItemDataHelper;
+class HbDataForm;
+class HbDataFormModelItem;
+class QModelIndex;
+
+class CpSettingFormEntryItemDataPrivate
+{
+public:
+    CpSettingFormEntryItemDataPrivate();
+    explicit CpSettingFormEntryItemDataPrivate(CpItemDataHelper *itemDataHelper);
+    explicit CpSettingFormEntryItemDataPrivate(HbDataForm *dataForm);
+    
+    void init(CpSettingFormEntryItemData *parent);
+    
+    QString text() const;
+    void setText(const QString &text);
+    
+    QString description() const;
+    void setDescription(const QString &description);
+
+    QString iconName() const;
+    void setIconName(const QString &icon);
+    
+    HbIcon entryItemIcon() const;
+    void setEntryItemIcon(const HbIcon &icon);
+    
+    //SLOTS
+    void _q_itemPressed(const QModelIndex &index);
+    void _q_itemReleased(const QModelIndex &index);
+    void _q_scrollingStarted();
+    
+    HbDataFormModelItem *modelItemFromModelIndex(const QModelIndex &index);
+    
+    CpSettingFormEntryItemData *mParent;
+    HbDataForm *mDataForm;
+    CpItemDataHelper *mItemDataHelper;
+    QPointer<HbView> mSettingViewPtr;
+    bool mItemPressed;
+    bool mDataFormScrolling;
+};
+
+
+#endif //CPSETTINGFORMENTRYITEMDATA_P_H
+
+//End of File
--- a/controlpanel/src/cpframework/src/cputility.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cputility.cpp	Mon May 03 12:46:45 2010 +0300
@@ -18,13 +18,11 @@
 #include <QString>
 #include <QDir>
 #include <QFileInfo>
-#include "cpbasepath.h"
+#include <cpbasepath.h>
 #include <cppluginloader.h>
 #include <cpplugininterface.h>
 #include <cppluginplatinterface.h>
 #include <cplogger.h>
-#include <cpsettingformentryitemdata.h>
-
 
 
 QStringList CpUtility::drives()
--- a/controlpanel/src/cpframework/src/cpviewlauncher.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/cpframework/src/cpviewlauncher.cpp	Mon May 03 12:46:45 2010 +0300
@@ -19,6 +19,7 @@
 #include <hbinstance.h>
 #include <hbview.h>
 #include <hbmainwindow.h>
+#include <QCoreApplication>
 
 static HbMainWindow *mainWindow() 
 {
@@ -57,9 +58,15 @@
     {
         mView = view;
       
-        QObject::connect(mView, SIGNAL(aboutToClose()), this, SLOT(viewDone()));
-    
         mPreView = mainWnd->currentView();
+        
+        if (mPreView) {
+            QObject::connect(mView, SIGNAL(aboutToClose()), this, SLOT(viewDone()));
+        }
+        else {
+            QObject::connect(mView, SIGNAL(aboutToClose()), qApp, SLOT(quit()));
+        }
+  
        
         // activates the plugin view
         mainWnd->addView(mView);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/widgetml/cpdataformlistentryviewitem.css	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,31 @@
+CpDataFormListEntryViewItem {
+    layout:default;
+}
+
+CpDataFormListEntryViewItem::dataItem_Icon
+{
+    fixed-height:60;
+    fixed-width:60;   
+}
+
+CpDataFormListEntryViewItem::dataItem_Label
+{
+    size-policy-horizontal: preferred;  
+    text-height: 3.0un;  
+    top: -1.0un;
+    left: -2.0un;
+}
+
+
+CpDataFormListEntryViewItem::dataItem_Description
+{
+    text-height: 3.0un;  
+    bottom:1.0un; 
+    left: -2.0un;
+}
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanel/src/cpframework/widgetml/cpdataformlistentryviewitem.widgetml	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,26 @@
+<hbwidget version="0.1" type="CpDataFormListEntryViewItem">
+
+  <layout name="default" type="mesh">
+
+    <meshitem src="dataItem_Icon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="dataItem_Icon" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="dataItem_Icon" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+
+    <meshitem src="dataItem_Label" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="dataItem_Label" srcEdge="LEFT" dst="dataItem_Icon" dstEdge="RIGHT" />
+    <meshitem src="dataItem_Label" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+
+    <meshitem src="dataItem_Description" srcEdge="LEFT" dst="dataItem_Icon" dstEdge="RIGHT" />
+    <meshitem src="dataItem_Description" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    <meshitem src="dataItem_Description" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+
+    <meshitem src="dataItem_Background" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="dataItem_Background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+    <meshitem src="dataItem_Background" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="dataItem_Background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+
+  </layout> 
+
+</hbwidget>
\ No newline at end of file
--- a/controlpanel/src/eabi/cpframeworku.def	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/src/eabi/cpframeworku.def	Mon May 03 12:46:45 2010 +0300
@@ -1,153 +1,138 @@
 EXPORTS
 	_ZN14CpPluginLoader12loadCpPluginERK7QString @ 1 NONAME
 	_ZN14CpPluginLoader16loadPlatCpPluginERK7QString @ 2 NONAME
-	_ZN15CpPluginUtility18addCpItemPrototypeEP10HbDataForm @ 3 NONAME
-	_ZN16CpItemDataHelper10bindToFormEP10HbDataForm @ 4 NONAME
-	_ZN16CpItemDataHelper11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
-	_ZN16CpItemDataHelper11qt_metacastEPKc @ 6 NONAME
-	_ZN16CpItemDataHelper13addConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 7 NONAME
-	_ZN16CpItemDataHelper13connectToFormEPKcP7QObjectS1_ @ 8 NONAME
-	_ZN16CpItemDataHelper16addItemPrototypeEP18HbAbstractViewItem @ 9 NONAME
-	_ZN16CpItemDataHelper16removeConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 10 NONAME
-	_ZN16CpItemDataHelper16staticMetaObjectE @ 11 NONAME DATA 16
-	_ZN16CpItemDataHelper18disconnectFromFormEPKcP7QObjectS1_ @ 12 NONAME
-	_ZN16CpItemDataHelper19getStaticMetaObjectEv @ 13 NONAME
-	_ZN16CpItemDataHelper20widgetFromModelIndexERK11QModelIndex @ 14 NONAME
-	_ZN16CpItemDataHelperC1EP10HbDataForm @ 15 NONAME
-	_ZN16CpItemDataHelperC2EP10HbDataForm @ 16 NONAME
-	_ZN16CpItemDataHelperD0Ev @ 17 NONAME
-	_ZN16CpItemDataHelperD1Ev @ 18 NONAME
-	_ZN16CpItemDataHelperD2Ev @ 19 NONAME
-	_ZN16CpPluginLauncher18launchCpPluginViewERK7QStringi @ 20 NONAME
-	_ZN16LogOutputFactory15createLogOutputERK7QString @ 21 NONAME
-	_ZN16LogOutputFactory15createLogOutputERK7QStringRK5QHashIS0_8QVariantE @ 22 NONAME
-	_ZN16LogOutputFactory23addCreateLogOutputEntryERK7QStringPFP9LogOutputvE @ 23 NONAME
-	_ZN17CpBaseSettingView11qt_metacallEN11QMetaObject4CallEiPPv @ 24 NONAME
-	_ZN17CpBaseSettingView11qt_metacastEPKc @ 25 NONAME
-	_ZN17CpBaseSettingView12aboutToCloseEv @ 26 NONAME
-	_ZN17CpBaseSettingView14setSettingFormEP10HbDataForm @ 27 NONAME
-	_ZN17CpBaseSettingView16staticMetaObjectE @ 28 NONAME DATA 16
-	_ZN17CpBaseSettingView19getStaticMetaObjectEv @ 29 NONAME
-	_ZN17CpBaseSettingViewC1EP15QGraphicsWidgetP13QGraphicsItem @ 30 NONAME
-	_ZN17CpBaseSettingViewC2EP15QGraphicsWidgetP13QGraphicsItem @ 31 NONAME
-	_ZN17CpBaseSettingViewD0Ev @ 32 NONAME
-	_ZN17CpBaseSettingViewD1Ev @ 33 NONAME
-	_ZN17CpBaseSettingViewD2Ev @ 34 NONAME
-	_ZN18CpDataFormViewItem10createItemEv @ 35 NONAME
-	_ZN18CpDataFormViewItem11qt_metacallEN11QMetaObject4CallEiPPv @ 36 NONAME
-	_ZN18CpDataFormViewItem11qt_metacastEPKc @ 37 NONAME
-	_ZN18CpDataFormViewItem16staticMetaObjectE @ 38 NONAME DATA 16
-	_ZN18CpDataFormViewItem18createCustomWidgetEv @ 39 NONAME
-	_ZN18CpDataFormViewItem19getStaticMetaObjectEv @ 40 NONAME
-	_ZN18CpDataFormViewItem4loadEv @ 41 NONAME
-	_ZN18CpDataFormViewItemC1EP13QGraphicsItem @ 42 NONAME
-	_ZN18CpDataFormViewItemC1ERKS_ @ 43 NONAME
-	_ZN18CpDataFormViewItemC2EP13QGraphicsItem @ 44 NONAME
-	_ZN18CpDataFormViewItemC2ERKS_ @ 45 NONAME
-	_ZN18CpDataFormViewItemD0Ev @ 46 NONAME
-	_ZN18CpDataFormViewItemD1Ev @ 47 NONAME
-	_ZN18CpDataFormViewItemD2Ev @ 48 NONAME
-	_ZN18CpDataFormViewItemaSERKS_ @ 49 NONAME
-	_ZN21CpSettingFormItemData11qt_metacallEN11QMetaObject4CallEiPPv @ 50 NONAME
-	_ZN21CpSettingFormItemData11qt_metacastEPKc @ 51 NONAME
-	_ZN21CpSettingFormItemData16staticMetaObjectE @ 52 NONAME DATA 16
-	_ZN21CpSettingFormItemData19getStaticMetaObjectEv @ 53 NONAME
-	_ZN21CpSettingFormItemDataC1EN19HbDataFormModelItem12DataItemTypeERK7QStringPKS0_ @ 54 NONAME
-	_ZN21CpSettingFormItemDataC1EPK19HbDataFormModelItem @ 55 NONAME
-	_ZN21CpSettingFormItemDataC2EN19HbDataFormModelItem12DataItemTypeERK7QStringPKS0_ @ 56 NONAME
-	_ZN21CpSettingFormItemDataC2EPK19HbDataFormModelItem @ 57 NONAME
-	_ZN21CpSettingFormItemDataD0Ev @ 58 NONAME
-	_ZN21CpSettingFormItemDataD1Ev @ 59 NONAME
-	_ZN21CpSettingFormItemDataD2Ev @ 60 NONAME
-	_ZN26CpSettingFormEntryItemData11qt_metacallEN11QMetaObject4CallEiPPv @ 61 NONAME
-	_ZN26CpSettingFormEntryItemData11qt_metacastEPKc @ 62 NONAME
-	_ZN26CpSettingFormEntryItemData12onLaunchViewEv @ 63 NONAME
-	_ZN26CpSettingFormEntryItemData14setDescriptionERK7QString @ 64 NONAME
-	_ZN26CpSettingFormEntryItemData16setEntryItemIconERK6HbIcon @ 65 NONAME
-	_ZN26CpSettingFormEntryItemData16staticMetaObjectE @ 66 NONAME DATA 16
-	_ZN26CpSettingFormEntryItemData19getStaticMetaObjectEv @ 67 NONAME
-	_ZN26CpSettingFormEntryItemData7setTextERK7QString @ 68 NONAME
-	_ZN26CpSettingFormEntryItemDataC2EP10HbDataFormRK7QStringS4_RK6HbIconPK19HbDataFormModelItem @ 69 NONAME
-	_ZN26CpSettingFormEntryItemDataC2EPK19HbDataFormModelItem @ 70 NONAME
-	_ZN26CpSettingFormEntryItemDataC2ER16CpItemDataHelperRK7QStringS4_RK6HbIconPK19HbDataFormModelItem @ 71 NONAME
-	_ZN26CpSettingFormEntryItemDataD0Ev @ 72 NONAME
-	_ZN26CpSettingFormEntryItemDataD1Ev @ 73 NONAME
-	_ZN26CpSettingFormEntryItemDataD2Ev @ 74 NONAME
-	_ZN6Logger11qt_metacallEN11QMetaObject4CallEiPPv @ 75 NONAME
-	_ZN6Logger11qt_metacastEPKc @ 76 NONAME
-	_ZN6Logger12addLogOutputEP9LogOutput @ 77 NONAME
-	_ZN6Logger14setLogDateTimeEb @ 78 NONAME
-	_ZN6Logger15removeLogOutputEP9LogOutput @ 79 NONAME
-	_ZN6Logger16setLogLoggerNameEb @ 80 NONAME
-	_ZN6Logger16staticMetaObjectE @ 81 NONAME DATA 16
-	_ZN6Logger17clearAllLogOutputEv @ 82 NONAME
-	_ZN6Logger17setDateTimeFormatERK7QString @ 83 NONAME
-	_ZN6Logger19getStaticMetaObjectEv @ 84 NONAME
-	_ZN6Logger3logERK7QString @ 85 NONAME
-	_ZN6Logger5closeERK7QString @ 86 NONAME
-	_ZN6Logger8closeAllEv @ 87 NONAME
-	_ZN6Logger8instanceERK7QString @ 88 NONAME
-	_ZN6Logger9configureER9QSettings @ 89 NONAME
-	_ZN6Logger9configureERK7QStringN9QSettings6FormatE @ 90 NONAME
-	_ZN6Logger9logOutputERK7QString @ 91 NONAME
-	_ZN6LoggerC1ERK7QStringP7QObject @ 92 NONAME
-	_ZN6LoggerC2ERK7QStringP7QObject @ 93 NONAME
-	_ZN6LoggerD0Ev @ 94 NONAME
-	_ZN6LoggerD1Ev @ 95 NONAME
-	_ZN6LoggerD2Ev @ 96 NONAME
-	_ZN9LogOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 97 NONAME
-	_ZN9LogOutput11qt_metacastEPKc @ 98 NONAME
-	_ZN9LogOutput12parentLoggerEv @ 99 NONAME
-	_ZN9LogOutput15setParentLoggerEP6Logger @ 100 NONAME
-	_ZN9LogOutput16staticMetaObjectE @ 101 NONAME DATA 16
-	_ZN9LogOutput19getStaticMetaObjectEv @ 102 NONAME
-	_ZN9LogOutput4loadER9QSettings @ 103 NONAME
-	_ZN9LogOutput7setNameERK7QString @ 104 NONAME
-	_ZN9LogOutputC2EP6Logger @ 105 NONAME
-	_ZN9LogOutputD0Ev @ 106 NONAME
-	_ZN9LogOutputD1Ev @ 107 NONAME
-	_ZN9LogOutputD2Ev @ 108 NONAME
-	_ZNK16CpItemDataHelper10metaObjectEv @ 109 NONAME
-	_ZNK17CpBaseSettingView10metaObjectEv @ 110 NONAME
-	_ZNK17CpBaseSettingView11settingFormEv @ 111 NONAME
-	_ZNK18CpDataFormViewItem10metaObjectEv @ 112 NONAME
-	_ZNK18CpDataFormViewItem16canSetModelIndexERK11QModelIndex @ 113 NONAME
-	_ZNK21CpSettingFormItemData10metaObjectEv @ 114 NONAME
-	_ZNK26CpSettingFormEntryItemData10metaObjectEv @ 115 NONAME
-	_ZNK26CpSettingFormEntryItemData11descriptionEv @ 116 NONAME
-	_ZNK26CpSettingFormEntryItemData13entryItemIconEv @ 117 NONAME
-	_ZNK26CpSettingFormEntryItemData4textEv @ 118 NONAME
-	_ZNK6Logger10metaObjectEv @ 119 NONAME
-	_ZNK6Logger11logDateTimeEv @ 120 NONAME
-	_ZNK6Logger13logLoggerNameEv @ 121 NONAME
-	_ZNK6Logger14dateTimeFormatEv @ 122 NONAME
-	_ZNK6Logger4nameEv @ 123 NONAME
-	_ZNK9LogOutput10metaObjectEv @ 124 NONAME
-	_ZNK9LogOutput4nameEv @ 125 NONAME
-	_ZTI16CpItemDataHelper @ 126 NONAME
-	_ZTI17CpBaseSettingView @ 127 NONAME
-	_ZTI18CpDataFormViewItem @ 128 NONAME
-	_ZTI21CpSettingFormItemData @ 129 NONAME
-	_ZTI26CpSettingFormEntryItemData @ 130 NONAME
-	_ZTI6Logger @ 131 NONAME
-	_ZTI9LogOutput @ 132 NONAME
-	_ZTV16CpItemDataHelper @ 133 NONAME
-	_ZTV17CpBaseSettingView @ 134 NONAME
-	_ZTV18CpDataFormViewItem @ 135 NONAME
-	_ZTV21CpSettingFormItemData @ 136 NONAME
-	_ZTV26CpSettingFormEntryItemData @ 137 NONAME
-	_ZTV6Logger @ 138 NONAME
-	_ZTV9LogOutput @ 139 NONAME
-	_ZThn16_N17CpBaseSettingViewD0Ev @ 140 NONAME
-	_ZThn16_N17CpBaseSettingViewD1Ev @ 141 NONAME
-	_ZThn16_N18CpDataFormViewItemD0Ev @ 142 NONAME
-	_ZThn16_N18CpDataFormViewItemD1Ev @ 143 NONAME
-	_ZThn8_N17CpBaseSettingViewD0Ev @ 144 NONAME
-	_ZThn8_N17CpBaseSettingViewD1Ev @ 145 NONAME
-	_ZThn8_N18CpDataFormViewItemD0Ev @ 146 NONAME
-	_ZThn8_N18CpDataFormViewItemD1Ev @ 147 NONAME
-	_ZThn8_N21CpSettingFormItemDataD0Ev @ 148 NONAME
-	_ZThn8_N21CpSettingFormItemDataD1Ev @ 149 NONAME
-	_ZThn8_N26CpSettingFormEntryItemDataD0Ev @ 150 NONAME
-	_ZThn8_N26CpSettingFormEntryItemDataD1Ev @ 151 NONAME
+	_ZN14CpPluginLoader21loadCpPluginInterfaceERK7QString @ 3 NONAME
+	_ZN14CpPluginLoader23loadCpLauncherInterfaceERK7QString @ 4 NONAME
+	_ZN15CpPluginUtility18addCpItemPrototypeEP10HbDataForm @ 5 NONAME
+	_ZN16CpItemDataHelper10bindToFormEP10HbDataForm @ 6 NONAME
+	_ZN16CpItemDataHelper11qt_metacallEN11QMetaObject4CallEiPPv @ 7 NONAME
+	_ZN16CpItemDataHelper11qt_metacastEPKc @ 8 NONAME
+	_ZN16CpItemDataHelper13addConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 9 NONAME
+	_ZN16CpItemDataHelper13connectToFormEPKcP7QObjectS1_ @ 10 NONAME
+	_ZN16CpItemDataHelper16addItemPrototypeEP18HbAbstractViewItem @ 11 NONAME
+	_ZN16CpItemDataHelper16removeConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 12 NONAME
+	_ZN16CpItemDataHelper16staticMetaObjectE @ 13 NONAME DATA 16
+	_ZN16CpItemDataHelper18disconnectFromFormEPKcP7QObjectS1_ @ 14 NONAME
+	_ZN16CpItemDataHelper19getStaticMetaObjectEv @ 15 NONAME
+	_ZN16CpItemDataHelper20widgetFromModelIndexERK11QModelIndex @ 16 NONAME
+	_ZN16CpItemDataHelper23modelItemFromModelIndexERK11QModelIndex @ 17 NONAME
+	_ZN16CpItemDataHelperC1EP10HbDataForm @ 18 NONAME
+	_ZN16CpItemDataHelperC2EP10HbDataForm @ 19 NONAME
+	_ZN16CpItemDataHelperD0Ev @ 20 NONAME
+	_ZN16CpItemDataHelperD1Ev @ 21 NONAME
+	_ZN16CpItemDataHelperD2Ev @ 22 NONAME
+	_ZN16CpPluginLauncher17launchSettingViewERK7QStringRK8QVariant @ 23 NONAME
+	_ZN16CpPluginLauncher18launchCpPluginViewERK7QStringi @ 24 NONAME
+	_ZN16LogOutputFactory15createLogOutputERK7QString @ 25 NONAME
+	_ZN16LogOutputFactory15createLogOutputERK7QStringRK5QHashIS0_8QVariantE @ 26 NONAME
+	_ZN16LogOutputFactory23addCreateLogOutputEntryERK7QStringPFP9LogOutputvE @ 27 NONAME
+	_ZN17CpBaseSettingView11qt_metacallEN11QMetaObject4CallEiPPv @ 28 NONAME
+	_ZN17CpBaseSettingView11qt_metacastEPKc @ 29 NONAME
+	_ZN17CpBaseSettingView12aboutToCloseEv @ 30 NONAME
+	_ZN17CpBaseSettingView14setSettingFormEP10HbDataForm @ 31 NONAME
+	_ZN17CpBaseSettingView16staticMetaObjectE @ 32 NONAME DATA 16
+	_ZN17CpBaseSettingView19getStaticMetaObjectEv @ 33 NONAME
+	_ZN17CpBaseSettingViewC1EP15QGraphicsWidgetP13QGraphicsItem @ 34 NONAME
+	_ZN17CpBaseSettingViewC2EP15QGraphicsWidgetP13QGraphicsItem @ 35 NONAME
+	_ZN17CpBaseSettingViewD0Ev @ 36 NONAME
+	_ZN17CpBaseSettingViewD1Ev @ 37 NONAME
+	_ZN17CpBaseSettingViewD2Ev @ 38 NONAME
+	_ZN21CpSettingFormItemData11qt_metacallEN11QMetaObject4CallEiPPv @ 39 NONAME
+	_ZN21CpSettingFormItemData11qt_metacastEPKc @ 40 NONAME
+	_ZN21CpSettingFormItemData16staticMetaObjectE @ 41 NONAME DATA 16
+	_ZN21CpSettingFormItemData19getStaticMetaObjectEv @ 42 NONAME
+	_ZN21CpSettingFormItemDataC1EN19HbDataFormModelItem12DataItemTypeERK7QStringPKS0_ @ 43 NONAME
+	_ZN21CpSettingFormItemDataC1EPK19HbDataFormModelItem @ 44 NONAME
+	_ZN21CpSettingFormItemDataC2EN19HbDataFormModelItem12DataItemTypeERK7QStringPKS0_ @ 45 NONAME
+	_ZN21CpSettingFormItemDataC2EPK19HbDataFormModelItem @ 46 NONAME
+	_ZN21CpSettingFormItemDataD0Ev @ 47 NONAME
+	_ZN21CpSettingFormItemDataD1Ev @ 48 NONAME
+	_ZN21CpSettingFormItemDataD2Ev @ 49 NONAME
+	_ZN26CpSettingFormEntryItemData11qt_metacallEN11QMetaObject4CallEiPPv @ 50 NONAME
+	_ZN26CpSettingFormEntryItemData11qt_metacastEPKc @ 51 NONAME
+	_ZN26CpSettingFormEntryItemData11setIconNameERK7QString @ 52 NONAME
+	_ZN26CpSettingFormEntryItemData12onLaunchViewEv @ 53 NONAME
+	_ZN26CpSettingFormEntryItemData14setDescriptionERK7QString @ 54 NONAME
+	_ZN26CpSettingFormEntryItemData16setEntryItemIconERK6HbIcon @ 55 NONAME
+	_ZN26CpSettingFormEntryItemData16staticMetaObjectE @ 56 NONAME DATA 16
+	_ZN26CpSettingFormEntryItemData19getStaticMetaObjectEv @ 57 NONAME
+	_ZN26CpSettingFormEntryItemData7setTextERK7QString @ 58 NONAME
+	_ZN26CpSettingFormEntryItemDataC2ENS_13EntryItemTypeEP10HbDataFormRK7QStringS5_S5_PK19HbDataFormModelItem @ 59 NONAME
+	_ZN26CpSettingFormEntryItemDataC2ENS_13EntryItemTypeER16CpItemDataHelperRK7QStringS5_S5_PK19HbDataFormModelItem @ 60 NONAME
+	_ZN26CpSettingFormEntryItemDataC2EP10HbDataFormRK7QStringS4_RK6HbIconPK19HbDataFormModelItem @ 61 NONAME
+	_ZN26CpSettingFormEntryItemDataC2EPK19HbDataFormModelItem @ 62 NONAME
+	_ZN26CpSettingFormEntryItemDataC2ER16CpItemDataHelperRK7QStringS4_RK6HbIconPK19HbDataFormModelItem @ 63 NONAME
+	_ZN26CpSettingFormEntryItemDataD0Ev @ 64 NONAME
+	_ZN26CpSettingFormEntryItemDataD1Ev @ 65 NONAME
+	_ZN26CpSettingFormEntryItemDataD2Ev @ 66 NONAME
+	_ZN6Logger11qt_metacallEN11QMetaObject4CallEiPPv @ 67 NONAME
+	_ZN6Logger11qt_metacastEPKc @ 68 NONAME
+	_ZN6Logger12addLogOutputEP9LogOutput @ 69 NONAME
+	_ZN6Logger14setLogDateTimeEb @ 70 NONAME
+	_ZN6Logger15removeLogOutputEP9LogOutput @ 71 NONAME
+	_ZN6Logger16setLogLoggerNameEb @ 72 NONAME
+	_ZN6Logger16staticMetaObjectE @ 73 NONAME DATA 16
+	_ZN6Logger17clearAllLogOutputEv @ 74 NONAME
+	_ZN6Logger17setDateTimeFormatERK7QString @ 75 NONAME
+	_ZN6Logger19getStaticMetaObjectEv @ 76 NONAME
+	_ZN6Logger3logERK7QString @ 77 NONAME
+	_ZN6Logger5closeERK7QString @ 78 NONAME
+	_ZN6Logger8closeAllEv @ 79 NONAME
+	_ZN6Logger8instanceERK7QString @ 80 NONAME
+	_ZN6Logger9configureER9QSettings @ 81 NONAME
+	_ZN6Logger9configureERK7QStringN9QSettings6FormatE @ 82 NONAME
+	_ZN6Logger9logOutputERK7QString @ 83 NONAME
+	_ZN6LoggerC1ERK7QStringP7QObject @ 84 NONAME
+	_ZN6LoggerC2ERK7QStringP7QObject @ 85 NONAME
+	_ZN6LoggerD0Ev @ 86 NONAME
+	_ZN6LoggerD1Ev @ 87 NONAME
+	_ZN6LoggerD2Ev @ 88 NONAME
+	_ZN9LogOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 89 NONAME
+	_ZN9LogOutput11qt_metacastEPKc @ 90 NONAME
+	_ZN9LogOutput12parentLoggerEv @ 91 NONAME
+	_ZN9LogOutput15setParentLoggerEP6Logger @ 92 NONAME
+	_ZN9LogOutput16staticMetaObjectE @ 93 NONAME DATA 16
+	_ZN9LogOutput19getStaticMetaObjectEv @ 94 NONAME
+	_ZN9LogOutput4loadER9QSettings @ 95 NONAME
+	_ZN9LogOutput7setNameERK7QString @ 96 NONAME
+	_ZN9LogOutputC2EP6Logger @ 97 NONAME
+	_ZN9LogOutputD0Ev @ 98 NONAME
+	_ZN9LogOutputD1Ev @ 99 NONAME
+	_ZN9LogOutputD2Ev @ 100 NONAME
+	_ZNK16CpItemDataHelper10metaObjectEv @ 101 NONAME
+	_ZNK17CpBaseSettingView10metaObjectEv @ 102 NONAME
+	_ZNK17CpBaseSettingView11settingFormEv @ 103 NONAME
+	_ZNK21CpSettingFormItemData10metaObjectEv @ 104 NONAME
+	_ZNK26CpSettingFormEntryItemData10metaObjectEv @ 105 NONAME
+	_ZNK26CpSettingFormEntryItemData11descriptionEv @ 106 NONAME
+	_ZNK26CpSettingFormEntryItemData13entryItemIconEv @ 107 NONAME
+	_ZNK26CpSettingFormEntryItemData4textEv @ 108 NONAME
+	_ZNK26CpSettingFormEntryItemData8iconNameEv @ 109 NONAME
+	_ZNK6Logger10metaObjectEv @ 110 NONAME
+	_ZNK6Logger11logDateTimeEv @ 111 NONAME
+	_ZNK6Logger13logLoggerNameEv @ 112 NONAME
+	_ZNK6Logger14dateTimeFormatEv @ 113 NONAME
+	_ZNK6Logger4nameEv @ 114 NONAME
+	_ZNK9LogOutput10metaObjectEv @ 115 NONAME
+	_ZNK9LogOutput4nameEv @ 116 NONAME
+	_ZTI16CpItemDataHelper @ 117 NONAME
+	_ZTI17CpBaseSettingView @ 118 NONAME
+	_ZTI21CpSettingFormItemData @ 119 NONAME
+	_ZTI26CpSettingFormEntryItemData @ 120 NONAME
+	_ZTI6Logger @ 121 NONAME
+	_ZTI9LogOutput @ 122 NONAME
+	_ZTV16CpItemDataHelper @ 123 NONAME
+	_ZTV17CpBaseSettingView @ 124 NONAME
+	_ZTV21CpSettingFormItemData @ 125 NONAME
+	_ZTV26CpSettingFormEntryItemData @ 126 NONAME
+	_ZTV6Logger @ 127 NONAME
+	_ZTV9LogOutput @ 128 NONAME
+	_ZThn16_N17CpBaseSettingViewD0Ev @ 129 NONAME
+	_ZThn16_N17CpBaseSettingViewD1Ev @ 130 NONAME
+	_ZThn8_N17CpBaseSettingViewD0Ev @ 131 NONAME
+	_ZThn8_N17CpBaseSettingViewD1Ev @ 132 NONAME
+	_ZThn8_N21CpSettingFormItemDataD0Ev @ 133 NONAME
+	_ZThn8_N21CpSettingFormItemDataD1Ev @ 134 NONAME
+	_ZThn8_N26CpSettingFormEntryItemDataD0Ev @ 135 NONAME
+	_ZThn8_N26CpSettingFormEntryItemDataD1Ev @ 136 NONAME
 
--- a/controlpanel/tsrc/tsrc.pro	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/tsrc/tsrc.pro	Mon May 03 12:46:45 2010 +0300
@@ -15,10 +15,11 @@
 #
 
 TEMPLATE = subdirs
-SUBDIRS = unit/ut_cpplugin \
-		      unit/ut_cpapi 
+SUBDIRS = unit/ut_cpapi 
+					#unit/ut_cpplugin \
 		      #unit/ut_profileengwrapper 
 CONFIG += ordered
+#CONFIG += symbian_test
 test.depends = first
 test.CONFIG += recursive
 autotest.depends = first
--- a/controlpanel/tsrc/unit/ut_cpapi/src/ut_cpapi.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/tsrc/unit/ut_cpapi/src/ut_cpapi.cpp	Mon May 03 12:46:45 2010 +0300
@@ -25,8 +25,8 @@
 #include <hbdataform.h>
 #include <hbdataformmodel.h>
 #include <hbdataformmodelitem.h>
+#include <hbdataformviewitem.h>
 #include <hbabstractviewitem.h>
-#include <hbsettingformitem.h>
 #include <hbpushbutton.h>
 //testing following classes
 
@@ -48,8 +48,10 @@
 
 void TestCpAPI::cleanupTestCase()
 {
-	delete mainWindow;
-	mainWindow = 0;
+	//delete mainWindow;
+	//mainWindow = 0;
+	//if delete mainwindow, test app will be freezing
+	QCoreApplication::processEvents();
 }
 void TestCpAPI::testCpBaseSettingView()
 {
@@ -127,7 +129,7 @@
     phelper->addConnection( general, "hello",form,"hello");
     phelper->removeConnection(general,"hello",form, "hello");
     phelper->bindToForm(form);
-    HbSettingFormItem *pitem = new HbSettingFormItem();
+    HbDataFormViewItem *pitem = new HbDataFormViewItem();
     phelper->addItemPrototype(pitem);
     delete phelper;
 }
@@ -137,7 +139,7 @@
     QList<HbAbstractViewItem *> oldList = form->itemPrototypes();
     CpPluginUtility::addCpItemPrototype(form);
     QList<HbAbstractViewItem *> newList = form->itemPrototypes();
-    QVERIFY( oldList.count() == newList.count()-1 );
+    QVERIFY( oldList.count() < newList.count() );
 }
 
 void TestCpAPI::testCpPluginLoader()
--- a/controlpanel/tsrc/unit/ut_cpapi/ut_cpapi.pro	Fri Apr 16 15:15:08 2010 +0300
+++ b/controlpanel/tsrc/unit/ut_cpapi/ut_cpapi.pro	Mon May 03 12:46:45 2010 +0300
@@ -18,6 +18,7 @@
 TARGET = ut_cpapi
 QT += testlib
 CONFIG += hb qtestlib
+#CONFIG += symbian_test
 unix {
     test.commands = /epoc32/RELEASE/WINSCW/udeb/ut_cpapi.exe
     autotest.commands = /epoc32/RELEASE/WINSCW/udeb/ut_cpapi.exe -xml -o c:/ut_cpapi.xml
--- a/ftuwizardmodel/inc/ftuwizard.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/ftuwizardmodel/inc/ftuwizard.h	Mon May 03 12:46:45 2010 +0300
@@ -25,9 +25,10 @@
 #include <QObject>
 #include <QRectF>
 #include <QDate>
+#include <hbmenu>
 
 class QGraphicsWidget;
-   
+
 /**
  * @ingroup group_ftuwizardmodel
  * @brief Represents a wizard plugin visualization information.
@@ -108,9 +109,14 @@
      * usually creates its initial view.
      * Once the initialization is done, wizardInitialized signal must be 
      * emitted.
+ 	 * @param cenrepOwnerId Id of the owner of Cenrep holding wizard completion Information.
+	 * @param wizardIdx Index of the Cenrep key for a wizard.
+	 * If wizard is invoking another application, it should provide cenrepOwnerId and wizardIdx
+	 * to the application. Application should write 1 into the wizardIdx cenrep on completion.
+
      * @since S60 ?S60_version.
      */
-    virtual void initializeWizard() = 0;
+    virtual void initializeWizard(qint32 cenrepOwnerId, int wizardIdx) = 0;
 
     /**
      * Called by the FTU fw when the wizard becomes the current wizard.  
@@ -241,7 +247,15 @@
      * @param caller The calling wizard plugin instance.
      */
     void shutdownCompleted(FtuWizard *caller);
-
+    
+    /**
+     * Emit this signal to indicate that the wizard plugin wants a custom view menu to be shown. 
+     * from shutdownWizard.
+     * @param caller The calling wizard plugin instance.
+     * @param menu   The HbMenu instance that needs to be shown on the view
+     */
+    void updateMainMenu(FtuWizard *caller, HbMenu * menu);
+    
 };
 
 #endif // FTUWIZARD_H
--- a/gsprofilesrv_plat/ftuwizardmodel_api/inc/ftuwizard.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/gsprofilesrv_plat/ftuwizardmodel_api/inc/ftuwizard.h	Mon May 03 12:46:45 2010 +0300
@@ -15,6 +15,7 @@
 *
 */
 
+
 #ifndef FTUWIZARD_H
 #define FTUWIZARD_H
 
@@ -24,9 +25,10 @@
 #include <QObject>
 #include <QRectF>
 #include <QDate>
+#include <hbmenu>
 
 class QGraphicsWidget;
-   
+
 /**
  * @ingroup group_ftuwizardmodel
  * @brief Represents a wizard plugin visualization information.
@@ -107,9 +109,13 @@
      * usually creates its initial view.
      * Once the initialization is done, wizardInitialized signal must be 
      * emitted.
+	 * @param cenrepOwnerId Id of the owner of Cenrep holding wizard completion Information.
+	 * @param wizardIdx Index of the Cenrep key for a wizard.
+	 * If wizard is invoking another application, it should provide cenrepOwnerId and wizardIdx
+	 * to the application. Application should write 1 into the wizardIdx cenrep on completion.
      * @since S60 ?S60_version.
      */
-    virtual void initializeWizard() = 0;
+    virtual void initializeWizard(qint32 cenrepOwnerId, int wizardIdx) = 0;
 
     /**
      * Called by the FTU fw when the wizard becomes the current wizard.  
@@ -240,7 +246,15 @@
      * @param caller The calling wizard plugin instance.
      */
     void shutdownCompleted(FtuWizard *caller);
-
+    
+    /**
+     * Emit this signal to indicate that the wizard plugin wants a custom view menu to be shown. 
+     * from shutdownWizard.
+     * @param caller The calling wizard plugin instance.
+     * @param menu   The HbMenu instance that needs to be shown on the view
+     */
+    void updateMainMenu(FtuWizard *caller, HbMenu * menu);
+    
 };
 
 #endif // FTUWIZARD_H
--- a/gsprofilesrv_plat/profiles_engine_api/group/bld.inf	Fri Apr 16 15:15:08 2010 +0300
+++ b/gsprofilesrv_plat/profiles_engine_api/group/bld.inf	Mon May 03 12:46:45 2010 +0300
@@ -42,6 +42,13 @@
 ../inc/MProfileName.h                   MW_LAYER_PLATFORM_EXPORT_PATH(MProfileName.h)
 ../inc/MProfile.h                       MW_LAYER_PLATFORM_EXPORT_PATH(MProfile.h)
 
+/* Since 10.1 */
+../inc/MProfileVibraSettings.h          MW_LAYER_PLATFORM_EXPORT_PATH(MProfileVibraSettings.h)
+../inc/MProfileExtraTones2.h            MW_LAYER_PLATFORM_EXPORT_PATH(MProfileExtraTones2.h)
+../inc/MProfileSetExtraTones2.h         MW_LAYER_PLATFORM_EXPORT_PATH(MProfileSetExtraTones2.h)
+../inc/MProfileExtended2.h              MW_LAYER_PLATFORM_EXPORT_PATH(MProfileExtended2.h)
+../inc/MProfileEngineExtended2.h        MW_LAYER_PLATFORM_EXPORT_PATH(MProfileEngineExtended2.h)
+
 ../inc/MProfileEngineExtended.h         MW_LAYER_PLATFORM_EXPORT_PATH(MProfileEngineExtended.h)
 ../inc/MProfileExtended.h               MW_LAYER_PLATFORM_EXPORT_PATH(MProfileExtended.h)
 ../inc/MProfilePresence.h               MW_LAYER_PLATFORM_EXPORT_PATH(MProfilePresence.h)
@@ -61,6 +68,8 @@
 ../inc/MProfileSetFeedbackSettings.h    MW_LAYER_PLATFORM_EXPORT_PATH(MProfileSetFeedbackSettings.h)
 ../inc/MProfileSetPttSettings.h         MW_LAYER_PLATFORM_EXPORT_PATH(MProfileSetPttSettings.h)
 ../inc/MProfileSetTones.h               MW_LAYER_PLATFORM_EXPORT_PATH(MProfileSetTones.h)
+//Since 10.1
+../inc/MProfileSetVibraSettings.h       MW_LAYER_PLATFORM_EXPORT_PATH(MProfileSetVibraSettings.h)
 
 ../inc/SecondaryDisplayProfilesAPI.h    MW_LAYER_PLATFORM_EXPORT_PATH(secondarydisplay/SecondaryDisplayProfilesAPI.h)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/MProfileEngineExtended2.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,138 @@
+/*
+* 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:  Extended profile engine interface 2.
+*
+*/
+
+
+
+#ifndef __MPROFILEENGINEEXTENDED2_H__
+#define __MPROFILEENGINEEXTENDED2_H__
+
+//  INCLUDES
+#include <MProfileEngineExtended.h>
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+class MProfileEngineExtended2;
+/**
+* Create extended profile engine, ownership transfered.
+*
+*  @lib ProfileEng.lib
+*  @since 10.1
+*/
+
+IMPORT_C MProfileEngineExtended2* CreateProfileEngineExtended2L();
+
+/**
+* Create extended profile engine, ownership transfered.
+*
+*  @param aFs An open file server session, ownership is NOT transferred.
+*  aFs must remain connected for the lifetime of the returned object.
+*  @lib ProfileEng.lib
+*  @since 10.1
+*/
+IMPORT_C MProfileEngineExtended2* CreateProfileEngineExtended2L( RFs* aFs );
+
+// FORWARD DECLARATIONS
+class MProfileExtended2;
+
+// CLASS DECLARATION
+
+/**
+*  Extended profile engine interface.
+*  This interface extend MProfileEngine interface and
+*  offers methods to get profile settings and store profile settings.
+*
+*  @lib N/A
+*  @since 2.0
+*/
+class MProfileEngineExtended2 : public MProfileEngineExtended
+    {
+    protected:  // Destructor
+
+        virtual ~MProfileEngineExtended2() {};
+
+    public: // New functions
+
+        /**
+        * Create extended profile, ownership transfered.
+        * @since 2.0
+        * @param aId Profile ID
+        * @return Instance of the MProfileExtended
+        */
+        virtual MProfileExtended2* Profile2LC( TInt aId ) = 0;
+
+        /**
+        * Create extended profile, ownership transfered.
+        * @since 2.0
+        * @param aId Profile ID
+        * @return Instance of the MProfileExtended
+        */
+        virtual MProfileExtended2* Profile2L( TInt aId ) = 0;
+
+        /**
+        * Store profile settings. Leaves with KErrAccessDenied if one or more
+        * of the settings of the target profile is/are read-only.
+        * @since 2.0
+        * @param aProfile Profile
+        */
+        virtual void CommitChange2L( MProfileExtended2& aProfile ) = 0;
+
+       
+        /**
+        * Returns Master volume
+        * @since 10.1
+        */
+        virtual TInt MasterVolumeL() const = 0;
+        
+        /**
+        * Set master volume
+        * @since 10.1
+        * @param aMasterVolume: new master volume to be set
+        */
+        virtual void SetMasterVolumeL( TInt aMasterVolume ) = 0;
+        
+        /**
+        * Returns Master vibra
+        * @since 10.1
+        */
+        virtual TBool MasterVibraL() const = 0;
+        
+        /**
+        * Set master vibra
+        * @since 10.1
+        * @param aMasterVibra: new master vibra to be set ETrue: On EFalse: Off
+        */
+        virtual void SetMasterVibraL( TBool aMasterVibra ) = 0;
+        
+        /**
+        * Returns silence mode
+        * @since 10.1
+        */
+        virtual TBool SilenceModeL() const = 0;
+        
+        /**
+        * Set silence mode
+        * @since 10.1
+        * @param aSilenceMode: new silence mode to be set ETrue: On EFalse: Off
+        */
+        virtual void SetSilenceModeL( TBool aSilenceMode ) = 0;
+
+    };
+
+#endif      // __MPROFILEENGINEEXTENDED_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/MProfileExtended2.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* 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:  Extended profile interface.
+*
+*/
+
+
+
+#ifndef __MPROFILEEXTENDED2_H__
+#define __MPROFILEEXTENDED2_H__
+
+//  INCLUDES
+#include <MProfileExtended.h>
+
+// DATA TYPES
+
+// FORWARD DECLARATIONS
+
+class MProfileExtraTones2;
+class MProfileSetExtraTones2;
+class MProfileVibraSettings;
+class MProfileSetVibraSettings;
+
+// CLASS DECLARATION
+
+/**
+*  Extended profile interface.
+*  This interface extend MProfile interface.
+*
+*  @lib N/A
+*  @since 10.1
+*/
+class MProfileExtended2 : public MProfileExtended
+    {
+    protected:  // Destructor
+
+        virtual ~MProfileExtended2() {};
+
+    public: // New functions
+
+        /**
+        * Returns profile extra Tones 2 settings interface.
+        * @since 10.1
+        * @return get rofile Extra Tones 2 settings
+        */
+        virtual const MProfileExtraTones2& ProfileExtraTones2() const = 0;
+        
+        /**
+        * Returns profile set extra tones 2 settings interface.
+        * @since 10.1
+        * @return set profile extra tones 2 settings interface.
+        */
+        virtual MProfileSetExtraTones2& ProfileSetExtraTones2() = 0;
+        
+        /**
+        * Returns profile vibra settings interface.
+        * @since 10.1
+        * @return get profile vibra settings.
+        */
+        virtual const MProfileVibraSettings& ProfileVibraSettings() const = 0;
+        
+        /**
+        * Returns set vibra settings interface.
+        * @since 10.1
+        * @return set profile vibra settings.
+        */
+        virtual MProfileSetVibraSettings& ProfileSetVibraSettings() = 0;
+
+    };
+
+#endif      // __MPROFILEEXTENDED_H__
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/MProfileExtraTones2.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* 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:  Profile extra tones2 interface.
+*
+*/
+
+
+
+#ifndef __MPROFILEEXTRATONES2_H
+#define __MPROFILEEXTRATONES2_H
+
+// INCLUDES
+#include <e32std.h>
+#include <MProfileExtraTones.h>
+
+// CLASS DECLARATION
+
+/**
+*  Profile extra tones interface.
+*  This interface offers method to get IM message alert tone file name.
+*
+*  @lib N/A
+*  @since 10.1
+*/
+class MProfileExtraTones2 : public MProfileExtraTones
+    {
+    protected:  // Destructor
+
+        virtual ~MProfileExtraTones2() {};
+
+    public:       
+        /**
+        * Returns reminder tone file name.
+        * @since 10.1
+        * @return Returns reminder tone file name.
+        */
+        virtual const TDesC& ReminderTone() const = 0;
+        
+        /**
+        * Returns clock alarm tone file name.
+        * @since 10.1
+        * @return Returns clock alarm tone file name.
+        */
+        virtual const TDesC& ClockAlarmTone() const = 0;
+    };
+
+
+#endif      // __MPROFILEEXTRATONES2_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/MProfileSetExtraTones2.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* 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:  Set profile extra tones2 interface.
+*
+*/
+
+
+
+#ifndef __MPROFILESETEXTRATONES2_H
+#define __MPROFILESETEXTRATONES2_H
+
+// INCLUDES
+#include <e32std.h>
+#include <MProfileSetExtraTones.h>
+
+// CLASS DECLARATION
+
+/**
+*  Set profile extra tones2 interface.
+*  This interface offers methods to set IM message alert tone file name.
+*
+*  @lib N/A
+*  @since 10.1
+*/
+class MProfileSetExtraTones2 : public MProfileSetExtraTones
+    {
+    protected:  // Destructor
+
+        virtual ~MProfileSetExtraTones2() {};
+
+    public: // New functions
+        
+        /**
+        * Set reminder tone.
+        * @since 10.1
+        * @param aReminderTone File name of the reminder tone.
+        */
+        virtual void SetReminderToneL( 
+                const TDesC& aReminderTone ) = 0;
+        
+        /**
+        * Set clock alarm tone.
+        * @since 10.1
+        * @param aClockAlarmTone File name of the clock alarm tone.
+        */
+        virtual void SetClockAlarmToneL( 
+                const TDesC& aClockAlarmTone ) = 0;
+
+    };
+
+
+#endif      // __MPROFILESETEXTRATONES2_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/MProfileSetVibraSettings.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* 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:  MProfileSetVibraSettings interface.
+*
+*/
+
+
+#ifndef __MPROFILESETVIBRASETTINGS_H
+#define __MPROFILESETVIBRASETTINGS_H
+
+// INCLUDES
+#include <e32std.h>
+
+// CLASS DECLARATION
+
+/**
+*  Profile set vibra settings interface.
+*  This interface offers methods to set vibra settings
+*
+*  @lib N/A
+*  @since 10.1
+*/
+class MProfileSetVibraSettings
+{
+protected:  // Destructor
+    
+    virtual ~MProfileSetVibraSettings() {};
+    
+public:
+    
+    /**
+    * set alert vibra settings
+    * @since 10.1
+    * @param aAlertVibra vibra settings
+    */
+    virtual void SetAlertVibra(TInt aAlertVibra) = 0;
+    
+    
+    /**
+    * set ring alert vibra
+    * @since 10.1
+    * @param aRingAlertVibra ETrue: On EFalse: Off
+    */
+    virtual void SetRingAlertVibra(TBool aRingAlertVibra) = 0;
+    
+    /**
+    * set message alert vibra
+    * @since 10.1
+    * @param aMessageAlertVibra ETrue: On EFalse: Off
+    */    
+    virtual void SetMessageAlertVibra(TBool aMessageAlertVibra) = 0;
+    
+    /**
+    * set Email alert vibra
+    * @since 10.1
+    * @param aEmailAlertVibra ETrue: On EFalse: Off
+    */
+    virtual void SetEmailAlertVibra(TBool aEmailAlertVibra) = 0;
+    
+    /**
+    * set reminder alert vibra
+    * @since 10.1
+    * @param aReminderAlarmVibra ETrue: On EFalse: Off
+    */
+    virtual void SetReminderAlarmVibra(TBool aReminderAlarmVibra) = 0;
+    
+    /**
+    * set information vibra
+    * @since 10.1
+    * @param aInformationVibra ETrue: On EFalse: Off
+    */
+    virtual void SetInformationVibra(TBool aInformationVibra) = 0;
+};
+
+#endif
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/MProfileVibraSettings.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* 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:  Extended profile interface.
+*
+*/
+
+#ifndef __MPROFILEVIBRASETTINGS_H
+#define __MPROFILEVIBRASETTINGS_H
+
+
+// INCLUDES
+#include <e32std.h>
+
+// CLASS DECLARATION
+
+/**
+*  Profile vibra settings interface.
+*  This interface offers methods to get vibra settings
+*
+*  @lib N/A
+*  @since 10.1
+*/
+class MProfileVibraSettings
+{
+protected:  // Destructor
+    
+    virtual ~MProfileVibraSettings() {};
+    
+public:
+    
+    /**
+    * Returns alert vibra settings
+    * @since 10.1
+    * @return Returns vibra settings
+    */
+    virtual TInt AlertVibra() const = 0;
+    
+    /**
+    * Returns ring alert vibra
+    * @since 10.1
+    * @return Returns ring alert vibra
+    */
+    virtual TBool RingAlertVibra() const = 0;
+    
+    /**
+    * Returns message alert vibra
+    * @since 10.1
+    * @return Returns message alert vibra
+    */    
+    virtual TBool MessageAlertVibra() const = 0;
+    
+    /**
+    * Returns Email alert vibra
+    * @since 10.1
+    * @return Returns Email alert vibra
+    */
+    virtual TBool EmailAlertVibra() const = 0;
+    
+    /**
+    * Returns reminder alert vibra
+    * @since 10.1
+    * @return Returns reminder alert vibra
+    */
+    virtual TBool ReminderAlarmVibra() const = 0;
+    
+    /**
+    * Returns information vibra
+    * @since 10.1
+    * @return Returns information alert vibra
+    */
+    virtual TBool InformationVibra() const = 0;
+};
+
+#endif  // __MPROFILEVIBRASETTINGS_H
+
+//End of File
--- a/gsprofilesrv_plat/profiles_engine_api/inc/ProfileEngineInternalCRKeys.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/ProfileEngineInternalCRKeys.h	Mon May 03 12:46:45 2010 +0300
@@ -85,27 +85,33 @@
 
 /**
 * Absolute file path of ring tone of the currently active profile, string.
+* Since 10.1
 **/
 const TUint32 KProEngActiveRingTone = 0x7E00001B;
 
 /**
 * Absolute file path of message tone of the currently active profile, string.
+* Since 10.1
 **/
 const TUint32 KProEngActiveMessageTone = 0x7E00001C;
 
 /**
 * Absolute file path of reminder tone of the currently active profile, string.
+* Since 10.1
 **/
 const TUint32 KProEngActiveReminderTone = 0x7E00001D;
 
 /**
 * Absolute file path of clock alarm tone of the currently active profile, string.
+* Since 10.1
 **/
 const TUint32 KProEngActiveClockAlarmTone = 0x7E00001E;
 
 /**
 * Alert vibra setting of the currently active profile, string.
 * 
+* Since 10.1
+* 
 * Possible values (bit OR):
 * 
 * enum TProfileAlertVibra
@@ -122,6 +128,23 @@
 **/
 const TUint32 KProEngActiveAlertVibra = 0x7E00001F;
 
+/**
+* Master volume for all profiles, int
+* Since 10.1
+**/
+const TUint32 KProEngMasterVolume = 0x80000200;
+
+/**
+* Master vibra for all profiles, int
+* Since 10.1
+**/
+const TUint32 KProEngMasterVibra  = 0x80000201;
+
+/**
+* Silence mode, bool 1: On 0: Off
+* Since 10.1
+**/
+const TUint32 KProEngSilenceMode  = 0x80000202;
 
 #endif      // PROFILEENGINEINTERNALCRKEYS_H
 
--- a/gsprofilesrv_plat/profiles_engine_api/inc/ProfileInternal.hrh	Fri Apr 16 15:15:08 2010 +0300
+++ b/gsprofilesrv_plat/profiles_engine_api/inc/ProfileInternal.hrh	Mon May 03 12:46:45 2010 +0300
@@ -32,7 +32,10 @@
     EProfileTactileFeedbackOff		= 0,
     EProfileTactileFeedbackLevel1	= 1,
     EProfileTactileFeedbackLevel2	= 2,
-    EProfileTactileFeedbackLevel3	= 3
+    EProfileTactileFeedbackLevel3	= 3,
+    //Since 10.1
+    EProfileTactileFeedbackLevel4   = 4,
+    EProfileTactileFeedbackLevel5   = 5
     };
 
 enum TProfileAudioFeedback
@@ -40,7 +43,10 @@
     EProfileAudioFeedbackOff		= 0,
     EProfileAudioFeedbackLevel1		= 1,
     EProfileAudioFeedbackLevel2		= 2,
-    EProfileAudioFeedbackLevel3		= 3
+    EProfileAudioFeedbackLevel3		= 3,
+    //Since 10.1
+    EProfileAudioFeedbackLevel4     = 4,
+    EProfileAudioFeedbackLevel5     = 5
     };
 
 enum TProfile3DToneEffect
@@ -67,6 +73,7 @@
     EProfile3DEchoUnderwater    = 28
     };
 
+// Since 10.1
 enum TProfileAlertVibra
     {
     EProfileNoAlertVibra       = 0x00000000,
@@ -78,6 +85,14 @@
     EProfileInformationVibra   = 0x00000020
     };
 
+// Since 10.1
+enum TProfileMasterVolume
+    {
+    EProfileMasterVolumeSoft = 1,
+    EProfileMasterVolumeMed  = 5,
+    EProfileMasterVolumeLoud = 10	
+    };
+
 #endif // PROFILEINTERNAL_HRH
 
 // End of File
--- a/gsprofilesrv_plat/settings_framework_api/inc/GSBaseView.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/gsprofilesrv_plat/settings_framework_api/inc/GSBaseView.h	Mon May 03 12:46:45 2010 +0300
@@ -159,7 +159,7 @@
         /**
         * See base class.
         */
-        IMPORT_C void HandleListBoxEventL( CEikListBox* aListBox,
+        void HandleListBoxEventL( CEikListBox* aListBox,
             TListBoxEvent aEventType );
 
     private: // New
--- a/gsprofilesrv_pub/profiles_engine_wrapper_api/group/bld.inf	Fri Apr 16 15:15:08 2010 +0300
+++ b/gsprofilesrv_pub/profiles_engine_wrapper_api/group/bld.inf	Mon May 03 12:46:45 2010 +0300
@@ -39,3 +39,8 @@
 ../inc/MProEngToneSettings.h     MW_LAYER_PUBLIC_EXPORT_PATH(MProEngToneSettings.h)
 ../inc/MProEngProfileNameArrayObserver.h     MW_LAYER_PUBLIC_EXPORT_PATH(MProEngProfileNameArrayObserver.h)
 ../inc/MProEngEngine.h     MW_LAYER_PUBLIC_EXPORT_PATH(MProEngEngine.h)
+//Since 10.1
+../inc/MProEngActiveSettingsObserver.h     MW_LAYER_PUBLIC_EXPORT_PATH(MProEngActiveSettingsObserver.h)
+../inc/MProEngMasterSettingsObserver.h     MW_LAYER_PUBLIC_EXPORT_PATH(MProEngMasterSettingsObserver.h)
+../inc/MProEngNotifyHandler2.h     MW_LAYER_PUBLIC_EXPORT_PATH(MProEngNotifyHandler2.h)
+../inc/ProEngFactory2.h     MW_LAYER_PUBLIC_EXPORT_PATH(ProEngFactory2.h)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngActiveSettingsObserver.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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:  Abstract interface for handling the active profile events.
+*
+*/
+
+
+#ifndef MPROENGACTIVESETTINGSOBSERVER_H
+#define MPROENGACTIVESETTINGSOBSERVER_H
+
+//  INCLUDES
+#include <e32def.h>
+
+// FORWARD DECLARATIONS
+class MProEngActiveSettingsObserverExt;
+
+// CLASS DECLARATION
+
+/**
+* Active profile settings modification observer interface.
+* Implement this interface to get notifications of changes in the active profile settings
+* data.
+*
+*  @lib ProfileEngine.lib
+*  @since  10.1
+*/
+class MProEngActiveSettingsObserver
+    {
+    public: // New functions
+
+        /**
+        * Abstract method for handling active profile settings modification event.
+        * This method is called when the current active profile settings has been
+        * modified some way. (e.g. switch active profile, change active profile)
+        * 
+        * @since Series 10.1
+        */
+        virtual void HandleActiveSettingsModifiedL() = 0;
+
+        /**
+         * Error handler for handling the errors in the active profile settings
+         * modification notification process. If HandleActiveSettingsModifiedL()
+         * leaves, this method is called with the leave code. This method has
+         * default empty implementation.
+         * @since 10.1
+         * @param aError the code of the error which occurred during
+         *        notification process.
+         */
+        virtual void HandleActiveSettingsNotificationError(
+                TInt /* aError */ ) {};
+
+    protected:
+
+        /**
+        * Destructor.
+        */
+        virtual ~MProEngActiveSettingsObserver() {}
+
+    private: // Extension interface
+
+        /**
+        * This member is internal and not intended for use.
+        */
+        virtual MProEngActiveSettingsObserverExt* Extension() { return NULL; }
+
+    };
+
+#endif      // MPROENGACTIVESETTINGSOBSERVER_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngMasterSettingsObserver.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* 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:  Abstract interface for handling the master settings change events.
+*
+*/
+
+
+
+#ifndef MPROENGMASTERSETTINGSOBSERVER_H
+#define MPROENGMASTERSETTINGSOBSERVER_H
+
+//  INCLUDES
+#include <e32def.h>
+
+// FORWARD DECLARATIONS
+class MProEngMasterSettingsObserverExt;
+
+// CLASS DECLARATION
+
+/**
+* master settings modification observer interface.
+* Implement this interface to get notifications of changes in the master settings
+* data.
+*
+*  @lib ProfileEngine.lib
+*  @since Series 10.1
+*/
+class MProEngMasterSettingsObserver
+    {
+    public: // New functions
+
+        /**
+        * Abstract method for handling master settings modification event.
+        * This method is called when the master settings has been
+        * modified some way. 
+        * 
+        * @since Series 10.1
+        */
+        virtual void HandleMasterSettingsModifiedL() = 0;
+
+        /**
+         * Error handler for handling the errors in the master settings
+         * modification notification process. If HandleMasterSettingsModifiedL()
+         * leaves, this method is called with the leave code. This method has
+         * default empty implementation.
+         * @since 10.1
+         * @param aError the code of the error which occurred during
+         *        notification process.
+         */
+        virtual void HandleMasterSettingsNotificationError(
+                TInt /* aError */ ) {};
+
+    protected:
+
+        /**
+        * Destructor.
+        */
+        virtual ~MProEngMasterSettingsObserver() {}
+
+    private: // Extension interface
+
+        /**
+        * This member is internal and not intended for use.
+        */
+        virtual MProEngMasterSettingsObserverExt* Extension() { return NULL; }
+
+    };
+
+#endif      // MPROENGMASTERSETTINGSOBSERVER_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngNotifyHandler2.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* 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: Abstract interface for handling profile change notification
+*
+*/
+
+
+
+#ifndef MPROENGNOTIFYHANDLER2_H
+#define MPROENGNOTIFYHANDLER2_H
+
+//  INCLUDES
+#include <MProEngNotifyHandler.h>
+
+// FORWARD DECLARATIONS
+class MProEngNotifyHandler2Ext;
+class MProEngActiveSettingsObserver;
+class MProEngMasterSettingsObserver;
+
+
+// CLASS DECLARATION
+
+/**
+* Profiles change notification handler.
+* This class is used for registration to get notifications about changes in
+* Profiles data.
+*
+*  @lib ProfileEngine.lib
+*  @since S60 3.1
+*/
+class MProEngNotifyHandler2 : public MProEngNotifyHandler
+    {
+    public: // New functions
+    
+    
+        /**
+         * Request notifications of active profile settings. The notifications are
+         * received as long as CancelActiveSettingsNotificationsL() or
+         * CancelAll() is called. If the client wants to change the observer,
+         * he should first cancel these notifications and then re-request them
+         * with the new observer instance.
+         * @since 10.1
+         * @param aObserver Reference to the observer to be notified in the
+         *        event of profile activation.
+         * @return KErrNone if succesful, KErrAlreadyExists if this notification
+         *         handler is already used for requesting profile activation
+         *         notifications. In other cases another system wide error code.
+         */
+        virtual TInt RequestActiveSettingsNotificationsL( 
+                MProEngActiveSettingsObserver &aObserver ) = 0;
+        
+        /**
+         * Request notifications of master settings. The notifications are
+         * received as long as CanceltMasterSettingsNotificationsL() or
+         * CancelAll() is called. If the client wants to change the observer,
+         * he should first cancel these notifications and then re-request them
+         * with the new observer instance.
+         * @since 10.1
+         * @param aObserver Reference to the observer to be notified in the
+         *        event of profile activation.
+         * @return KErrNone if succesful, KErrAlreadyExists if this notification
+         *         handler is already used for requesting profile activation
+         *         notifications. In other cases another system wide error code.
+         */
+        virtual TInt RequestMasterSettingsNotificationsL( 
+                MProEngMasterSettingsObserver &aObserver ) = 0;
+        
+        
+        /**
+         * Cancel the registration for receiving notifications about the active
+         * settings modification events.
+         * @since 10.1
+         */
+        virtual void CancelActiveSettingsNotificationsL() = 0;
+        
+        /**
+         * Cancel the registration for receiving notifications about the master
+         * settings modification events.
+         * @since 10.1
+         */
+        virtual void CancelMasterSettingsNotificationsL() = 0;
+
+    public:
+
+        /**
+        * Destructor.
+        */
+        virtual ~MProEngNotifyHandler2() {}
+
+    private: // Extension interface
+
+        /**
+        * This member is internal and not intended for use.
+        */
+        virtual MProEngNotifyHandler2Ext* Extension2() { return NULL; }
+
+    };
+
+#endif      // MPROENGNOTIFYHANDLER2_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_pub/profiles_engine_wrapper_api/inc/ProEngFactory2.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* 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: Factory for Profiles Engine Wrapper.
+*
+*/
+
+
+
+#ifndef PROENGFACTORY2_H
+#define PROENGFACTORY2_H
+
+//  INCLUDES
+#include <ProEngFactory.h>
+
+// FORWARD DECLARATIONS
+
+class MProEngNotifyHandler2;
+
+// CLASS DECLARATION
+
+/**
+*  Factory for Profiles Engine Wrapper.
+*  You can create new instances of Profiles Engines, Notification Handlers and
+*  Alert Tone Seekers by using this factory.<br><br>
+*  Example:
+*  @code
+*  // Create a new instance of Profiles Engine:
+*  MProEngEngine* engine =
+*      ProEngFactory2::NewEngineLC();
+*
+*  // Create a new instance of Notification Handler:
+*  MProEngNotifyHandler* notifyHandler =
+*      ProEngFactory2::NewNotifyHandlerL();
+*
+*  // Create a new instance of Alert Tone Seeker:
+*  MProEngAlertToneSeeker* toneSeeker =
+*      ProEngFactory2::NewAlertToneSeekerL();
+*  @endcode
+*
+*  @lib ProfileEngine.lib
+*  @since  10.1
+*/
+class ProEngFactory2 : public ProEngFactory
+    {
+    public: // New functions
+        /**
+        * Create a new instance of Profiles Notification Handler 2.
+        * @since 10.1
+        * @return New instance of Notification Handler.
+        *         Ownership is transferred to the client application.
+        */
+        IMPORT_C static MProEngNotifyHandler2* NewNotifyHandler2L();
+
+    private:
+
+        // Prohibit C++ default constructor.
+        ProEngFactory2();
+        // Prohibit Destructor.
+        ~ProEngFactory2();
+
+    };
+
+#endif      // PROENGFACTORY2_H
+
+// End of File
+
--- a/gsprofilesrv_pub/profiles_engine_wrapper_api/inc/Profile.hrh	Fri Apr 16 15:15:08 2010 +0300
+++ b/gsprofilesrv_pub/profiles_engine_wrapper_api/inc/Profile.hrh	Mon May 03 12:46:45 2010 +0300
@@ -57,7 +57,9 @@
     EProfileKeypadVolumeOff    = 0,
     EProfileKeypadVolumeLevel1 = 1,
     EProfileKeypadVolumeLevel2 = 2,
-    EProfileKeypadVolumeLevel3 = 3
+    EProfileKeypadVolumeLevel3 = 3,
+    EProfileKeypadVolumeLevel4 = 4,
+    EProfileKeypadVolumeLevel5 = 5
     };
 
 /**
--- a/gssettingsuis/Gs/GSApplication/bld.inf	Fri Apr 16 15:15:08 2010 +0300
+++ b/gssettingsuis/Gs/GSApplication/bld.inf	Mon May 03 12:46:45 2010 +0300
@@ -27,7 +27,7 @@
 ../rom/GSAppResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( GSAppResources.iby )
 ../Data/backup_registration.xml  z:/private/100058EC/backup_registration.xml
 ../rom/GsResources.iby  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( GsResources.iby )
-loc/gsapp.loc MW_LAYER_LOC_EXPORT_PATH( gsapp.loc )
+loc/GSApp.loc MW_LAYER_LOC_EXPORT_PATH( GSApp.loc )
 loc/SoftReject.loc MW_LAYER_LOC_EXPORT_PATH( SoftReject.loc )
 
 PRJ_EXTENSIONS
--- a/gssettingsuis/Gs/GSBackgroundImage/Src/GsAsyncImageHandling.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/gssettingsuis/Gs/GSBackgroundImage/Src/GsAsyncImageHandling.cpp	Mon May 03 12:46:45 2010 +0300
@@ -27,9 +27,9 @@
 #include "mgsasyncimagehandlingobserver.h"
 #include "GsLogger.h"
 
-#include <CPhCltImageHandler.h>
-#include <CPhCltImageParams.h>
-#include <CPhCltBaseImageParams.h>
+#include <cphcltimagehandler.h>
+#include <cphcltimageparams.h>
+#include <cphcltbaseimageparams.h>
 
 //_LIT( KGSWelcomeNoteImgPath, "c:\\private\\100058ec\\welcomeimage.mbm");
 
--- a/layers.sysdef.xml	Fri Apr 16 15:15:08 2010 +0300
+++ b/layers.sysdef.xml	Mon May 03 12:46:45 2010 +0300
@@ -17,9 +17,9 @@
         <unit unitID="controlpanel" mrp="" bldFile="&layer_real_source_path;/controlpanel" name="controlpanel" proFile="controlpanel.pro" qmakeArgs="-r -config rom"/>
       </module>
     </layer>
-    <layer name="api_test_layer">
-      <module name="controlpanel_api_tests">
-        <unit unitID="presdoe.controlpanel_ui_contants_api" mrp="" bldFile="&layer_real_source_path;/controlpanel/tsrc" name="controlpanel_ui_contants_api" />
+    <layer name="qt_unit_test_layer">
+      <module name="controlpanel_tests">
+        <unit unitID="presdo.controlpanel_ui_contants" mrp="" bldFile="&layer_real_source_path;/controlpanel/tsrc" proFile="tsrc.pro" name="controlpanel_ui_contants" qmakeArgs="-r"/>
       </module>
     </layer>
     
--- a/profilesservices/ProfileEngine/BWINS/PROFILEENGINEU.DEF	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/BWINS/PROFILEENGINEU.DEF	Mon May 03 12:46:45 2010 +0300
@@ -5,4 +5,5 @@
 	?NewEngineLC@ProEngFactory@@SAPAVMProEngEngine@@AAVRFs@@@Z @ 4 NONAME ; class MProEngEngine * ProEngFactory::NewEngineLC(class RFs &)
 	?NewEngineLC@ProEngFactory@@SAPAVMProEngEngine@@XZ @ 5 NONAME ; class MProEngEngine * ProEngFactory::NewEngineLC(void)
 	?NewNotifyHandlerL@ProEngFactory@@SAPAVMProEngNotifyHandler@@XZ @ 6 NONAME ; class MProEngNotifyHandler * ProEngFactory::NewNotifyHandlerL(void)
+	?NewNotifyHandler2L@ProEngFactory2@@SAPAVMProEngNotifyHandler2@@XZ @ 7 NONAME ; class MProEngNotifyHandler2 * ProEngFactory2::NewNotifyHandler2L(void)
 
--- a/profilesservices/ProfileEngine/BWINS/PROFILEENGU.DEF	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/BWINS/PROFILEENGU.DEF	Mon May 03 12:46:45 2010 +0300
@@ -6,4 +6,6 @@
 	?CreateProfileEngineL@@YAPAVMProfileEngine@@PAVRFs@@@Z @ 5 NONAME ; class MProfileEngine * CreateProfileEngineL(class RFs *)
 	?ProfileUtilityInstanceL@@YAAAVMProfileUtilitySingleton@@XZ @ 6 NONAME ; class MProfileUtilitySingleton & ProfileUtilityInstanceL(void)
 	?ReleaseProfileUtility@@YAXXZ @ 7 NONAME ; void ReleaseProfileUtility(void)
+	?CreateProfileEngineExtended2L@@YAPAVMProfileEngineExtended2@@XZ @ 8 NONAME ; class MProfileEngineExtended2 * CreateProfileEngineExtended2L(void)
+	?CreateProfileEngineExtended2L@@YAPAVMProfileEngineExtended2@@PAVRFs@@@Z @ 9 NONAME ; class MProfileEngineExtended2 * CreateProfileEngineExtended2L(class RFs *)
 
--- a/profilesservices/ProfileEngine/EABI/ProfileEngU.DEF	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EABI/ProfileEngU.DEF	Mon May 03 12:46:45 2010 +0300
@@ -6,4 +6,6 @@
 	_Z28CreateProfileEngineExtendedLP3RFs @ 5 NONAME
 	_Z21ReleaseProfileUtilityv @ 6 NONAME
 	_Z23ProfileUtilityInstanceLv @ 7 NONAME
+	_Z29CreateProfileEngineExtended2LP3RFs @ 8 NONAME
+	_Z29CreateProfileEngineExtended2Lv @ 9 NONAME
 
--- a/profilesservices/ProfileEngine/EABI/ProfileEngineU.DEF	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EABI/ProfileEngineU.DEF	Mon May 03 12:46:45 2010 +0300
@@ -5,4 +5,5 @@
 	_ZN13ProEngFactory11NewEngineLCEv @ 4 NONAME
 	_ZN13ProEngFactory17NewNotifyHandlerLEv @ 5 NONAME
 	_ZN13ProEngFactory19NewAlertToneSeekerLEv @ 6 NONAME
+	_ZN14ProEngFactory218NewNotifyHandler2LEv @ 7 NONAME
 
--- a/profilesservices/ProfileEngine/EngInc/ProfileEnginePrivateCRKeys.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngInc/ProfileEnginePrivateCRKeys.h	Mon May 03 12:46:45 2010 +0300
@@ -414,6 +414,20 @@
  */
 const TUint32 KProEngAudioFeedback           = EProfileSettingIdAudioFeedback;
 
+/**
+ * 
+ */
+const TUint32 KProEngReminderTone            = EProfileSettingIdReminderTone;
+
+/**
+ * 
+ */
+const TUint32 KProEngClockAlarmTone          = EProfileSettingIdClockAlarmTone;
+
+/**
+ * 
+ */
+const TUint32 KProEngAlertVibra              = EProfileSettingIdAlertVibra;
 
 /**
  * The id used for storing the default settings for user created profiles.
--- a/profilesservices/ProfileEngine/EngSrc/CProfileEngineImpl.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileEngineImpl.cpp	Mon May 03 12:46:45 2010 +0300
@@ -55,6 +55,9 @@
 #include <psmsettings.h>
 #include <psmsrvdomaincrkeys.h>
 
+#include <MProfileExtraTones2.h>
+#include <MProfileVibraSettings.h>
+
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -237,6 +240,8 @@
 MProfileExtended* CProfileEngineImpl::ProfileLC(
     TInt aId )
     {
+    return Profile2LC( aId );
+    /*
     CProfileImpl* profile = NULL;
 
     iMutex.Wait();
@@ -280,6 +285,7 @@
         }
 
     return profile;
+    */
     }
 
 // -----------------------------------------------------------------------------
@@ -291,9 +297,12 @@
 MProfileExtended* CProfileEngineImpl::ProfileL(
     TInt aId )
     {
+    return Profile2L( aId );
+    /*
     MProfileExtended* profile = ProfileLC( aId );
     CleanupStack::Pop();    // profile
     return profile;
+    */
     }
 
 
@@ -570,7 +579,9 @@
 
            if( profileId == activeId )
                {
-               UpdateActiveProfileSettingsL( aProfile );
+               MProfileExtended2 *activeProfile = Profile2LC(activeId);
+               UpdateActiveProfileSettingsL( *activeProfile );
+               CleanupStack::PopAndDestroy(); // activeProfile
                }
 
            // write settings to Cenrep:
@@ -626,22 +637,44 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CProfileEngineImpl::UpdateActiveProfileSettingsL( MProfile& aProfile,
+void CProfileEngineImpl::UpdateActiveProfileSettingsL( MProfileExtended2& aProfile,
         TBool aSetId )
     {
     const MProfileTones& profileTones = aProfile.ProfileTones();
+    const MProfileExtraTones2& profileExtraTones = aProfile.ProfileExtraTones2();
     const MProfileName& profileName = aProfile.ProfileName();
     const TProfileToneSettings& settings = profileTones.ToneSettings();
+   // const MProfileVibraSettings &vibraSettings = aProfile.ProfileVibraSettings();
 
     // These cannot fail because this method is called only in between
     // StartTransaction() and CommitTransaction() calls (except vibra)
     iCenRep->Set( KProEngActiveRingingType, settings.iRingingType );
-    iCenRep->Set( KProEngActiveRingingVolume, settings.iRingingVolume );
+   
+    //Removed. only master volue used
+    // iCenRep->Set( KProEngActiveRingingVolume, settings.iRingingVolume );
     iCenRep->Set( KProEngActiveMessageAlert, !( aProfile.IsSilent() ) );
+    
+    //Since 10.1
+    iCenRep->Set( KProEngActiveRingTone,profileTones.RingingTone1() );
+    iCenRep->Set( KProEngActiveMessageTone,profileTones.MessageAlertTone() );
+    iCenRep->Set( KProEngActiveReminderTone,profileExtraTones.ReminderTone() );
+    iCenRep->Set( KProEngActiveClockAlarmTone,profileExtraTones.ClockAlarmTone() );
+    
+    /*
+    if ( MasterVibraL() )
+        {
+        iCenRep->Set( KProEngActiveAlertVibra,vibraSettings.AlertVibra() );
+        }
+    else
+        {
+        iCenRep->Set( KProEngActiveAlertVibra,0 );
+        }
+    */
+    
     if ( !PowerSaveMode() )
         {
     User::LeaveIfError( iVibraCenRep->Set(
-            KVibraCtrlProfileVibraEnabled, settings.iVibratingAlert ) );
+            KVibraCtrlProfileVibraEnabled, /*vibraSettings.AlertVibra() != 0 &&*/ MasterVibraL() ) );
 
 #ifdef RD_TACTILE_FEEDBACK
 	const MProfileExtraSettings& extraSettings = aProfile.ProfileExtraSettings();
@@ -720,7 +753,8 @@
         CleanupStack::Pop();    // nameImpl
         }
 
-    ReadDynamicProfilesNamesL( aProfilesNames, *profileName );
+    // Since 10.1, No dynamic profiles in TB 10.1
+ //   ReadDynamicProfilesNamesL( aProfilesNames, *profileName );
     CleanupStack::PopAndDestroy();  // profileName
     }
 
@@ -733,7 +767,7 @@
 void CProfileEngineImpl::DoSetActiveProfileL(
     TInt aId, TTime* aTime )
     {
-    MProfileExtended* profile = ProfileLC( aId );
+    MProfileExtended2* profile = Profile2LC( aId );
 
     User::LeaveIfError( iCenRep->StartTransaction(
             CRepository::EReadWriteTransaction ) );
@@ -938,6 +972,17 @@
     }
 
 // -----------------------------------------------------------------------------
+// CreateProfileEngineExtendedL create profiles engine and
+// return internal interface of the profiles engine
+// Returns: Profiles Engine internal interface
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MProfileEngineExtended2* CreateProfileEngineExtended2L()
+    {
+    return CProfileEngineImpl::NewL();
+    }
+
+// -----------------------------------------------------------------------------
 // CreateProfileEngineL create profiles engine and return public interface
 // of the profiles engine.
 // Returns: Profiles Engine public interface
@@ -959,6 +1004,16 @@
     return CProfileEngineImpl::NewL( aFs );
     }
 
+// -----------------------------------------------------------------------------
+// CreateProfileEngineExtendedL create profiles engine and
+// return internal interface of the profiles engine
+// Returns: Profiles Engine internal interface
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MProfileEngineExtended2* CreateProfileEngineExtended2L( RFs* aFs )
+    {
+    return CProfileEngineImpl::NewL( aFs );
+    }
 
 // -----------------------------------------------------------------------------
 // CProfileEngineImpl::PowerSaveMode
@@ -1013,4 +1068,179 @@
     }
 
 
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::Profile2LC
+//
+// -----------------------------------------------------------------------------
+//
+MProfileExtended2* CProfileEngineImpl::Profile2LC( TInt aId )
+    {
+    CProfileImpl* profile = NULL;
+
+    iMutex.Wait();
+    TInt err( CheckProfileIdL( aId ) );
+
+    if( !err )
+        {
+        TRAP( err, profile = GetProfileL( aId ) );
+        }
+    iMutex.Signal();
+
+    User::LeaveIfError( err );
+
+    CleanupStack::PushL( profile );
+
+    if( iSideVolumeKeys )
+        {
+        // Because SetTemp*VolumeL() functions update only Shared Data those
+        // values must be read from SD and set to the MProfile instance
+        // returned to the caller:
+        TInt activeId( User::LeaveIfError( ActiveProfileId() ) );
+        if( activeId == aId )
+            {
+            TProfileToneSettings& settings =
+                    profile->ProfileSetTones().SetToneSettings();
+            settings.iRingingVolume = TempRingingVolumeL();
+            settings.iMediaVolume = TempMediaVolumeL();
+            }
+        }
+
+    if( !profile->IsProfileNameChanged() )
+        {
+        if( IsDefaultProfile( aId ) )
+            {
+            profile->SetLocalizedProfileNameL( *iProfileLocalisedNames );
+            }
+        else
+            {
+            SetLocalizedNameForDynamicProfileL( *profile );
+            }
+        }
+
+    return profile;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::Profile2L
+//
+// -----------------------------------------------------------------------------
+//
+MProfileExtended2* CProfileEngineImpl::Profile2L( TInt aId )
+    {
+    MProfileExtended2* profile = Profile2LC( aId );
+    CleanupStack::Pop();    // profile
+    return profile;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::CommitChange2L
+//
+// -----------------------------------------------------------------------------
+//
+void CProfileEngineImpl::CommitChange2L( MProfileExtended2& aProfile )
+    {
+    CommitChangeL (aProfile);
+    }
+
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::MasterVolumeL
+//
+// -----------------------------------------------------------------------------
+//
+TInt CProfileEngineImpl::MasterVolumeL() const
+    {
+    TInt masterVolume( 0 );
+    User::LeaveIfError( iCenRep->Get( KProEngMasterVolume, masterVolume ) );
+    return masterVolume;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::SetMasterVolumeL
+//
+// -----------------------------------------------------------------------------
+//
+void CProfileEngineImpl::SetMasterVolumeL( TInt aMasterVolume )
+    {
+    User::LeaveIfError( iCenRep->Set( KProEngMasterVolume, aMasterVolume ) );
+    User::LeaveIfError( iCenRep->Set( KProEngActiveRingingVolume, aMasterVolume ) );
+    
+    //Send event through P&S
+    CreatePubSubKeysIfNeededL();
+    PublishChangeL( KProEngActiveProfileModified );
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::MasterVibraL
+//
+// -----------------------------------------------------------------------------
+//
+TBool CProfileEngineImpl::MasterVibraL() const
+    {
+    TInt masterVibra( 0 );
+    User::LeaveIfError( iCenRep->Get( KProEngMasterVibra, masterVibra ) );
+    return ( masterVibra != 0 );
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::SetMasterVibraL
+//
+// -----------------------------------------------------------------------------
+//
+void CProfileEngineImpl::SetMasterVibraL( TBool aMasterVibra )
+    {
+    User::LeaveIfError( iCenRep->Set( KProEngMasterVibra, aMasterVibra ? 1 : 0 ) );
+    User::LeaveIfError ( iCenRep->Set( KProEngActiveAlertVibra, aMasterVibra ? 1 : 0 ) );
+    
+    /*
+    MProfileExtended2* activeProfile = Profile2LC( ActiveProfileId() );
+    const MProfileVibraSettings &vibraSettings = activeProfile->ProfileVibraSettings();
+    if (activeProfile)
+        {
+        if (aMasterVibra)
+            {
+            iCenRep->Set( KProEngActiveAlertVibra,vibraSettings.AlertVibra() );
+            }
+        else
+            {
+            iCenRep->Set( KProEngActiveAlertVibra, 0 );
+            }        
+        }
+    CleanupStack::PopAndDestroy(); // activeProfile
+    */
+            
+    if ( !PowerSaveMode() )
+        {
+        User::LeaveIfError( iVibraCenRep->Set(
+                KVibraCtrlProfileVibraEnabled, aMasterVibra ? 1 : 0) );
+        }
+    
+    //Send event through P&S
+    CreatePubSubKeysIfNeededL();
+    PublishChangeL( KProEngActiveProfileModified );
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::SilenceModeL
+//
+// -----------------------------------------------------------------------------
+//
+TBool CProfileEngineImpl::SilenceModeL() const
+    {
+    TInt silenceMode( 0 );
+    User::LeaveIfError( iCenRep->Get( KProEngSilenceMode, silenceMode ) );
+    return ( silenceMode != 0 );
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileEngineImpl::SetSilenceModeL
+//
+// -----------------------------------------------------------------------------
+//
+void CProfileEngineImpl::SetSilenceModeL( TBool aSilenceMode )
+    {
+    User::LeaveIfError( iCenRep->Set( KProEngSilenceMode, aSilenceMode ? 1 : 0 ) );
+    }
+
 //  End of File
--- a/profilesservices/ProfileEngine/EngSrc/CProfileEngineImpl.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileEngineImpl.h	Mon May 03 12:46:45 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32property.h>
 #include <f32file.h>            // RFs
 #include <Profile.hrh>          // TProfileRingingVolume 
-#include <MProfileEngineExtended.h> // MProfileEngineExtended
+#include <MProfileEngineExtended2.h> // MProfileEngineExtended2
 #include <MProfileExtended.h> // MProfileExtended
 
 // FORWARD DECLARATIONS
@@ -46,7 +46,7 @@
 *  @since 2.0
 */
 NONSHARABLE_CLASS(CProfileEngineImpl) : public CBase,
-                           public MProfileEngineExtended
+                           public MProfileEngineExtended2
     {
     public:  // Constructors and destructor
 
@@ -186,9 +186,56 @@
         TBool IsActiveProfileTimedL();
 
         /**
-        * From MProfileEngineExtended.
+        * From MProfileEngineExtended2.
         */
         void SetActiveProfileTimedL( TInt aId, TTime aTime );
+        
+        
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual MProfileExtended2* Profile2LC( TInt aId );
+
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual MProfileExtended2* Profile2L( TInt aId );
+
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual void CommitChange2L( MProfileExtended2& aProfile );
+        
+        
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual TInt MasterVolumeL() const;
+        
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual void SetMasterVolumeL( TInt aMasterVolume );
+        
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual TBool MasterVibraL() const;
+        
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual void SetMasterVibraL( TBool aMasterVibra );
+        
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual TBool SilenceModeL() const;
+        
+        /**
+        * From MProfileEngineExtended2.
+        */
+        virtual void SetSilenceModeL( TBool aSilenceMode );
 
     protected:  // New functions
 
@@ -229,7 +276,7 @@
         * @param aSetId sets the id of the active profile to Central Repository
         * only if this is ETrue
         */
-        void UpdateActiveProfileSettingsL( MProfile& aProfile,
+        void UpdateActiveProfileSettingsL( MProfileExtended2& aProfile,
                                            TBool aSetId = EFalse );
 
         /**
--- a/profilesservices/ProfileEngine/EngSrc/CProfileExtraTonesImpl.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileExtraTonesImpl.cpp	Mon May 03 12:46:45 2010 +0300
@@ -37,6 +37,8 @@
     iIMMessageAlertTone = KNullDesC().AllocL();
     iEmailAlertTone = KNullDesC().AllocL();
     iVideoCallRingingTone = KNullDesC().AllocL();
+    iReminderTone = KNullDesC().AllocL();
+    iClockAlarmTone = KNullDesC().AllocL();
     }
 
 // -----------------------------------------------------------------------------
@@ -45,12 +47,14 @@
 // -----------------------------------------------------------------------------
 //
 void CProfileExtraTonesImpl::ConstructL(
-    const MProfileExtraTones& aProfileExtraTones )
+    const MProfileExtraTones2& aProfileExtraTones )
     {
     iIMMessageAlertTone = aProfileExtraTones.IMMessageAlertTone().AllocL();
     iEmailAlertTone = aProfileExtraTones.EmailAlertTone().AllocL();
     iVideoCallRingingTone =
         aProfileExtraTones.VideoCallRingingTone().AllocL();
+    iReminderTone = aProfileExtraTones.ReminderTone().AllocL();
+    iClockAlarmTone = aProfileExtraTones.ClockAlarmTone().AllocL();
     }
 
 // -----------------------------------------------------------------------------
@@ -75,7 +79,7 @@
 // -----------------------------------------------------------------------------
 //
 CProfileExtraTonesImpl* CProfileExtraTonesImpl::NewL(
-    const MProfileExtraTones& aProfileExtraTones )
+    const MProfileExtraTones2& aProfileExtraTones )
     {
     CProfileExtraTonesImpl* self = new( ELeave ) CProfileExtraTonesImpl;
 
@@ -93,6 +97,8 @@
     delete iIMMessageAlertTone;
     delete iEmailAlertTone;
     delete iVideoCallRingingTone;
+    delete iReminderTone;
+    delete iClockAlarmTone;
     }
 
 
@@ -133,6 +139,24 @@
             aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngVideoCallTone,
             aProfileId ), toneFile ) );
     iVideoCallRingingTone = toneFile.AllocL();
+    
+    delete iReminderTone;
+    iReminderTone = NULL;
+    
+    // Reminder tone
+    User::LeaveIfError(
+            aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngReminderTone,
+            aProfileId ), toneFile ) );
+    iReminderTone = toneFile.AllocL();
+    
+    delete iClockAlarmTone;
+    iClockAlarmTone = NULL;
+    
+    // Clock alarm tone
+    User::LeaveIfError(
+            aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngClockAlarmTone,
+            aProfileId ), toneFile ) );
+    iClockAlarmTone = toneFile.AllocL();
     }
 
 // -----------------------------------------------------------------------------
@@ -158,6 +182,16 @@
     User::LeaveIfError(
             aCenRep.Set( ProfileEngUtils::ResolveKey( KProEngVideoCallTone,
             aProfileId ), *iVideoCallRingingTone ) );
+    
+    // Reminder Tone
+    User::LeaveIfError(
+            aCenRep.Set( ProfileEngUtils::ResolveKey( KProEngReminderTone,
+            aProfileId ), *iReminderTone ) );
+    
+    // Clock Alarm Tone
+    User::LeaveIfError(
+            aCenRep.Set( ProfileEngUtils::ResolveKey( KProEngClockAlarmTone,
+            aProfileId ), *iClockAlarmTone ) );
     }
 
 // -----------------------------------------------------------------------------
@@ -235,4 +269,56 @@
     iVideoCallRingingTone = tmp;
     }
 
+
+
+// -----------------------------------------------------------------------------
+// CProfileExtraTonesImpl::ReminderTone
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC& CProfileExtraTonesImpl::ReminderTone() const
+    {
+    return *iReminderTone;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileExtraTonesImpl::SetReminderToneL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CProfileExtraTonesImpl::SetReminderToneL( 
+        const TDesC& aReminderTone )
+    {
+    HBufC* tmp = aReminderTone.Left( KMaxFileName ).AllocL();
+    delete iReminderTone;
+    iReminderTone = tmp;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileExtraTonesImpl::ClockAlarmTone
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC& CProfileExtraTonesImpl::ClockAlarmTone() const
+    {
+    return *iClockAlarmTone;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileExtraTonesImpl::SetClockAlarmToneL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CProfileExtraTonesImpl::SetClockAlarmToneL( 
+        const TDesC& aClockAlarmTone )
+    {
+    HBufC* tmp = aClockAlarmTone.Left( KMaxFileName ).AllocL();
+    delete iClockAlarmTone;
+    iClockAlarmTone = tmp;    
+    }
+
 //  End of File
--- a/profilesservices/ProfileEngine/EngSrc/CProfileExtraTonesImpl.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileExtraTonesImpl.h	Mon May 03 12:46:45 2010 +0300
@@ -22,8 +22,8 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <MProfileExtraTones.h>
-#include <MProfileSetExtraTones.h>
+#include <MProfileExtraTones2.h>
+#include <MProfileSetExtraTones2.h>
 
 // FORWARD DECLARATIONS
 class RWriteStream;
@@ -38,8 +38,8 @@
 *  @since 2.0
 */
 NONSHARABLE_CLASS(CProfileExtraTonesImpl) : public CBase,
-                               public MProfileExtraTones,
-                               public MProfileSetExtraTones
+                               public MProfileExtraTones2,
+                               public MProfileSetExtraTones2
     {
     public:  // Constructors and destructor
 
@@ -53,7 +53,7 @@
         * @param aProfileExtraTones Profile extra tones
         */
         static CProfileExtraTonesImpl* NewL(
-            const MProfileExtraTones& aProfileExtraTones );
+            const MProfileExtraTones2& aProfileExtraTones );
 
         /**
         * Destructor.
@@ -111,6 +111,28 @@
         */
         virtual void SetVideoCallRingingToneL(
             const TDesC& aRingingTone );
+        
+        /**
+        * From MProfileExtraTones2.
+        */
+        virtual const TDesC& ReminderTone() const;
+               
+        /**
+        * From MProfileSetExtraTones2.
+        */
+        virtual void SetReminderToneL( 
+                const TDesC& aReminderTone );
+        
+        /**
+        * From MProfileExtraTones2.
+        */
+        virtual const TDesC& ClockAlarmTone() const;
+        
+        /**
+        * From MProfileSetExtraTones2.
+        */
+        virtual void SetClockAlarmToneL( 
+                const TDesC& aClockAlarmTone );
 
     private:
 
@@ -123,7 +145,7 @@
         * By default Symbian 2nd phase constructor is private.
         * @param aProfileExtraTones Profile extra tones
         */
-        void ConstructL( const MProfileExtraTones& aProfileExtraTones );
+        void ConstructL( const MProfileExtraTones2& aProfileExtraTones );
 
     private:    // Data
 
@@ -135,6 +157,12 @@
 
         // Own: Video call ringing tone file name
         HBufC* iVideoCallRingingTone;
+        
+        //Own: Reminder tone file name
+        HBufC* iReminderTone;
+        
+        //Own: Clock alarm tone file name
+        HBufC* iClockAlarmTone;
     };
 
 #endif      // __CPROFILEEXTRATONESIMPL_H
--- a/profilesservices/ProfileEngine/EngSrc/CProfileImpl.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileImpl.cpp	Mon May 03 12:46:45 2010 +0300
@@ -34,12 +34,13 @@
 #include <MProfilePttSettings.h>
 #include <featmgr.h>
 #include <bldvariant.hrh>
-#include <RSSSettings.h>
+#include <rsssettings.h>
 #include <pathinfo.h>
 #include <MProfilesLocalFeatures.h>
 #include <MProfileUtilitySingleton.h>
 #include <ProfilesVariant.hrh>
 #include <ProfileEngineDomainConstants.h>
+#include "CProfileVibraSettingsImpl.h"
 
 // CONSTANTS
 // Max. number of Alert for groups:
@@ -77,6 +78,7 @@
     // ProfileUtility must be released in destructor:
     iFeatures = &( ProfileUtilityInstanceL().ProfilesLocalFeatures() );
     iProfileExtraSettings = CProfileExtraSettingsImpl::NewL();
+    iProfileVibraSettings = CProfileVibraSettingsImpl::NewL();
     }
 
 // -----------------------------------------------------------------------------
@@ -85,7 +87,7 @@
 // -----------------------------------------------------------------------------
 //
 void CProfileImpl::ConstructL(
-    const MProfileExtended& aProfile,
+    const MProfileExtended2& aProfile,
     TInt aId )
     {
     iProfileName = CProfileNameImpl::NewLC( aId, KNullDesC );
@@ -93,7 +95,7 @@
     CommonConstructL();
     iProfileTones = CProfileTonesImpl::NewL( aProfile.ProfileTones() );
     iProfileExtraTones = CProfileExtraTonesImpl::NewL(
-        aProfile.ProfileExtraTones() );
+        aProfile.ProfileExtraTones2() );
 
     iFeatures = &( ProfileUtilityInstanceL().ProfilesLocalFeatures() );
 
@@ -102,6 +104,9 @@
         aProfile.ProfilePresence() );
     iVisibleFlags = aProfile.VisibleFlags();
     iModifiableFlags = aProfile.ModifiableFlags();
+    
+    iProfileVibraSettings = CProfileVibraSettingsImpl::NewL();
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -141,7 +146,7 @@
 //
 CProfileImpl* CProfileImpl::NewLC(
     RFs& aFs,
-    const MProfileExtended& aProfile,
+    const MProfileExtended2& aProfile,
     TInt aId )
     {
     CProfileImpl* self = new( ELeave ) CProfileImpl( aFs );
@@ -169,6 +174,8 @@
     delete iProfileTones;
     delete iProfileExtraTones;
     delete iProfilePresence;
+    
+    delete iProfileVibraSettings;
     }
 
 // -----------------------------------------------------------------------------
@@ -482,6 +489,8 @@
 
     iProfilePresence->InternalizeL( aCenRep, aProfileId );
     iProfileExtraSettings->InternalizeL( aCenRep, aProfileId );
+    
+    iProfileVibraSettings->InternalizeL( aCenRep, aProfileId );
     }
 
 void CProfileImpl::ExternalizeL( CRepository& aCenRep )
@@ -518,6 +527,8 @@
     iProfileExtraTones->ExternalizeL( aCenRep, profileId );
     iProfilePresence->ExternalizeL( aCenRep, profileId );
     iProfileExtraSettings->ExternalizeL( aCenRep, profileId );
+    
+    iProfileVibraSettings->ExternalizeL(  aCenRep, profileId );
     }
 
 // -----------------------------------------------------------------------------
@@ -565,4 +576,49 @@
     FeatureManager::UnInitializeLib();
     }
 
+
+// -----------------------------------------------------------------------------
+// CProfileImpl::ProfileExtraTones2
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const MProfileExtraTones2& CProfileImpl::ProfileExtraTones2() const 
+    {
+    return *iProfileExtraTones;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileImpl::ProfileSetExtraTones2
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+MProfileSetExtraTones2& CProfileImpl::ProfileSetExtraTones2() 
+    {
+    return *iProfileExtraTones;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileImpl::ProfileVibraSettings
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const MProfileVibraSettings& CProfileImpl::ProfileVibraSettings() const
+    {
+    return  *iProfileVibraSettings;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileImpl::ProfileSetVibraSettings
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+MProfileSetVibraSettings& CProfileImpl::ProfileSetVibraSettings()
+    {
+    return *iProfileVibraSettings;
+    }
+
 //  End of File
--- a/profilesservices/ProfileEngine/EngSrc/CProfileImpl.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileImpl.h	Mon May 03 12:46:45 2010 +0300
@@ -22,7 +22,7 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <MProfileExtended.h>
+#include <MProfileExtended2.h>
 #include <centralrepository.h> // NCentralRepositoryConstants::KMaxBinaryLength
 
 // CONSTANTS
@@ -40,6 +40,7 @@
 class MProfilesNamesArray;
 class MProfilesLocalFeatures;
 struct TProfilePresenceSettings;
+class CProfileVibraSettingsImpl;
 
 // CLASS DECLARATION
 
@@ -50,7 +51,7 @@
 *  @since 2.0
 */
 NONSHARABLE_CLASS(CProfileImpl) : public CBase,
-                     public MProfileExtended
+                     public MProfileExtended2
     {
     public:  // Constructors and destructor
 
@@ -73,7 +74,7 @@
         * @param aId Profile ID
         */
         static CProfileImpl* NewLC(
-            RFs& aFs, const MProfileExtended& aProfile, TInt aId );
+            RFs& aFs, const MProfileExtended2& aProfile, TInt aId );
 
         /**
         * Destructor.
@@ -197,6 +198,27 @@
         * From MProfileExtended.
         */
         virtual MProfileSetExtraSettings& ProfileSetExtraSettings() const;
+        
+        
+        /**
+        * From MProfileExtended2.
+        */
+        virtual const MProfileExtraTones2& ProfileExtraTones2() const;
+        
+        /**
+        * From MProfileExtended2.
+        */
+        virtual MProfileSetExtraTones2& ProfileSetExtraTones2();
+        
+        /**
+        * From MProfileExtended2.
+        */
+        virtual const MProfileVibraSettings& ProfileVibraSettings() const;
+        
+        /**
+        * From MProfileExtended2.
+        */
+        virtual MProfileSetVibraSettings& ProfileSetVibraSettings();
 
         /**
         * Externalize data to Central Repository.
@@ -223,7 +245,7 @@
         * @param aProfile Profile settings
         * @param aId Profile ID
         */
-        void ConstructL( const MProfileExtended& aProfile, TInt aId );
+        void ConstructL( const MProfileExtended2& aProfile, TInt aId );
 
         /**
          * This method does the common part of the construction.
@@ -249,6 +271,9 @@
 
         // Own: Profile presence settings implementation
         CProfilePresenceImpl* iProfilePresence;
+        
+        // Own: Profile vibra settings implementation
+        CProfileVibraSettingsImpl *iProfileVibraSettings;
 
         // Own: Profile modifiable flags
         TUint32 iModifiableFlags;
--- a/profilesservices/ProfileEngine/EngSrc/CProfileTonesImpl.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileTonesImpl.cpp	Mon May 03 12:46:45 2010 +0300
@@ -28,6 +28,7 @@
 
 #include <psmsettings.h>
 #include <psmsrvdomaincrkeys.h>
+#include <ProfileEngineInternalCRKeys.h>
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -144,12 +145,27 @@
             aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngKeypadVolume,
             aProfileId ), value ) );
     iProfileToneSettings.iKeypadVolume = TProfileKeypadVolume( value );
-    User::LeaveIfError(
+ /* 
+  *   User::LeaveIfError(
             aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngRingingVolume,
             aProfileId ), iProfileToneSettings.iRingingVolume ) );
+     */
+    
+    //Only master volume used.
+    User::LeaveIfError(
+            aCenRep.Get( KProEngMasterVolume , iProfileToneSettings.iRingingVolume ) );
+    
+    
+    /*
     User::LeaveIfError(
             aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngVibra,
             aProfileId ), iProfileToneSettings.iVibratingAlert ) );
+    */
+    
+    //Only master vibra used
+    User::LeaveIfError(
+            aCenRep.Get( KProEngMasterVibra, iProfileToneSettings.iVibratingAlert ) );
+            
     User::LeaveIfError(
             aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngWarnAndGameTones,
             aProfileId ), iProfileToneSettings.iWarningAndGameTones ) );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileVibraSettingsImpl.cpp	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,265 @@
+/*
+* Copyright (c) 2002 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:  Profile PTT settings implementation.
+*
+*/
+
+#include "CProfileVibraSettingsImpl.h"
+#include "ProfileEngUtils.h"
+#include "ProfileEnginePrivateCRKeys.h"
+
+#include <ProfileInternal.hrh>
+#include <centralrepository.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+//Default Constructor
+CProfileVibraSettingsImpl::CProfileVibraSettingsImpl() : iAlertVibra( 0 )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileTonesImpl::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CProfileVibraSettingsImpl::ConstructL()
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CProfilePresenceImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CProfileVibraSettingsImpl *CProfileVibraSettingsImpl::NewL()
+    {
+    CProfileVibraSettingsImpl* self = new( ELeave ) CProfileVibraSettingsImpl;
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+    }
+
+// Destructor
+CProfileVibraSettingsImpl::~CProfileVibraSettingsImpl()
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::InternalizeL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CProfileVibraSettingsImpl::InternalizeL( CRepository& aCenRep,
+                                           TInt aProfileId )
+    {
+    User::LeaveIfError(
+            aCenRep.Get( ProfileEngUtils::ResolveKey( KProEngAlertVibra,
+            aProfileId ), iAlertVibra) );
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::ExternalizeL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CProfileVibraSettingsImpl::ExternalizeL( CRepository& aCenRep,
+                                           TInt aProfileId ) const
+    {
+    User::LeaveIfError(
+            aCenRep.Set( ProfileEngUtils::ResolveKey( KProEngAlertVibra,
+            aProfileId ), iAlertVibra ) );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::AlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CProfileVibraSettingsImpl::AlertVibra() const
+    {
+    return iAlertVibra;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::RingAlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CProfileVibraSettingsImpl::RingAlertVibra() const
+    {
+    return iAlertVibra & EProfileRingAlertVibra;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::MessageAlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+TBool CProfileVibraSettingsImpl::MessageAlertVibra() const
+    {
+    return iAlertVibra & EProfileMessageAlertVibra;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::EmailAlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+TBool CProfileVibraSettingsImpl::EmailAlertVibra() const
+    {
+    return iAlertVibra & EProfileEmailAlertVibra;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::ReminderAlarmVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+TBool CProfileVibraSettingsImpl::ReminderAlarmVibra() const
+    {
+    return iAlertVibra & EProfileReminderAlarmVibra;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::InformationVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+TBool CProfileVibraSettingsImpl::InformationVibra() const
+    {
+    return iAlertVibra & EProfileInformationVibra;
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::SetAlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+void CProfileVibraSettingsImpl::SetAlertVibra(TInt aAlertVibra)
+    {
+    iAlertVibra = aAlertVibra;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::SetRingAlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+void CProfileVibraSettingsImpl::SetRingAlertVibra(TBool aRingAlertVibra)
+    {
+    if ( aRingAlertVibra )
+        {
+        iAlertVibra |= EProfileRingAlertVibra;
+        }
+    else
+        {
+        iAlertVibra &= ~EProfileRingAlertVibra;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::SetMessageAlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+void CProfileVibraSettingsImpl::SetMessageAlertVibra(TBool aMessageAlertVibra)
+    {
+    if ( aMessageAlertVibra )
+        {
+        iAlertVibra |= EProfileMessageAlertVibra;
+        }
+    else
+        {
+        iAlertVibra &= ~EProfileMessageAlertVibra;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::SetEmailAlertVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+void CProfileVibraSettingsImpl::SetEmailAlertVibra(TBool aEmailAlertVibra)
+    {
+    if ( aEmailAlertVibra )
+        {
+        iAlertVibra |= EProfileEmailAlertVibra;
+        }
+    else
+        {
+        iAlertVibra &= ~EProfileEmailAlertVibra;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::SetReminderAlarmVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+void CProfileVibraSettingsImpl::SetReminderAlarmVibra(TBool aReminderAlarmVibra)
+    {
+    if ( aReminderAlarmVibra )
+        {
+        iAlertVibra |= EProfileReminderAlarmVibra;
+        }
+    else
+        {
+        iAlertVibra &= ~EProfileReminderAlarmVibra;
+        }   
+    }
+
+// -----------------------------------------------------------------------------
+// CProfileVibraSettingsImpl::SetInformationVibra
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+// 
+void CProfileVibraSettingsImpl::SetInformationVibra(TBool aInformationVibra)
+    {
+    if ( aInformationVibra )
+        {
+        iAlertVibra |= EProfileInformationVibra;
+        }
+    else
+        {
+        iAlertVibra &= ~EProfileInformationVibra;
+        }   
+    }
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/EngSrc/CProfileVibraSettingsImpl.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2002 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:  Profile PTT settings implementation.
+*
+*/
+
+
+
+#ifndef __CPROFILEVIBRASETTINGSIMPL_H
+#define __CPROFILEVIBRASETTINGSIMPL_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <MProfileVibraSettings.h>
+#include <MProfileSetVibraSettings.h>
+
+// CLASS DECLARATION
+
+class CRepository;
+
+/**
+*  Profile vibra settings implementation.
+*
+*  @lib ?library
+*  @since 10.1
+*/
+NONSHARABLE_CLASS(CProfileVibraSettingsImpl) : public CBase,
+                               public MProfileVibraSettings,
+                               public MProfileSetVibraSettings
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CProfileVibraSettingsImpl* NewL();
+
+        /**
+        * Constructor.
+        */
+        CProfileVibraSettingsImpl();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CProfileVibraSettingsImpl();
+
+    public: // New functions
+
+        /**
+        * Internalize data from the central repository.
+        * @since 3.0
+        * @param aCenRep Central Repository object to read the settings
+        * @param aProfileId the id of the profile to be internalized
+        */
+        void InternalizeL( CRepository& aCenRep, TInt aProfileId );
+
+        /**
+        * Externalize data to Central Repository.
+        * @since 3.0
+        * @param aCenRep Central Repository object to write the settings
+        */
+        void ExternalizeL( CRepository& aCenRep, TInt aProfileId ) const;
+
+    public: // Functions from base classes
+
+        /**
+        * From MProfileVibraSettings
+        */
+        virtual TInt AlertVibra() const;
+        
+        /**
+        * From MProfileVibraSettings
+        */
+        virtual TBool RingAlertVibra() const;
+        
+        /**
+        * From MProfileVibraSettings
+        */  
+        virtual TBool MessageAlertVibra() const;
+        
+        /**
+        * From MProfileVibraSettings
+        */
+        virtual TBool EmailAlertVibra() const;
+        
+        /**
+        * From MProfileVibraSettings
+        */
+        virtual TBool ReminderAlarmVibra() const;
+        
+        /**
+        * From MProfileVibraSettings
+        */
+        virtual TBool InformationVibra() const;
+        
+        
+        /**
+        * From MProfileSetVibraSettings
+        */
+        virtual void SetAlertVibra(TInt aAlertVibra);
+        
+        /**
+        * From MProfileSetVibraSettings
+        */
+        virtual void SetRingAlertVibra(TBool aRingAlertVibra);
+        
+        /**
+        * From MProfileSetVibraSettings
+        */  
+        virtual void SetMessageAlertVibra(TBool aMessageAlertVibra);
+        
+        /**
+        * From MProfileSetVibraSettings
+        */
+        virtual void SetEmailAlertVibra(TBool aEmailAlertVibra);
+        
+        /**
+        * From MProfileSetVibraSettings
+        */
+        virtual void SetReminderAlarmVibra(TBool aReminderAlarmVibra);
+        
+        /**
+        * From MProfileSetVibraSettings
+        */
+        virtual void SetInformationVibra(TBool aInformationVibra);
+
+    private:
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+    private: // Data
+
+        TInt iAlertVibra;
+
+    };
+
+#endif //__CPROFILEVIBRASETTINGSIMPL_H
+
+//End of File
--- a/profilesservices/ProfileEngine/EngSrc/ProfileEngUtils.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/EngSrc/ProfileEngUtils.cpp	Mon May 03 12:46:45 2010 +0300
@@ -21,7 +21,7 @@
 #include "ProfileEngUtils.h"
 #include "CProfileEngineImpl.h"
 #include <ProfileEngineConstants.h>
-#include <RSSSettings.h>
+#include <rsssettings.h>
 #include <centralrepository.h>
 #include <bldvariant.hrh>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/WrapperSrc/CProEngActiveSettingsEventDelegate.cpp	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* 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:  Implementation of CProEngActiveSettingsEventDelegate
+*
+*/
+
+
+
+// INCLUDE FILES
+#include    "CProEngActiveSettingsEventDelegate.h"
+#include    <MProEngActiveSettingsObserver.h>
+
+namespace
+    {
+    // CONSTANTS
+    const TInt KProEngActiveId( 0x7E000000 );
+    const TUint32 KProEngProfileIdMask( 0xFF000000 );
+    }
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CProEngActiveSettingsEventDelegate::CProEngActiveSettingsEventDelegate
+// -----------------------------------------------------------------------------
+//
+CProEngActiveSettingsEventDelegate::CProEngActiveSettingsEventDelegate(
+        TUint32 aPartialCenRepKey,
+        TUint32 aKeyMask,
+        MProEngActiveSettingsObserver& aObserver )
+    : CProEngCenRepObserverBase( aPartialCenRepKey, aKeyMask ),
+      iObserver( aObserver )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngActiveSettingsEventDelegate::NewL
+// -----------------------------------------------------------------------------
+//
+CProEngActiveSettingsEventDelegate* CProEngActiveSettingsEventDelegate::NewL(
+          MProEngActiveSettingsObserver& aObserver )
+    {
+    CProEngActiveSettingsEventDelegate* self = new ( ELeave )
+        CProEngActiveSettingsEventDelegate( KProEngActiveId,
+                                     KProEngProfileIdMask, aObserver );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngActiveSettingsEventDelegate::NotifyObserverL
+// -----------------------------------------------------------------------------
+//
+void CProEngActiveSettingsEventDelegate::NotifyObserverL()
+    {
+    iObserver.HandleActiveSettingsModifiedL( );
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngActiveSettingsEventDelegate::NotifyError
+// -----------------------------------------------------------------------------
+//
+void CProEngActiveSettingsEventDelegate::NotifyError( TInt aError )
+    {
+    iObserver.HandleActiveSettingsNotificationError( aError );
+    }
+
+//  End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/WrapperSrc/CProEngActiveSettingsEventDelegate.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* 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:  Delegate notifications about active settings modifications
+*               to the observer.
+*
+*/
+
+
+
+#ifndef CPROENGACTIVESETTINGSEVENTDELEGATE_H
+#define CPROENGACTIVESETTINGSEVENTDELEGATE_H
+
+// INCLUDES
+#include "CProEngCenRepObserverBase.h"
+
+// FORWARD DECLARATIONS
+class MProEngActiveSettingsObserver;
+
+// CLASS DECLARATION
+
+/**
+* This class delegates notifications about active profile settings modifications to the observer
+* implemented by the client of Profiles Engine Wrapper API. This is a helper
+* class for CProEngNotifyHandlerImpl.
+*
+*  @lib ProfileEngine.lib
+*  @since 10.1
+*/
+NONSHARABLE_CLASS( CProEngActiveSettingsEventDelegate )
+    : public CProEngCenRepObserverBase
+    {
+    public:  // constructor and destructor
+
+        static CProEngActiveSettingsEventDelegate* NewL(
+                MProEngActiveSettingsObserver& aObserver );
+
+        virtual ~CProEngActiveSettingsEventDelegate() {};
+
+    public: // Functions from base classes
+
+        /**
+         * From CProEngObserverBase.
+         */
+        void NotifyObserverL();
+
+        /**
+         * From CProEngObserverBase.
+         */
+        void NotifyError( TInt aError );
+
+
+    public: // New functions
+
+    private:  // constructor
+
+        CProEngActiveSettingsEventDelegate( TUint32 aPartialCenRepKey,
+                                            TUint32 aKeyMask,
+                                            MProEngActiveSettingsObserver& aObserver );
+
+    private: // Data:
+
+        // The client implemented observer for profile modification events:
+        MProEngActiveSettingsObserver& iObserver;
+
+    };
+
+#endif      //  CPROENGACTIVESETTINGSEVENTDELEGATE_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/WrapperSrc/CProEngMasterSettingsEventDelegate.cpp	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* 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:  Implementation of CProEngMasterSettingsEventDelegate
+*
+*/
+
+
+
+// INCLUDE FILES
+#include    "CProEngMasterSettingsEventDelegate.h"
+#include    <MProEngMasterSettingsObserver.h>
+
+namespace
+    {
+    // CONSTANTS
+    const TInt KProEngMasterSettingsPartialKey( 0x80000200 );
+    const TUint32 KProEngMasterSettingsMask( 0xFFFFFF00 );
+    }
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CProEngMasterSettingsEventDelegate::CProEngMasterSettingsEventDelegate
+// -----------------------------------------------------------------------------
+//
+CProEngMasterSettingsEventDelegate::CProEngMasterSettingsEventDelegate(
+        TUint32 aPartialCenRepKey,
+        TUint32 aKeyMask,
+        MProEngMasterSettingsObserver& aObserver )
+    : CProEngCenRepObserverBase( aPartialCenRepKey, aKeyMask ),
+      iObserver( aObserver )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngMasterSettingsEventDelegate::NewL
+// -----------------------------------------------------------------------------
+//
+CProEngMasterSettingsEventDelegate* CProEngMasterSettingsEventDelegate::NewL(
+          MProEngMasterSettingsObserver& aObserver )
+    {
+    CProEngMasterSettingsEventDelegate* self = new ( ELeave )
+        CProEngMasterSettingsEventDelegate( KProEngMasterSettingsPartialKey,
+                                        KProEngMasterSettingsMask, aObserver );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngMasterSettingsEventDelegate::NotifyObserverL
+// -----------------------------------------------------------------------------
+//
+void CProEngMasterSettingsEventDelegate::NotifyObserverL()
+    {
+    iObserver.HandleMasterSettingsModifiedL( );
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngMasterSettingsEventDelegate::NotifyError
+// -----------------------------------------------------------------------------
+//
+void CProEngMasterSettingsEventDelegate::NotifyError( TInt aError )
+    {
+    iObserver.HandleMasterSettingsNotificationError( aError );
+    }
+
+//  End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/WrapperSrc/CProEngMasterSettingsEventDelegate.h	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* 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:  Delegate notifications about master settings modifications
+*               to the observer.
+*
+*/
+
+
+
+#ifndef CPROENGMASTERSETTINGSEVENTDELEGATE_H
+#define CPROENGMASTERSETTINGSEVENTDELEGATE_H
+
+// INCLUDES
+#include "CProEngCenRepObserverBase.h"
+
+// FORWARD DECLARATIONS
+class MProEngMasterSettingsObserver;
+
+// CLASS DECLARATION
+
+/**
+* This class delegates notifications about master settings modifications to the observer
+* implemented by the client of Profiles Engine Wrapper API. This is a helper
+* class for CProEngNotifyHandlerImpl.
+*
+*  @lib ProfileEngine.lib
+*  @since 10.1
+*/
+NONSHARABLE_CLASS( CProEngMasterSettingsEventDelegate )
+    : public CProEngCenRepObserverBase
+    {
+    public:  // constructor and destructor
+
+        static CProEngMasterSettingsEventDelegate* NewL(
+                MProEngMasterSettingsObserver& aObserver );
+
+        virtual ~CProEngMasterSettingsEventDelegate() {};
+
+    public: // Functions from base classes
+
+        /**
+         * From CProEngObserverBase.
+         */
+        void NotifyObserverL();
+
+        /**
+         * From CProEngObserverBase.
+         */
+        void NotifyError( TInt aError );
+
+
+    public: // New functions
+
+    private:  // constructor
+
+        CProEngMasterSettingsEventDelegate( TUint32 aPartialCenRepKey,
+                                            TUint32 aKeyMask,
+                                            MProEngMasterSettingsObserver& aObserver );
+
+    private: // Data:
+
+        // The client implemented observer for profile modification events:
+        MProEngMasterSettingsObserver& iObserver;
+
+    };
+
+#endif      //  CPROENGMASTERSETTINGSEVENTDELEGATE_H
+
+// End of File
+
--- a/profilesservices/ProfileEngine/WrapperSrc/CProEngNotifyHandlerImpl.cpp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/WrapperSrc/CProEngNotifyHandlerImpl.cpp	Mon May 03 12:46:45 2010 +0300
@@ -30,7 +30,8 @@
 #include    <MProEngProfileNameArrayObserver.h>
 #include    <ProfileEngineConstants.h>
 #include    <ProfileEnginePrivatePSKeys.h>
-
+#include    "CProEngActiveSettingsEventDelegate.h"
+#include    "CProEngMasterSettingsEventDelegate.h"
 
 // ============================= LOCAL FUNCTIONS ===============================
 
@@ -53,7 +54,12 @@
 // CProEngNotifyHandlerImpl::CProEngNotifyHandlerImpl
 // -----------------------------------------------------------------------------
 //
-CProEngNotifyHandlerImpl::CProEngNotifyHandlerImpl()
+CProEngNotifyHandlerImpl::CProEngNotifyHandlerImpl() : 
+    iActiveIdEventDelegate( NULL ),
+    iActiveProfileEventDelegate( NULL ),
+    iNameArrayEventDelegate( NULL ),
+    iActiveSettingEventDelegate( NULL ),
+    iMasterSettingEventDelegate( NULL )
     {
     }
 
@@ -194,6 +200,60 @@
     return result;
     }
 
+
+// -----------------------------------------------------------------------------
+// CProEngNotifyHandlerImpl::RequestActiveSettingsNotificationsL
+// -----------------------------------------------------------------------------
+//
+TInt CProEngNotifyHandlerImpl::RequestActiveSettingsNotificationsL( 
+        MProEngActiveSettingsObserver &aObserver )
+    {
+    if( iActiveSettingEventDelegate )
+        {
+        return KErrAlreadyExists;
+        }
+
+    iActiveSettingEventDelegate = CProEngActiveSettingsEventDelegate::NewL(
+            aObserver );
+            
+    // make the actual request to the Central Repository:
+    TInt result( iActiveSettingEventDelegate->RequestNotification() );
+    if( result != KErrNone )
+        {
+        delete iActiveSettingEventDelegate;
+        iActiveSettingEventDelegate = NULL;
+        }
+
+    return result;
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngNotifyHandlerImpl::RequestMasterSettingsNotificationsL
+// -----------------------------------------------------------------------------
+//
+TInt CProEngNotifyHandlerImpl::RequestMasterSettingsNotificationsL( 
+        MProEngMasterSettingsObserver &aObserver )
+    {
+    if( iMasterSettingEventDelegate )
+        {
+        return KErrAlreadyExists;
+        }
+
+    iMasterSettingEventDelegate = CProEngMasterSettingsEventDelegate::NewL(
+            aObserver );
+            
+    // make the actual request to the Central Repository:
+    TInt result( iMasterSettingEventDelegate->RequestNotification() );
+    if( result != KErrNone )
+        {
+        delete iMasterSettingEventDelegate;
+        iMasterSettingEventDelegate = NULL;
+        }
+
+    return result;
+    }
+
+
 // -----------------------------------------------------------------------------
 // CProEngNotifyHandlerImpl::CancelProfileActivationNotifications
 // -----------------------------------------------------------------------------
@@ -256,6 +316,35 @@
         }
     }
 
+
+// -----------------------------------------------------------------------------
+// CProEngNotifyHandlerImpl::CancelActiveSettingsNotificationsL
+// -----------------------------------------------------------------------------
+//
+void CProEngNotifyHandlerImpl::CancelActiveSettingsNotificationsL()
+    {
+    if( iActiveSettingEventDelegate )
+        {
+        iActiveSettingEventDelegate->Cancel();
+        delete iActiveSettingEventDelegate;
+        iActiveSettingEventDelegate = NULL;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CProEngNotifyHandlerImpl::CancelMasterSettingsNotificationsL
+// -----------------------------------------------------------------------------
+//
+void CProEngNotifyHandlerImpl::CancelMasterSettingsNotificationsL()
+    {
+    if( iMasterSettingEventDelegate )
+        {
+        iMasterSettingEventDelegate->Cancel();
+        delete iMasterSettingEventDelegate;
+        iMasterSettingEventDelegate = NULL;
+        }
+    }
+
 // -----------------------------------------------------------------------------
 // CProEngNotifyHandlerImpl::CancelAll
 // -----------------------------------------------------------------------------
@@ -265,6 +354,9 @@
     CancelProfileActivationNotifications();
     CancelActiveProfileNotifications();
     CancelProfileNameArrayNotifications();
+    CancelActiveSettingsNotificationsL();
+    CancelMasterSettingsNotificationsL();
+    
     TInt count = iProfileEventDelegates.Count();
     for( TInt i( 0 ); i<count; ++i )
         {
--- a/profilesservices/ProfileEngine/WrapperSrc/CProEngNotifyHandlerImpl.h	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/WrapperSrc/CProEngNotifyHandlerImpl.h	Mon May 03 12:46:45 2010 +0300
@@ -21,7 +21,7 @@
 #define CPROENGNOTIFYHANDLERIMPL_H
 
 // INCLUDES
-#include <MProEngNotifyHandler.h>
+#include <MProEngNotifyHandler2.h>
 #include <e32base.h>
 
 // FORWARD DECLARATIONS
@@ -29,6 +29,8 @@
 class CProEngActiveProfileDelegate;
 class CProEngProfileNameArrayEventDelegate;
 class CProEngProfileEventDelegate;
+class CProEngActiveSettingsEventDelegate;
+class CProEngMasterSettingsEventDelegate;
 
 // CLASS DECLARATION
 
@@ -39,7 +41,7 @@
 *  @since 3.1
 */
 NONSHARABLE_CLASS( CProEngNotifyHandlerImpl ) : public CBase,
-                                                public MProEngNotifyHandler
+                                                public MProEngNotifyHandler2
     {
     public:  // Constructors and destructor
 
@@ -81,6 +83,18 @@
                 MProEngProfileNameArrayObserver& aObserver );
 
         /**
+         * From MProEngNotifyHandler2
+         */
+        virtual TInt RequestActiveSettingsNotificationsL( 
+                MProEngActiveSettingsObserver &aObserver );
+        
+        /**
+         * From MProEngNotifyHandler2
+         */
+        virtual TInt RequestMasterSettingsNotificationsL( 
+                MProEngMasterSettingsObserver &aObserver );
+        
+        /**
          * From MProEngNotifyHandler
          */
         void CancelProfileActivationNotifications();
@@ -101,9 +115,20 @@
         void CancelProfileNameArrayNotifications();
 
         /**
+         * From MProEngNotifyHandler2
+         */
+        virtual void CancelActiveSettingsNotificationsL();
+        
+        /**
+         * From MProEngNotifyHandler2
+         */
+        virtual void CancelMasterSettingsNotificationsL();
+        
+        /**
          * From MProEngNotifyHandler
          */
         void CancelAll();
+               
 
     private:
 
@@ -125,6 +150,12 @@
 
         // Own: Array of profile change observers
         RPointerArray< CProEngProfileEventDelegate > iProfileEventDelegates;
+        
+        // Own: Delegate for active settings modification events
+        CProEngActiveSettingsEventDelegate *iActiveSettingEventDelegate;
+        
+        // Own: Delegate for master settings modification events
+        CProEngMasterSettingsEventDelegate *iMasterSettingEventDelegate;
 
     };
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/WrapperSrc/ProEngFactory2.cpp	Mon May 03 12:46:45 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* 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:  Implementation of the ProEngFactory2.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include    <ProEngFactory2.h>
+#include    "CProEngNotifyHandlerImpl.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+// -----------------------------------------------------------------------------
+// ProEngFactory::NewNotifyHandlerL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MProEngNotifyHandler2* ProEngFactory2::NewNotifyHandler2L()
+    {
+    return CProEngNotifyHandlerImpl::NewL();
+    }
+
+//  End of File
+
Binary file profilesservices/ProfileEngine/conf/profilesengine.confml has changed
Binary file profilesservices/ProfileEngine/conf/profilesengine_101F8798.crml has changed
--- a/profilesservices/ProfileEngine/group/ProfileEng.mmp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/group/ProfileEng.mmp	Mon May 03 12:46:45 2010 +0300
@@ -55,7 +55,8 @@
 #else
 SOURCE          CProfileEngineImplStaticProfiles.cpp
 #endif // __DYNAMIC_PROFILES
-SOURCE          CProfileUtilitySingletonImpl.cpp
+SOURCE          CProfileUtilitySingletonImpl.cpp 
+SOURCE          CProfileVibraSettingsImpl.cpp
 
 USERINCLUDE     . ../EngInc ../../group
 
--- a/profilesservices/ProfileEngine/group/ProfileEngine.mmp	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/group/ProfileEngine.mmp	Mon May 03 12:46:45 2010 +0300
@@ -50,7 +50,10 @@
 SOURCE          CProEngMediaVariation.cpp
 SOURCE          CProEngPostFilter.cpp
 SOURCE          ProEngFactory.cpp
-SOURCE          ProEngMmfInfoUtility.cpp
+SOURCE          ProEngMmfInfoUtility.cpp 
+SOURCE          CProEngActiveSettingsEventDelegate.cpp
+SOURCE          CProEngMasterSettingsEventDelegate.cpp
+SOURCE          ProEngFactory2.cpp
 
 START RESOURCE  ProEngWrapper.rss
   HEADER
--- a/profilesservices/ProfileEngine/group/ProfilesEngineExports.Inc	Fri Apr 16 15:15:08 2010 +0300
+++ b/profilesservices/ProfileEngine/group/ProfilesEngineExports.Inc	Mon May 03 12:46:45 2010 +0300
@@ -24,7 +24,7 @@
 #ifndef PROFILESENGINEEXPORTS_INC
 #define PROFILESENGINEEXPORTS_INC
 
-    ../loc/profile.loc    MW_LAYER_LOC_EXPORT_PATH(profile.loc)
+    ../loc/Profile.loc    MW_LAYER_LOC_EXPORT_PATH(Profile.loc)
 
     // headers
     // for SDK