Revision: 201033 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:30:39 +0300
branchRCL_3
changeset 36 39d4c97df8cb
parent 34 d57e599df233
child 37 09b094b73eb8
Revision: 201033 Kit: 201035
hapticsservices_plat/tactile_feedback_core_api/inc/tactilefeedback.h
hapticsservices_plat/tactile_feedback_server_api/tsrc/group/testdomtactilefeedbackserver.mmp
hapticsservices_plat/tactile_feedback_server_api/tsrc/inc/testdomtactilefeedbackserver.h
hapticsservices_plat/tactile_feedback_server_api/tsrc/src/testdomtactilefeedbackserver.cpp
hapticsservices_pub/tactile_feedback_client_api/inc/touchfeedback.h
hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h
hapticsservices_pub/tactile_feedback_client_api/tsrc/group/testsdktfc.mmp
hapticsservices_pub/tactile_feedback_client_api/tsrc/inc/testsdktfc.h
hapticsservices_pub/tactile_feedback_client_api/tsrc/src/testsdktfc.cpp
package_definition.xml
package_map.xml
tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/data/2001FE52.rss
tactilefeedback/group/bld.inf
tactilefeedback/rom/bld.inf
tactilefeedback/tactilearearegistry/inc/tactileinternaldatatypes.h
tactilefeedback/tactilearearegistry/src/tactilearearegistry.cpp
tactilefeedback/tactilefeedbackclient/cenrep/2000B494.txt
tactilefeedback/tactilefeedbackclient/conf/tactilefeedback.confml
tactilefeedback/tactilefeedbackclient/conf/tactilefeedback_2000B494.crml
tactilefeedback/tactilefeedbackclient/inc/touchfeedbackclient.h
tactilefeedback/tactilefeedbackclient/inc/touchfeedbackimpl.h
tactilefeedback/tactilefeedbackclient/src/touchfeedbackclient.cpp
tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp
tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel1_A.ivt
tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel2_A.ivt
tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel3_A.ivt
tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel4_A.ivt
tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel5_A.ivt
tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel1_A.ivt
tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel2_A.ivt
tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel3_A.ivt
tactilefeedback/tactilefeedbackresolver/group/bld.inf
tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackdomaincrkeys.h
tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackprivatecrkeys.h
tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h
tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksession.h
tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksrv.h
tactilefeedback/tactilefeedbackresolver/inc/tactileplayer.h
tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp
tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/src/tactilehapticsplayer.cpp
tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/group/tactiletoneplugin.mmp
tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp
tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp
tactilefeedback/tactilefeedbackresolver/rom/tactilefeedbackresolver.iby
tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp
tactilefeedback/tactilefeedbackresolver/src/tactileplayer.cpp
--- a/hapticsservices_plat/tactile_feedback_core_api/inc/tactilefeedback.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_plat/tactile_feedback_core_api/inc/tactilefeedback.h	Tue Aug 31 15:30:39 2010 +0300
@@ -92,7 +92,7 @@
     IMPORT_C void ModifyFeedback( TInt aIntensity );
     
     /**
-     * Stops the ongoing feedback.
+     * Stops the ongoing continuous feedback.
      *
      * @since S60 5.2
      */    
--- a/hapticsservices_plat/tactile_feedback_server_api/tsrc/group/testdomtactilefeedbackserver.mmp	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_plat/tactile_feedback_server_api/tsrc/group/testdomtactilefeedbackserver.mmp	Tue Aug 31 15:30:39 2010 +0300
@@ -51,7 +51,7 @@
 SOURCE          testtactilefeedbackserver.cpp
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         tactileclickplugin.lib
 
--- a/hapticsservices_plat/tactile_feedback_server_api/tsrc/inc/testdomtactilefeedbackserver.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_plat/tactile_feedback_server_api/tsrc/inc/testdomtactilefeedbackserver.h	Tue Aug 31 15:30:39 2010 +0300
@@ -91,20 +91,6 @@
      * Method used to log version of test class
      */
     void SendTestClassVersion();
-    
-    /*
-     * Turn off ScreenSaver
-     * @since S60 5.0
-     * @return Symbian OS error code.
-     */
-    void TurnOffScreenSaver();
-
-    /**
-     * Restore ScreenSaver
-     * @since S60 5.0
-     * @return Symbian OS error code.
-     */
-    void RestoreScreenSaver();
 
 private:    // Data
 
--- a/hapticsservices_plat/tactile_feedback_server_api/tsrc/src/testdomtactilefeedbackserver.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_plat/tactile_feedback_server_api/tsrc/src/testdomtactilefeedbackserver.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -20,7 +20,6 @@
 // INCLUDE FILES
 #include <stiftestinterface.h>
 #include <settingserverclient.h>
-#include <screensaverinternalpskeys.h>
 #include <e32property.h>
 
 #include "testdomtactilefeedbackserver.h"
@@ -101,8 +100,6 @@
                           EFalse );
     
     SendTestClassVersion();
-    
-    TurnOffScreenSaver();
     }
 
 // -----------------------------------------------------------------------------
@@ -155,30 +152,4 @@
     return ( CScriptBase* ) Ctestdomtactilefeedbackserver::NewL( aTestModuleIf );
     }
 
-// -----------------------------------------------------------------------------
-// Turn off ScreenSaver
-// -----------------------------------------------------------------------------
-//
-void Ctestdomtactilefeedbackserver::TurnOffScreenSaver()
-    {
-    TInt err1 = RProperty::Get( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, 
-        iOldScreenSaverProperty );
-    TInt err2 = RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, 
-        KScreenSaverAllowScreenSaver );    
-    RDebug::Printf( "screensaver property=%d err1=%d err2=%d\n", 
-        iOldScreenSaverProperty, err1, err2 );
-    }
-
-// -----------------------------------------------------------------------------
-// Restore ScreenSaver
-// -----------------------------------------------------------------------------
-//
-void Ctestdomtactilefeedbackserver::RestoreScreenSaver()
-    {
-    RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, 
-        iOldScreenSaverProperty );
-    User::ResetInactivityTime();
-    }
-
-
 //  End of File
--- a/hapticsservices_pub/tactile_feedback_client_api/inc/touchfeedback.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_pub/tactile_feedback_client_api/inc/touchfeedback.h	Tue Aug 31 15:30:39 2010 +0300
@@ -584,10 +584,10 @@
 
                                  
     /**
-     * This function stops feedback.
+     * This function stops continuous feedback.
      *
      * @since S60 5.2
-     * @param aControl - The control which feedback is stopped.
+     * @param aControl - The control which continuous feedback is stopped.
      */
     virtual void StopFeedback( const CCoeControl* aControl ) = 0;
 
@@ -694,6 +694,25 @@
                                   TTouchFeedbackType aFeedbackType,
                                   const TPointerEvent& aPointerEvent ) = 0;
 
+    /**
+     * Gives direct feedback.
+     *
+     * Notice that the feedback might not be actually played, if 
+     * for example user has disabled the feedback from the settings.
+     *
+     * This function always causes a synchronous client-server transaction, 
+     * and potentially flushing of window server client-side buffer. Using this
+     * overload it is also possible to disable unwanted feedback (vibra/audio)
+     * by giving only wanted feedback type as parameter.
+     *
+     * @since S60 5.2
+     * @param aType         - The logical feedback type to play.
+     * @param aFeedbackType - Feedback types to be played as a bitmask 
+     *                        combination of enumeration items from
+     *                        TTouchFeedbackType
+     */
+    virtual void InstantFeedback( TTouchLogicalFeedback aType,
+                                  TTouchFeedbackType aFeedbackType ) = 0;
 
 
     };
--- a/hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h	Tue Aug 31 15:30:39 2010 +0300
@@ -71,29 +71,33 @@
     // New types for S60 5.2:
     ETouchFeedbackBasicButton = 0x100,    
     ETouchFeedbackSensitiveButton,
-    ETouchFeedbackList,
-    ETouchFeedbackSensitiveList,
-    ETouchFeedbackBoundaryList,    
-    ETouchFeedbackSlider,
-    ETouchFeedbackEdit,
+    ETouchFeedbackBasicItem,
+    ETouchFeedbackSensitiveItem,
+    ETouchFeedbackBounceEffect,    
+    ETouchFeedbackBasicSlider,
+    ETouchFeedbackEditor,
     ETouchFeedbackLineSelection,
     ETouchFeedbackBlankSelection,
     ETouchFeedbackTextSelection,
-    ETouchFeedbackEmptyLineSelection,
-    ETouchFeedbackTab,
+    ETouchFeedbackEmptyLineSelection,    
     ETouchFeedbackPopUp,
-    ETouchFeedbackIncreasingPopUp,
-    ETouchFeedbackDecreasingPopUp,
-    ETouchFeedbackFlick,
+    ETouchFeedbackPopupOpen,
+    ETouchFeedbackPopupClose,
+    ETouchFeedbackItemScroll,
     ETouchFeedbackCheckbox,
-    ETouchFeedbackSensitiveInput,
-    ETouchFeedbackCharacterInputButton,
-    ETouchFeedbackOptionsMenuOpened,
-    ETouchFeedbackOptionsMenuClosed,
-    ETouchFeedbackSubMenuOpened,
-    ETouchFeedbackSubMenuClosed,
-    ETouchFeedbackLongTap,
-    ETouchFeedbackMultiTouchRecognized
+    ETouchFeedbackSensitiveKeypad,    
+    ETouchFeedbackMultitouchActivate,
+    // New types for 10.1:
+    ETouchFeedbackBasicKeypad,
+    ETouchFeedbackFlick,
+    ETouchFeedbackItemDrop,
+    ETouchFeedbackItemMoveOver,
+    ETouchFeedbackItemPick,
+    ETouchFeedbackMultipleCheckbox,
+    ETouchFeedbackRotateStep,
+    ETouchFeedbackSensitiveSlider,
+    ETouchFeedbackStopFlick,
+    ETouchFeedbackLongPress
     };
     
 /**  
@@ -105,8 +109,8 @@
     ETouchContinuousSmooth = 0x300, // For generic continuous feedback for custom controls
     ETouchContinuousSlider,
     ETouchContinuousInput,
-    ETouchContinuousFlick,
-    ETouchDynamicSlider
+    ETouchContinuousPopup,
+    ETouchContinuousPinch
     };
     
 /**  
--- a/hapticsservices_pub/tactile_feedback_client_api/tsrc/group/testsdktfc.mmp	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_pub/tactile_feedback_client_api/tsrc/group/testsdktfc.mmp	Tue Aug 31 15:30:39 2010 +0300
@@ -45,7 +45,7 @@
 SOURCE          testsdktfcblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         StifTestInterface.lib
+LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         touchfeedback.lib
 
--- a/hapticsservices_pub/tactile_feedback_client_api/tsrc/inc/testsdktfc.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_pub/tactile_feedback_client_api/tsrc/inc/testsdktfc.h	Tue Aug 31 15:30:39 2010 +0300
@@ -88,20 +88,6 @@
      * Method used to log version of test class
      */
     void SendTestClassVersion();
-    
-        /**
-     * Turn off ScreenSaver
-     * @since S60 5.0
-     * @return Symbian OS error code.
-     */
-    void TurnOffScreenSaver();
-
-    /**
-     * Restore ScreenSaver
-     * @since S60 5.0
-     * @return Symbian OS error code.
-     */
-    void RestoreScreenSaver();
 
     //[TestMethods]
 private:// for test the touchfeedback.h
--- a/hapticsservices_pub/tactile_feedback_client_api/tsrc/src/testsdktfc.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/hapticsservices_pub/tactile_feedback_client_api/tsrc/src/testsdktfc.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -20,7 +20,6 @@
 // INCLUDE FILES
 #include <stiftestinterface.h>
 #include <settingserverclient.h>
-#include <screensaverinternalpskeys.h>
 #include <e32property.h>
 
 #include "testsdktfc.h"
@@ -84,8 +83,6 @@
                           EFalse );
     
     SendTestClassVersion();
-    
-    TurnOffScreenSaver();
     }
 
 // -----------------------------------------------------------------------------
@@ -150,31 +147,4 @@
     return ( CScriptBase* ) CTestSDKTFC::NewL( aTestModuleIf );
     }
 
-// -----------------------------------------------------------------------------
-// Turn off ScreenSaver
-// -----------------------------------------------------------------------------
-//
-void CTestSDKTFC::TurnOffScreenSaver()
-    {
-    //TInt Get(TUid aCategory, TUint aKey, TInt &aValue);
-    TInt err1 = RProperty::Get( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, 
-        iOldScreenSaverProperty );
-    TInt err2 = RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, 
-        KScreenSaverAllowScreenSaver );    
-    RDebug::Printf( "screensaver property=%d err1=%d err2=%d\n", 
-        iOldScreenSaverProperty, err1, err2 );
-    }
-
-// -----------------------------------------------------------------------------
-// Restore ScreenSaver
-// -----------------------------------------------------------------------------
-//
-void CTestSDKTFC::RestoreScreenSaver()
-    {
-    RProperty::Set( KPSUidScreenSaver, KScreenSaverAllowScreenSaver, 
-        iOldScreenSaverProperty );
-    User::ResetInactivityTime();
-    }
-
-
 //  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml	Tue Aug 31 15:30:39 2010 +0300
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+ <package id="hapticsservices" name="Haptics Services" levels="fw server api">
+  <collection id="hapticsservices_plat" name="Haptics Services Platform Interfaces" level="api">
+   <component id="tacticon_api" name="Tacticon API" introduced="^1" class="api" filter="s60">
+    <meta rel="Api" href="hapticsservices_plat/tacticon_api/tacticon_api.metaxml"/>
+    <unit bldFile="hapticsservices_plat/tacticon_api/group"/>
+   </component>
+   <component id="tactile_feedback_core_api" name="Tactile Feedback Core API" introduced="^1" class="api" filter="s60">
+    <meta rel="Api" href="hapticsservices_plat/tactile_feedback_core_api/tactile_feedback_core_api.metaxml"/>
+    <unit bldFile="hapticsservices_plat/tactile_feedback_core_api/group"/>
+   </component>
+   <component id="tactile_feedback_server_api" name="Tactile Feedback Server API" introduced="^1" class="api" filter="s60">
+    <meta rel="Api" href="hapticsservices_plat/tactile_feedback_server_api/tactile_feedback_server_api.metaxml"/>
+    <unit bldFile="hapticsservices_plat/tactile_feedback_server_api/group"/>
+   </component>
+  </collection>
+  <collection id="hapticsservices_pub" name="Haptics Services Public Interfaces" level="api">
+   <component id="tactile_feedback_client_api" name="Tactile Feedback Client API" introduced="^1" class="api" filter="s60">
+    <meta rel="Api" href="hapticsservices_pub/tactile_feedback_client_api/tactile_feedback_client_api.metaxml"/>
+    <unit bldFile="hapticsservices_pub/tactile_feedback_client_api/group"/>
+   </component>
+  </collection>
+  <collection id="tacticonserver" name="Tacticon Server" level="server">
+   <!-- collection is really a component. Move down a directory  -->
+   <component id="tacticonserver_build" filter="s60" name="Tacticon Server Build" introduced="^3">
+    <unit bldFile="tacticonserver/group"/>
+    <!-- clients and servers are usualy the same component. Consider moving plugins to separate components if needed -->
+   </component>
+   <component id="tacticonhapticsplugin" name="Tacticon Haptics Plugin" introduced="^3" class="plugin" filter="s60,dfs_build">
+    <unit bldFile="tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/group"/>
+   </component>
+  </collection>
+  <collection id="tactilefeedback" name="Tactile Feedback" level="fw">
+   <component id="tactilearearegistry" filter="s60" name="Tactile Area Registry" introduced="^1">
+    <unit bldFile="tactilefeedback/tactilearearegistry/group"/>
+   </component>
+   <component id="tactilefeedbackresolver" filter="s60" name="Tactile Feedback Resolver" introduced="^1">
+    <unit bldFile="tactilefeedback/tactilefeedbackresolver/group"/>
+   </component>
+   <component id="tactilefeedbackresolver_plugins" name="Tactile Feedback Resolver Plugins" introduced="^1" class="plugin" filter="s60,dfs_build">
+    <unit bldFile="tactilefeedback/tactilefeedbackresolver/plugins/group"/>
+   </component>
+   <component id="tactileclickplugin" filter="s60" name="Tactile Click Plugin" class="plugin" introduced="^1">
+    <unit bldFile="tactilefeedback/tactileclickplugin/group"/>
+   </component>
+   <component id="tactilefeedbackclient" filter="s60" name="Tactile Feedback Client" introduced="^1">
+    <unit bldFile="tactilefeedback/tactilefeedbackclient/group"/>
+   </component>
+   <component id="tactileactionplugin" filter="s60" name="Tactile Action Plugin" class="plugin" introduced="^1">
+    <unit bldFile="tactilefeedback/tactileactionplugin/group"/>
+   </component>
+   <component id="tactilefeedback_rom" filter="s60" name="Tactile Feedback ROM" introduced="^1">
+    <unit bldFile="tactilefeedback/rom"/>
+   </component>
+  </collection>
+ </package>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml	Tue Aug 31 15:30:39 2010 +0300
@@ -0,0 +1,1 @@
+<PackageMap root="sf" layer="mw"/>
--- a/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/data/2001FE52.rss	Thu Aug 19 10:13:11 2010 +0300
+++ b/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/data/2001FE52.rss	Tue Aug 31 15:30:39 2010 +0300
@@ -43,4 +43,3 @@
 
 // End of file
 
-
--- a/tactilefeedback/group/bld.inf	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/group/bld.inf	Tue Aug 31 15:30:39 2010 +0300
@@ -18,8 +18,7 @@
 
 #include <platform_paths.hrh>
 
-PRJ_EXPORTS
-../rom/tactilefeedback.iby  CORE_IBY_EXPORT_PATH(mw, tactilefeedback.iby)
+#include "../rom/bld.inf"
 
 #ifndef TOOLS
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tactilefeedback/rom/bld.inf	Tue Aug 31 15:30:39 2010 +0300
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2010 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:  Master bld.inf -file for Tactile Feedback ROM.
+* Part of:      Tactile Feedback.
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_EXPORTS
+tactilefeedback.iby  CORE_IBY_EXPORT_PATH(mw, tactilefeedback.iby)
--- a/tactilefeedback/tactilearearegistry/inc/tactileinternaldatatypes.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilearearegistry/inc/tactileinternaldatatypes.h	Tue Aug 31 15:30:39 2010 +0300
@@ -24,6 +24,7 @@
 
 
 #include <e32std.h>
+#include <e32svr.h>
 #include <touchlogicalfeedback.h>
 
 
--- a/tactilefeedback/tactilearearegistry/src/tactilearearegistry.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilearearegistry/src/tactilearearegistry.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -172,6 +172,7 @@
             break;
             }
         }  
+    
     iTactileSemaphore.Signal();
     }
     
@@ -193,8 +194,8 @@
     
     newItem.iWindowGroupId    = aIdentifier;
     newItem.iConnectionHandle = aConnectionHandle;
-    
-    iWgArray.Append( newItem );
+    // if append fail just make its action like before
+    TRAP_IGNORE( iWgArray.AppendL( newItem ) );
     }
     
     
Binary file tactilefeedback/tactilefeedbackclient/cenrep/2000B494.txt has changed
Binary file tactilefeedback/tactilefeedbackclient/conf/tactilefeedback.confml has changed
Binary file tactilefeedback/tactilefeedbackclient/conf/tactilefeedback_2000B494.crml has changed
--- a/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackclient.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackclient.h	Tue Aug 31 15:30:39 2010 +0300
@@ -120,11 +120,11 @@
                          TInt aIntensity );
     
     /**
-     * Stops the feedback.
+     * Stops the continuous feedback.
      *
      * @since S60 5.2     
      * @param aClientHandle - Handle of a client to check if caller started
-     *                        the playing feedback. 
+     *                        the playing continuous feedback. 
      */                                
     void StopFeedback( TUint32 aClientHandle );  
 
--- a/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackimpl.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackclient/inc/touchfeedbackimpl.h	Tue Aug 31 15:30:39 2010 +0300
@@ -305,6 +305,12 @@
                           TTouchFeedbackType aFeedbackType,
                           const TPointerEvent& aPointerEvent );
       
+    /**
+     * @see MTouchFeedback.
+     */
+    void InstantFeedback( TTouchLogicalFeedback aType,
+                          TTouchFeedbackType aFeedbackType );
+
 private:
     /**
      * Constructor.
--- a/tactilefeedback/tactilefeedbackclient/src/touchfeedbackclient.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackclient/src/touchfeedbackclient.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -35,8 +35,6 @@
 const TInt KTactileChunkInitialSize = 4096; // 4kB
 const TInt KTactileChunkMaxSize     = 262144; // 256kB
 const TUid KTactileClickPluginUid   = { 0x2000B493 };
-
-_LIT( KChunkNameFormat, "PID_0x%Lx_TID_0x%Lx" );
 // ======== MEMBER FUNCTIONS ========
 
 // ---------------------------------------------------------------------------
@@ -88,14 +86,15 @@
         }
 
     // #2 Create shared chunk 
+    RThread me;
+
     TTactileFeedbackConnectData data;
     
     // Set window group identifier
     data.iWindowGroupId = CCoeEnv::Static()->RootWin().Identifier();
            
-    // We use our own process id and thread id as name for the chunk
-    data.iChunkName.Format( KChunkNameFormat,
-                            RProcess().Id().Id(), RThread().Id().Id() );
+    // We use our own thread name as name for the chunk       
+    data.iChunkName.Copy( me.Name().Right( KMaxKernelName ) );
     
     // Now create the chunk
     TInt err = iChunk.CreateGlobal( data.iChunkName, 
@@ -614,10 +613,6 @@
         // Clear also client handle to indicate there's no ongoing feedback.
         iClientHandle = 0; 
         }
-    else if ( !iClientHandle ) // Stop instant feedback
-        {
-        iFbClient.StopFeedback();
-        }
     TRACE("CTouchFeedbackClient::StopFeedback - End");
     }    
 
--- a/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -755,8 +755,8 @@
                 newCacheEntry.iAudioDisabled  = !aEnableAudio;
                 newCacheEntry.iVisible        = aControl->IsVisible();
                 newCacheEntry.iDimmed         = aControl->IsDimmed();
-                        
-                iControlCache.Append( newCacheEntry );                        
+                // if append fail just make its action like before
+                TRAP_IGNORE( iControlCache.AppendL( newCacheEntry ) );
                 }
             }        
         }
@@ -973,7 +973,7 @@
             
         if ( vibraEnabled || audioEnabled )
             {
-            TRACE4("CTouchFeedbackImpl::StartFeedback, type:=%d intensity:%d, timeout:%d", aType, aIntensity, aTimeout.Int());
+            TRACE4("CTouchFeedbackImpl::StartFeedback, type:=%d intensity:%d, timeout:%d", aType, aIntensity, aTimeout);
             TUint32 clientHandle = ClientHandle( aControl );
             iClient->StartFeedback( clientHandle, 
                                     aType, 
@@ -1146,6 +1146,35 @@
     }
         
 // ---------------------------------------------------------------------------
+// CTouchFeedbackImpl::InstantFeedback
+// ---------------------------------------------------------------------------
+//    
+void CTouchFeedbackImpl::InstantFeedback( TTouchLogicalFeedback aType,
+                                          TTouchFeedbackType aFeedbackType )
+    {
+    if ( iClient && ( iAudioEnabledForThisApp || iVibraEnabledForThisApp ) )
+        {
+        // Initialize vibra and audio enablers as given in param.
+        TBool vibraEnabled = aFeedbackType & ETouchFeedbackVibra;
+        TBool audioEnabled = aFeedbackType & ETouchFeedbackAudio;
+
+        // Check application level vibra and audio enablers
+        if ( !iVibraEnabledForThisApp )
+            {
+            vibraEnabled = EFalse;
+            }
+        if ( !iAudioEnabledForThisApp )
+            {
+            audioEnabled = EFalse;
+            }
+
+        TRACE4( "CTouchFeedbackImpl::InstantFeedback, type:=%d Vibra:%d Audio:%d",
+                aType, vibraEnabled, audioEnabled );
+        iClient->ImmediateFeedback( aType, vibraEnabled, audioEnabled );
+        }
+    }
+
+// ---------------------------------------------------------------------------
 // Here we do the actual work for adding new area to the registry
 // (or updating an existing one).
 //
@@ -1731,15 +1760,15 @@
     
 	// range check. update when logical feedback types are changed.
     if ( !(aFeedback >= ETouchFeedbackNone && aFeedback <= ETouchFeedbackSensitive) 
-            && !(aFeedback >= ETouchFeedbackBasicButton && aFeedback <= ETouchFeedbackMultiTouchRecognized) )
+            && !(aFeedback >= ETouchFeedbackBasicButton && aFeedback <= ETouchFeedbackLongPress) )
         {
         return KErrArgument;
         }
     item.iFeedback = aFeedback;        
     item.iFeedbackType = aFeedbackType;
         
-    iFbArray.Append(item);
-    return KErrNone;
+    TInt err = iFbArray.Append(item);
+    return err;
     }    
 
 // ---------------------------------------------------------------------------
@@ -1758,7 +1787,8 @@
         item.iFeedback  = iFbArray[i].iFeedback;
         item.iEventType = iFbArray[i].iEventType;
         item.iFeedbackType = iFbArray[i].iFeedbackType;
-        aArray.Append(item);
+        // if append fail just make its action like before
+        TRAP_IGNORE( aArray.AppendL( item ) );
         }
     }
 
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel1_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel2_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel3_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel4_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/10.1_TactileFeedbackLevel5_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel1_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel2_A.ivt has changed
Binary file tactilefeedback/tactilefeedbackresolver/data/9.2_TactileFeedbackLevel3_A.ivt has changed
--- a/tactilefeedback/tactilefeedbackresolver/group/bld.inf	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/group/bld.inf	Tue Aug 31 15:30:39 2010 +0300
@@ -25,12 +25,16 @@
 
 PRJ_EXPORTS
 // Tactile feedback effects files
-../data/9.2_TactileFeedbackLevel1_A.ivt    /epoc32/data/z/private/10003B20/9.2_TactileFeedbackLevel1_A.ivt
-../data/9.2_TactileFeedbackLevel1_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/9.2_TactileFeedbackLevel1_A.ivt
-../data/9.2_TactileFeedbackLevel2_A.ivt    /epoc32/data/z/private/10003B20/9.2_TactileFeedbackLevel2_A.ivt
-../data/9.2_TactileFeedbackLevel2_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/9.2_TactileFeedbackLevel2_A.ivt
-../data/9.2_TactileFeedbackLevel3_A.ivt    /epoc32/data/z/private/10003B20/9.2_TactileFeedbackLevel3_A.ivt
-../data/9.2_TactileFeedbackLevel3_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/9.2_TactileFeedbackLevel3_A.ivt
+../data/10.1_TactileFeedbackLevel1_A.ivt    /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel1_A.ivt
+../data/10.1_TactileFeedbackLevel1_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel1_A.ivt
+../data/10.1_TactileFeedbackLevel2_A.ivt    /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel2_A.ivt
+../data/10.1_TactileFeedbackLevel2_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel2_A.ivt
+../data/10.1_TactileFeedbackLevel3_A.ivt    /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel3_A.ivt
+../data/10.1_TactileFeedbackLevel3_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel3_A.ivt
+../data/10.1_TactileFeedbackLevel4_A.ivt    /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel4_A.ivt
+../data/10.1_TactileFeedbackLevel4_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel4_A.ivt
+../data/10.1_TactileFeedbackLevel5_A.ivt    /epoc32/data/z/private/10003B20/10.1_TactileFeedbackLevel5_A.ivt
+../data/10.1_TactileFeedbackLevel5_A.ivt    /epoc32/release/winscw/udeb/Z/private/10003B20/10.1_TactileFeedbackLevel5_A.ivt
 
 // IBY file
 ../rom/tactilefeedbackresolver.iby  CORE_IBY_EXPORT_PATH(mw, tactilefeedbackresolver.iby)
--- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackdomaincrkeys.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackdomaincrkeys.h	Tue Aug 31 15:30:39 2010 +0300
@@ -58,11 +58,13 @@
 * Possible values are:
 * Valid path to IVT file. 
 *
-* Default value: "z:\\private\\10003B20\\9.2_TactileFeedbackLevel*_A.ivt"
+* Default value: "z:\\private\\10003B20\\10.1_TactileFeedbackLevel*_A.ivt"
 **/
 const TUint32 KTactileHapticsLevel1IVTFile          = 0x00000015;
 const TUint32 KTactileHapticsLevel2IVTFile          = 0x00000016;
 const TUint32 KTactileHapticsLevel3IVTFile          = 0x00000017;
+const TUint32 KTactileHapticsLevel4IVTFile          = 0x00000018;
+const TUint32 KTactileHapticsLevel5IVTFile          = 0x00000019;
 
 /**
 * Number of steps used to adjust vibra feedback strength
@@ -72,7 +74,7 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileFeedbackVibraLevels           = 0x00000018;
+const TUint32 KTactileFeedbackVibraLevels           = 0x0000001a;
 
 /**
 * Number of steps used to adjust audio feedback volume
@@ -82,7 +84,7 @@
 *
 * Default value: 3
 **/
-const TUint32 KTactileFeedbackAudioLevels           = 0x00000019;
+const TUint32 KTactileFeedbackAudioLevels           = 0x0000001b;
 
 #endif  // TACTILEFEEDBACKDOMAINCRKEYS_H
 
--- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackprivatecrkeys.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackprivatecrkeys.h	Tue Aug 31 15:30:39 2010 +0300
@@ -90,6 +90,30 @@
 const TUint32 KTactileVibraIntensityBasicLevel3      = 0x00000022;
 
 /**
+* Vibra intensity setting for logical feedback type ETouchFeedbackBasic
+* and vibra effect level ETactileFeedbackVibraLevel4.
+*
+* Possible values are:
+* Integers from 0 to 100. See HWRMVibra.h for more information.
+* Zero intensity will disable this logical feedback type.
+*
+* Default value: 60
+**/
+const TUint32 KTactileVibraIntensityBasicLevel4      = 0x00000023;
+
+/**
+* Vibra intensity setting for logical feedback type ETouchFeedbackBasic
+* and vibra effect level ETactileFeedbackVibraLevel5.
+*
+* Possible values are:
+* Integers from 0 to 100. See HWRMVibra.h for more information.
+* Zero intensity will disable this logical feedback type.
+*
+* Default value: 80
+**/
+const TUint32 KTactileVibraIntensityBasicLevel5      = 0x00000024;
+
+/**
 * Vibra duration setting for logical feedback type ETouchFeedbackBasic
 * and vibra effect level ETactileFeedbackVibraLevel1.
 *
@@ -101,7 +125,7 @@
 *
 * Default value: 15
 **/
-const TUint32 KTactileVibraDurationBasicLevel1       = 0x00000023;
+const TUint32 KTactileVibraDurationBasicLevel1       = 0x00000025;
 
 /**
 * Vibra duration setting for logical feedback type ETouchFeedbackBasic
@@ -115,7 +139,7 @@
 *
 * Default value: 20
 **/
-const TUint32 KTactileVibraDurationBasicLevel2       = 0x00000024;
+const TUint32 KTactileVibraDurationBasicLevel2       = 0x00000026;
 
 /**
 * Vibra duration setting for logical feedback type ETouchFeedbackBasic
@@ -129,7 +153,35 @@
 *
 * Default value: 30
 **/
-const TUint32 KTactileVibraDurationBasicLevel3       = 0x00000025;
+const TUint32 KTactileVibraDurationBasicLevel3       = 0x00000027;
+
+/**
+* Vibra duration setting for logical feedback type ETouchFeedbackBasic
+* and vibra effect level ETactileFeedbackVibraLevel4.
+*
+* Duration is given in milliseconds, and zero value will disable this
+* logical feedback type. 
+*
+* Possible values are:
+* Integer values from zero upwards.
+*
+* Default value: 40
+**/
+const TUint32 KTactileVibraDurationBasicLevel4       = 0x00000028;
+
+/**
+* Vibra duration setting for logical feedback type ETouchFeedbackBasic
+* and vibra effect level ETactileFeedbackVibraLevel5.
+*
+* Duration is given in milliseconds, and zero value will disable this
+* logical feedback type. 
+*
+* Possible values are:
+* Integer values from zero upwards.
+*
+* Default value: 50
+**/
+const TUint32 KTactileVibraDurationBasicLevel5       = 0x00000029;
 
 
 /**
@@ -142,7 +194,7 @@
 *
 * Default value: 50
 **/
-const TUint32 KTactileVibraIntensitySensitiveLevel1  = 0x00000026;
+const TUint32 KTactileVibraIntensitySensitiveLevel1  = 0x0000002a;
 
 /**
 * Vibra intensity setting for logical feedback type ETouchFeedbackSensitive
@@ -154,7 +206,7 @@
 *
 * Default value: 100
 **/
-const TUint32 KTactileVibraIntensitySensitiveLevel2  = 0x00000027;
+const TUint32 KTactileVibraIntensitySensitiveLevel2  = 0x0000002b;
 
 /**
 * Vibra intensity setting for logical feedback type ETouchFeedbackSensitive
@@ -166,7 +218,31 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileVibraIntensitySensitiveLevel3  = 0x00000028;
+const TUint32 KTactileVibraIntensitySensitiveLevel3  = 0x0000002c;
+
+/**
+* Vibra intensity setting for logical feedback type ETouchFeedbackSensitive
+* and vibra effect level ETactileFeedbackVibraLevel4.
+*
+* Possible values are:
+* Integers from 0 to 100. See HWRMVibra.h for more information.
+* Zero intensity will disable this logical feedback type.
+*
+* Default value: 10
+**/
+const TUint32 KTactileVibraIntensitySensitiveLevel4  = 0x0000002d;
+
+/**
+* Vibra intensity setting for logical feedback type ETouchFeedbackSensitive
+* and vibra effect level ETactileFeedbackVibraLevel5.
+*
+* Possible values are:
+* Integers from 0 to 100. See HWRMVibra.h for more information.
+* Zero intensity will disable this logical feedback type.
+*
+* Default value: 10
+**/
+const TUint32 KTactileVibraIntensitySensitiveLevel5  = 0x0000002e;
 
 
 /**
@@ -181,7 +257,7 @@
 *
 * Default value: 5
 **/
-const TUint32 KTactileVibraDurationSensitiveLevel1  = 0x00000029;
+const TUint32 KTactileVibraDurationSensitiveLevel1  = 0x0000002f;
 
 /**
 * Vibra duration setting for logical feedback type ETouchFeedbackSensitive
@@ -195,7 +271,7 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileVibraDurationSensitiveLevel2  = 0x0000002a;
+const TUint32 KTactileVibraDurationSensitiveLevel2  = 0x00000030;
 
 /**
 * Vibra duration setting for logical feedback type ETouchFeedbackSensitive
@@ -209,7 +285,35 @@
 *
 * Default value: 15
 **/
-const TUint32 KTactileVibraDurationSensitiveLevel3  = 0x0000002b;
+const TUint32 KTactileVibraDurationSensitiveLevel3  = 0x00000031;
+
+/**
+* Vibra duration setting for logical feedback type ETouchFeedbackSensitive
+* and vibra effect level ETactileFeedbackVibraLevel4.
+*
+* Duration is given in milliseconds, and zero value will disable this
+* logical feedback type. 
+*
+* Possible values are:
+* Integer values from zero upwards.
+*
+* Default value: 20
+**/
+const TUint32 KTactileVibraDurationSensitiveLevel4  = 0x00000032;
+
+/**
+* Vibra duration setting for logical feedback type ETouchFeedbackSensitive
+* and vibra effect level ETactileFeedbackVibraLevel5.
+*
+* Duration is given in milliseconds, and zero value will disable this
+* logical feedback type. 
+*
+* Possible values are:
+* Integer values from zero upwards.
+*
+* Default value: 25
+**/
+const TUint32 KTactileVibraDurationSensitiveLevel5  = 0x00000033;
 
 
 
@@ -259,6 +363,32 @@
 const TUint32 KTactileAudioToneFreqBasicLevel3      = 0x00000042;
 
 /**
+* Audio frequency setting for logical feedback type ETouchFeedbackBasic
+* and audio effect level ETactileFeedbackAudioLevel4.
+*
+* Frequency is given in Hz.
+*
+* Possible values are:
+* Positive integer values.
+*
+* Default value: 1100
+**/
+const TUint32 KTactileAudioToneFreqBasicLevel4      = 0x00000043;
+
+/**
+* Audio frequency setting for logical feedback type ETouchFeedbackBasic
+* and audio effect level ETactileFeedbackAudioLevel5.
+*
+* Frequency is given in Hz.
+*
+* Possible values are:
+* Positive integer values.
+*
+* Default value: 1100
+**/
+const TUint32 KTactileAudioToneFreqBasicLevel5      = 0x00000044;
+
+/**
 * Audio duration setting for logical feedback type ETouchFeedbackBasic
 * and audio effect level ETactileFeedbackAudioLevel1.
 *
@@ -269,7 +399,7 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileAudioToneDurationBasicLevel1  = 0x00000043;
+const TUint32 KTactileAudioToneDurationBasicLevel1  = 0x00000045;
 
 /**
 * Audio duration setting for logical feedback type ETouchFeedbackBasic
@@ -282,7 +412,7 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileAudioToneDurationBasicLevel2  = 0x00000044;
+const TUint32 KTactileAudioToneDurationBasicLevel2  = 0x00000046;
 
 /**
 * Audio duration setting for logical feedback type ETouchFeedbackBasic
@@ -295,7 +425,33 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileAudioToneDurationBasicLevel3  = 0x00000045;
+const TUint32 KTactileAudioToneDurationBasicLevel3  = 0x00000047;
+
+/**
+* Audio duration setting for logical feedback type ETouchFeedbackBasic
+* and audio effect level ETactileFeedbackAudioLevel4.
+*
+* Duration is given in milliseconds.
+*
+* Possible values are:
+* Zero (disables this feedback type) or positive integers
+*
+* Default value: 10
+**/
+const TUint32 KTactileAudioToneDurationBasicLevel4  = 0x00000048;
+
+/**
+* Audio duration setting for logical feedback type ETouchFeedbackBasic
+* and audio effect level ETactileFeedbackAudioLevel5.
+*
+* Duration is given in milliseconds.
+*
+* Possible values are:
+* Zero (disables this feedback type) or positive integers
+*
+* Default value: 10
+**/
+const TUint32 KTactileAudioToneDurationBasicLevel5  = 0x00000049;
 
 /**
 * Audio volume setting for logical feedback type ETouchFeedbackBasic
@@ -309,7 +465,7 @@
 *
 * Default value: 20
 **/
-const TUint32 KTactileAudioToneVolumeBasicLevel1    = 0x00000046;
+const TUint32 KTactileAudioToneVolumeBasicLevel1    = 0x0000004a;
 
 /**
 * Audio volume setting for logical feedback type ETouchFeedbackBasic
@@ -323,7 +479,7 @@
 *
 * Default value: 40
 **/
-const TUint32 KTactileAudioToneVolumeBasicLevel2    = 0x00000047;
+const TUint32 KTactileAudioToneVolumeBasicLevel2    = 0x0000004b;
 
 /**
 * Audio volume setting for logical feedback type ETouchFeedbackBasic
@@ -337,7 +493,35 @@
 *
 * Default value: 60
 **/
-const TUint32 KTactileAudioToneVolumeBasicLevel3    = 0x00000048;
+const TUint32 KTactileAudioToneVolumeBasicLevel3    = 0x0000004c;
+
+/**
+* Audio volume setting for logical feedback type ETouchFeedbackBasic
+* and audio effect level ETactileFeedbackAudioLevel4.
+*
+* Volume level is given in percentages. 100% equals to 
+* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type.
+*
+* Possible values are:
+* 0 - 100 
+*
+* Default value: 80
+**/
+const TUint32 KTactileAudioToneVolumeBasicLevel4    = 0x0000004d;
+
+/**
+* Audio volume setting for logical feedback type ETouchFeedbackBasic
+* and audio effect level ETactileFeedbackAudioLevel5.
+*
+* Volume level is given in percentages. 100% equals to 
+* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type.
+*
+* Possible values are:
+* 0 - 100 
+*
+* Default value: 100
+**/
+const TUint32 KTactileAudioToneVolumeBasicLevel5    = 0x0000004e;
 
 
 /**
@@ -351,7 +535,7 @@
 *
 * Default value: 1100
 **/
-const TUint32 KTactileAudioToneFreqSensitiveLevel1  = 0x00000049;
+const TUint32 KTactileAudioToneFreqSensitiveLevel1  = 0x0000004f;
 
 /**
 * Audio frequency setting for logical feedback type ETouchFeedbackSensitive
@@ -364,7 +548,7 @@
 *
 * Default value: 1100
 **/
-const TUint32 KTactileAudioToneFreqSensitiveLevel2  = 0x0000004a;
+const TUint32 KTactileAudioToneFreqSensitiveLevel2  = 0x00000050;
 
 /**
 * Audio frequency setting for logical feedback type ETouchFeedbackSensitive
@@ -377,7 +561,33 @@
 *
 * Default value: 1100
 **/
-const TUint32 KTactileAudioToneFreqSensitiveLevel3  = 0x0000004b;
+const TUint32 KTactileAudioToneFreqSensitiveLevel3  = 0x00000051;
+
+/**
+* Audio frequency setting for logical feedback type ETouchFeedbackSensitive
+* and audio effect level ETactileFeedbackAudioLevel4.
+*
+* Frequency is given in Hz.
+*
+* Possible values are:
+* Positive integer values.
+*
+* Default value: 1100
+**/
+const TUint32 KTactileAudioToneFreqSensitiveLevel4  = 0x00000052;
+
+/**
+* Audio frequency setting for logical feedback type ETouchFeedbackSensitive
+* and audio effect level ETactileFeedbackAudioLevel5.
+*
+* Frequency is given in Hz.
+*
+* Possible values are:
+* Positive integer values.
+*
+* Default value: 1100
+**/
+const TUint32 KTactileAudioToneFreqSensitiveLevel5  = 0x00000053;
 
 
 /**
@@ -391,7 +601,7 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileAudioToneDurationSensitiveLevel1 = 0x0000004c;
+const TUint32 KTactileAudioToneDurationSensitiveLevel1 = 0x00000054;
 
 /**
 * Audio duration setting for logical feedback type ETouchFeedbackSensitive
@@ -404,7 +614,7 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileAudioToneDurationSensitiveLevel2 = 0x0000004d;
+const TUint32 KTactileAudioToneDurationSensitiveLevel2 = 0x00000055;
 
 /**
 * Audio duration setting for logical feedback type ETouchFeedbackSensitive
@@ -417,7 +627,33 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileAudioToneDurationSensitiveLevel3 = 0x0000004e;
+const TUint32 KTactileAudioToneDurationSensitiveLevel3 = 0x00000056;
+
+/**
+* Audio duration setting for logical feedback type ETouchFeedbackSensitive
+* and audio effect level ETactileFeedbackAudioLevel4.
+*
+* Duration is given in milliseconds.
+*
+* Possible values are:
+* Zero (disables this feedback type) or positive integers
+*
+* Default value: 10
+**/
+const TUint32 KTactileAudioToneDurationSensitiveLevel4 = 0x00000057;
+
+/**
+* Audio duration setting for logical feedback type ETouchFeedbackSensitive
+* and audio effect level ETactileFeedbackAudioLevel5.
+*
+* Duration is given in milliseconds.
+*
+* Possible values are:
+* Zero (disables this feedback type) or positive integers
+*
+* Default value: 10
+**/
+const TUint32 KTactileAudioToneDurationSensitiveLevel5 = 0x00000058;
 
 /**
 * Audio volume setting for logical feedback type ETouchFeedbackSensitive
@@ -431,7 +667,7 @@
 *
 * Default value: 10
 **/
-const TUint32 KTactileAudioToneVolumeSensitiveLevel1   = 0x0000004f;
+const TUint32 KTactileAudioToneVolumeSensitiveLevel1   = 0x00000059;
 
 /**
 * Audio volume setting for logical feedback type ETouchFeedbackSensitive
@@ -445,7 +681,7 @@
 *
 * Default value: 25
 **/
-const TUint32 KTactileAudioToneVolumeSensitiveLevel2   = 0x00000050;
+const TUint32 KTactileAudioToneVolumeSensitiveLevel2   = 0x0000005a;
 
 /**
 * Audio volume setting for logical feedback type ETouchFeedbackSensitive
@@ -459,7 +695,35 @@
 *
 * Default value: 40
 **/
-const TUint32 KTactileAudioToneVolumeSensitiveLevel3   = 0x00000051;
+const TUint32 KTactileAudioToneVolumeSensitiveLevel3   = 0x0000005b;
+
+/**
+* Audio volume setting for logical feedback type ETouchFeedbackSensitive
+* and audio effect level ETactileFeedbackAudioLevel4.
+*
+* Volume level is given in percentages. 100% equals to 
+* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type.
+*
+* Possible values are:
+* 0 - 100
+*
+* Default value: 55
+**/
+const TUint32 KTactileAudioToneVolumeSensitiveLevel4   = 0x0000005c;
+
+/**
+* Audio volume setting for logical feedback type ETouchFeedbackSensitive
+* and audio effect level ETactileFeedbackAudioLevel5.
+*
+* Volume level is given in percentages. 100% equals to 
+* CMdaAudioToneUtility::MaxVolume, and 0% will disable this feedback type.
+*
+* Possible values are:
+* 0 - 100
+*
+* Default value: 70
+**/
+const TUint32 KTactileAudioToneVolumeSensitiveLevel5   = 0x0000005d;
 
 // =============================================================================
 // Configuration options related to audio .wav feedback
--- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbackresolver.h	Tue Aug 31 15:30:39 2010 +0300
@@ -87,7 +87,7 @@
     void ModifyFeedback( TInt aIntensity );
     
     /**
-     * Stops the ongoing feedback.
+     * Stops the ongoing continuous feedback.
      *
      * @since S60 5.2
      */    
@@ -244,6 +244,12 @@
     CRepository*          iRepository;
     
     /**
+     * Central repository for reading profile settings.
+     * Own.
+     */
+    CRepository*          iProfileRepository;
+    
+    /**
      * Central repository notifier, which sends notification when tactile 
      * feedback settings has been changed.
      * Own.
--- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksession.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksession.h	Tue Aug 31 15:30:39 2010 +0300
@@ -74,7 +74,7 @@
     void ModifyFeedback( const RMessage2& aMessage );
     
     /**
-     * Stop feedback.
+     * Stop continuous feedback.
      */    
     void StopFeedback( const RMessage2& aMessage );
     
--- a/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksrv.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/inc/tactilefeedbacksrv.h	Tue Aug 31 15:30:39 2010 +0300
@@ -135,7 +135,7 @@
     void ModifyFeedback( TInt aIntensity );
     
     /**
-     * Stop feedback.
+     * Stop continuous feedback.
      */    
     void StopFeedback();
     
--- a/tactilefeedback/tactilefeedbackresolver/inc/tactileplayer.h	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/inc/tactileplayer.h	Tue Aug 31 15:30:39 2010 +0300
@@ -159,7 +159,7 @@
     IMPORT_C virtual TInt ModifyFeedback( TInt aIntensity );
     
     /**
-     * Stops feedback.
+     * Stops continuous feedback.
      *
      * @since S60 5.2
      */    
--- a/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactileaudioplugin/src/tactileaudioplayer.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -134,33 +134,36 @@
         {
         case ETouchFeedbackBasic:               // flow through
         case ETouchFeedbackBasicButton:         // flow through
-        case ETouchFeedbackList:                // flow through
-        case ETouchFeedbackBoundaryList:        // flow through
-        case ETouchFeedbackSlider:              // flow through
-        case ETouchFeedbackEdit:                // flow through
+        case ETouchFeedbackBasicItem:           // flow through
+        case ETouchFeedbackBounceEffect:        // flow through
+        case ETouchFeedbackBasicSlider:         // flow through
+        case ETouchFeedbackEditor:              // flow through
         case ETouchFeedbackLineSelection:       // flow through
         case ETouchFeedbackBlankSelection:      // flow through
         case ETouchFeedbackTextSelection:       // flow through
         case ETouchFeedbackEmptyLineSelection:  // flow through
-        case ETouchFeedbackTab:                 // flow through
         case ETouchFeedbackPopUp:               // flow through
-        case ETouchFeedbackIncreasingPopUp:     // flow through
-        case ETouchFeedbackDecreasingPopUp:     // flow through
-        case ETouchFeedbackFlick:               // flow through
+        case ETouchFeedbackPopupOpen:           // flow through
+        case ETouchFeedbackPopupClose:          // flow through
+        case ETouchFeedbackItemScroll:          // flow through
         case ETouchFeedbackCheckbox:            // flow through
-        case ETouchFeedbackCharacterInputButton:
-        case ETouchFeedbackOptionsMenuOpened:
-        case ETouchFeedbackOptionsMenuClosed:
-        case ETouchFeedbackSubMenuOpened:
-        case ETouchFeedbackSubMenuClosed:
-        case ETouchFeedbackLongTap:
-        case ETouchFeedbackMultiTouchRecognized:
+        case ETouchFeedbackMultitouchActivate:
+        case ETouchFeedbackBasicKeypad:
+        case ETouchFeedbackFlick:
+        case ETouchFeedbackItemDrop:
+        case ETouchFeedbackItemMoveOver:
+        case ETouchFeedbackItemPick:
+        case ETouchFeedbackMultipleCheckbox:
+        case ETouchFeedbackRotateStep:
+        case ETouchFeedbackStopFlick:
+        case ETouchFeedbackLongPress:
             volumeIndex = 0;
             break;
         case ETouchFeedbackSensitive:           // flow through
         case ETouchFeedbackSensitiveButton:     // flow through
-        case ETouchFeedbackSensitiveList:      
-        case ETouchFeedbackSensitiveInput:
+        case ETouchFeedbackSensitiveItem:      
+        case ETouchFeedbackSensitiveKeypad:
+        case ETouchFeedbackSensitiveSlider:
             volumeIndex = 1;
             break;
         default:
@@ -344,10 +347,9 @@
     iRepository.Get( KTactileAudioWavFileBasicLevel2, basicFileName );
 
     iRepository.Get( KTactileAudioWavFileSensitiveLevel2, sensitiveFileName );
-    
-    iVolumeLevels.Append( basicVolumeLevel );
-    iVolumeLevels.Append( sensitiveVolumeLevel );
-    
+    iVolumeLevels.AppendL( basicVolumeLevel );
+    iVolumeLevels.AppendL( sensitiveVolumeLevel );
+
     TRACE("CTactileAudioPlayer::ReadSettingsL() - End");
     }
 
--- a/tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/src/tactilehapticsplayer.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactilehapticsplugin/src/tactilehapticsplayer.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -46,36 +46,39 @@
 _LIT8( KTFSensitive,            "TFSensitive");
 _LIT8( KTFBasicButton,          "TFBasicButton");
 _LIT8( KTFSensitiveButton,      "TFSensitiveButton");
-_LIT8( KTFList,                 "TFList");
-_LIT8( KTFSensitiveList,        "TFSensitiveList");
-_LIT8( KTFBoundaryList,         "TFBoundaryList");
-_LIT8( KTFSlider,               "TFSlider");
-_LIT8( KTFEdit,                 "TFEdit");
+_LIT8( KTFBasicItem,            "TFBasicItem");             // Mapped to IVT file version 9.2
+_LIT8( KTFSensitiveItem,        "TFSensitiveItem");         // Mapped to IVT file version 9.2
+_LIT8( KTFBounceEffect,         "TFBounceEffect");          // Mapped to IVT file version 9.2
+_LIT8( KTFBasicSlider,          "TFBasicSlider");           // Mapped to IVT file version 9.2
+_LIT8( KTFEditor,               "TFEditor");                // Mapped to IVT file version 9.2
 _LIT8( KTFLineSelection,        "TFLineSelection");
 _LIT8( KTFBlankSelection,       "TFBlankSelection");
 _LIT8( KTFTextSelection,        "TFTextSelection");
 _LIT8( KTFEmptyLineSelection,   "TFEmptyLineSelection");
-_LIT8( KTFTab,                  "TFTab");
 _LIT8( KTFPopUp,                "TFPopUp");
-_LIT8( KTFIncreasingPopUp,      "TFIncreasingPopUp");
-_LIT8( KTFDecreasingPopUp,      "TFDecreasingPopUp");
-_LIT8( KTFFlick,                "TFFlick");
+_LIT8( KTFPopupOpen,            "TFPopupOpen");             // Mapped to IVT file version 9.2
+_LIT8( KTFPopupClose,           "TFPopupClose");            // Mapped to IVT file version 9.2
+_LIT8( KTFItemScroll,           "TFItemScroll");            // Mapped to IVT file version 9.2
 _LIT8( KTFCheckbox,             "TFCheckbox");
-_LIT8( KTFSensitiveInput,       "TFSensitiveInput");
-_LIT8( KTFCharacterInputButton, "TFCharacterInputButton");
-_LIT8( KTFOptionsMenuOpened,    "TFOptionsMenuOpened");
-_LIT8( KTFOptionsMenuClosed,    "TFOptionsMenuClosed");
-_LIT8( KTFSubMenuOpened,        "TFSubMenuOpened");
-_LIT8( KTFSubMenuClosed,        "TFSubMenuClosed");
-_LIT8( KTFLongTap,              "TFLongTap");
-_LIT8( KTFMultiTouchRecognized, "TFMultiTouchRecognized");
+_LIT8( KTFBasicKeypad,          "TFBasicKeypad");           // Mapped to IVT file version 10.1
+_LIT8( KTFSensitiveKeypad,      "TFSensitiveKeypad");       // Mapped to IVT file version 9.2
+_LIT8( KTFMultitouchActivate,   "TFMultitouchActivate");    // Mapped to IVT file version 9.2
+_LIT8( KTFFlick,                "TFFlick");                 // Mapped to IVT file version 10.1
+_LIT8( KTFItemDrop,             "TFItemDrop");              // Mapped to IVT file version 10.1
+_LIT8( KTFItemMoveOver,         "TFItemMoveOver");          // Mapped to IVT file version 10.1
+_LIT8( KTFItemPick,             "TFItemPick");              // Mapped to IVT file version 10.1
+_LIT8( KTFMultipleCheckbox,     "TFMultipleCheckbox");      // Mapped to IVT file version 10.1
+_LIT8( KTFRotateStep,           "TFRotateStep");            // Mapped to IVT file version 10.1
+_LIT8( KTFSensitiveSlider,      "TFSensitiveSlider");       // Mapped to IVT file version 10.1
+_LIT8( KTFStopFlick,            "TFStopFlick");             // Mapped to IVT file version 10.1
+_LIT8( KTFLongPress,              "TFLongPress");               // Mapped to IVT file version 10.1
 
 // Continuous feedback's names
 _LIT8( KTFContinuousSmooth,     "TFContinuousSmooth");
 _LIT8( KTFContinuousSlider,     "TFContinuousSlider");
 _LIT8( KTFContinuousInput,      "TFContinuousInput");
-_LIT8( KTFContinuousFlick,      "TFContinuousFlick");
-_LIT8( KTFDynamicSlider,        "TFDynamicSlider");
+_LIT8( KTFContinuousPopup,      "TFContinuousPopup");       // Mapped to IVT file version 10.1
+_LIT8( KTFContinuousPinch,      "TFContinuousPinch");       // Mapped to IVT file version 10.1
 // ---------------------------------------------------------------------------
 // Constructor.
 // ---------------------------------------------------------------------------
@@ -121,7 +124,7 @@
     // profiles engine
     InitializeProfilesEngineL();
     
-    if ( iVibraLevel > EProfileTactileFeedbackLevel3 )
+    if ( iVibraLevel > EProfileTactileFeedbackLevel5 )
         {
         User::Leave( KErrGeneral );
         }
@@ -232,20 +235,23 @@
         case ETouchFeedbackSensitiveButton:
             name = KTFSensitiveButton;
             break;
-        case ETouchFeedbackList:
-            name = KTFList;
+        case ETouchFeedbackBasicItem:
+            name = KTFBasicItem;
             break;
-        case ETouchFeedbackSensitiveList:
-            name = KTFSensitiveList;
+        case ETouchFeedbackSensitiveItem:
+            name = KTFSensitiveItem;
+            break;
+        case ETouchFeedbackBasicSlider:
+            name = KTFBasicSlider;
             break;
-        case ETouchFeedbackBoundaryList:
-            name = KTFBoundaryList;
+        case ETouchFeedbackSensitiveSlider:
+            name = KTFSensitiveSlider;
             break;
-        case ETouchFeedbackSlider:
-            name = KTFSlider;
+        case ETouchFeedbackBounceEffect:
+            name = KTFBounceEffect;
             break;
-        case ETouchFeedbackEdit:
-            name = KTFEdit;
+        case ETouchFeedbackEditor:
+            name = KTFEditor;
             break;
         case ETouchFeedbackLineSelection:
             name = KTFLineSelection;
@@ -259,47 +265,53 @@
         case ETouchFeedbackEmptyLineSelection:
             name = KTFEmptyLineSelection;
             break;                        
-        case ETouchFeedbackTab:
-            name = KTFTab;
-            break;
         case ETouchFeedbackPopUp:  
             name = KTFPopUp;
             break; 
-       case ETouchFeedbackIncreasingPopUp:
-            name = KTFIncreasingPopUp;
+       case ETouchFeedbackPopupOpen:
+            name = KTFPopupOpen;
             break;     
-        case ETouchFeedbackDecreasingPopUp:
-            name = KTFDecreasingPopUp;
+        case ETouchFeedbackPopupClose:
+            name = KTFPopupClose;
             break;
-        case ETouchFeedbackFlick:
-            name = KTFFlick;
+        case ETouchFeedbackItemScroll:
+            name = KTFItemScroll;
             break;
         case ETouchFeedbackCheckbox:
             name = KTFCheckbox;
             break;
-        case ETouchFeedbackSensitiveInput:
-            name = KTFSensitiveInput;
+        case ETouchFeedbackBasicKeypad:
+            name = KTFBasicKeypad;
             break;
-        case ETouchFeedbackCharacterInputButton:
-            name = KTFCharacterInputButton;
+        case ETouchFeedbackSensitiveKeypad:
+            name = KTFSensitiveKeypad;
             break;
-        case ETouchFeedbackOptionsMenuOpened:
-            name = KTFOptionsMenuOpened;
+        case ETouchFeedbackMultitouchActivate:
+            name = KTFMultitouchActivate;
             break;
-        case ETouchFeedbackOptionsMenuClosed:
-            name = KTFOptionsMenuClosed;
+        case ETouchFeedbackFlick:
+            name = KTFFlick;
+            break;
+        case ETouchFeedbackItemDrop:
+            name = KTFItemDrop;
             break;
-        case ETouchFeedbackSubMenuOpened:
-            name = KTFSubMenuOpened;
+        case ETouchFeedbackItemMoveOver:
+            name = KTFItemMoveOver;
             break;
-        case ETouchFeedbackSubMenuClosed:
-            name = KTFSubMenuClosed;
+        case ETouchFeedbackItemPick:
+            name = KTFItemPick;
+            break;
+        case ETouchFeedbackMultipleCheckbox:
+            name = KTFMultipleCheckbox;
             break;
-        case ETouchFeedbackLongTap:
-            name = KTFLongTap;
+        case ETouchFeedbackRotateStep:
+            name = KTFRotateStep;
             break;
-        case ETouchFeedbackMultiTouchRecognized:
-            name = KTFMultiTouchRecognized;
+        case ETouchFeedbackStopFlick:
+            name = KTFStopFlick;
+            break;
+        case ETouchFeedbackLongPress:
+            name = KTFLongPress;
             break;
         default:
             User::Leave( KErrArgument );
@@ -335,6 +347,12 @@
         case EProfileTactileFeedbackLevel3:
             fileId = KTactileHapticsLevel3IVTFile;
             break;
+        case EProfileTactileFeedbackLevel4:
+            fileId = KTactileHapticsLevel4IVTFile;
+            break;
+        case EProfileTactileFeedbackLevel5:
+            fileId = KTactileHapticsLevel5IVTFile;
+            break;
         }
     return fileId;
     }
@@ -398,12 +416,12 @@
         case ETouchContinuousInput:
             name = KTFContinuousInput;
             break;
-        case ETouchContinuousFlick:
-            name = KTFContinuousFlick;
+        case ETouchContinuousPopup:
+            name = KTFContinuousPopup;
+            break;
+        case ETouchContinuousPinch:
+            name = KTFContinuousPinch;
             break;    
-        case ETouchDynamicSlider:
-            name = KTFDynamicSlider;
-            break;
         default:
             ret = KErrArgument;
             break;
@@ -581,6 +599,8 @@
         case KTactileHapticsLevel1IVTFile:
         case KTactileHapticsLevel2IVTFile:
         case KTactileHapticsLevel3IVTFile:
+        case KTactileHapticsLevel4IVTFile:
+        case KTactileHapticsLevel5IVTFile:
             {
             TFileName ivtFile;
             iRepository.Get( aId, ivtFile );
--- a/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/group/tactiletoneplugin.mmp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/group/tactiletoneplugin.mmp	Tue Aug 31 15:30:39 2010 +0300
@@ -53,4 +53,4 @@
 LIBRARY                 ecom.lib
 LIBRARY                 mediaclientaudio.lib
 LIBRARY                 tactilefeedbackresolver.lib
-LIBRARY                 profileeng.lib
+LIBRARY                 profileeng.lib 
--- a/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactiletoneplugin/src/tactiletoneplayer.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -67,7 +67,7 @@
     // settings from profiles engine
     InitializeProfilesEngineL();
                                          
-    if ( iAudioLevel > EProfileAudioFeedbackLevel3 )
+    if ( iAudioLevel > EProfileAudioFeedbackLevel5 )
         {
         User::Leave( KErrGeneral );
         }
@@ -139,33 +139,36 @@
             {
             case ETouchFeedbackBasic:               // flow through
             case ETouchFeedbackBasicButton:         // flow through
-            case ETouchFeedbackList:                // flow through
-            case ETouchFeedbackBoundaryList:        // flow through
-            case ETouchFeedbackSlider:              // flow through
-            case ETouchFeedbackEdit:                // flow through
+            case ETouchFeedbackBasicItem:           // flow through
+            case ETouchFeedbackBounceEffect:        // flow through
+            case ETouchFeedbackBasicSlider:         // flow through
+            case ETouchFeedbackEditor:              // flow through
             case ETouchFeedbackLineSelection:       // flow through
             case ETouchFeedbackBlankSelection:      // flow through
             case ETouchFeedbackTextSelection:       // flow through
             case ETouchFeedbackEmptyLineSelection:  // flow through
-            case ETouchFeedbackTab:                 // flow through
             case ETouchFeedbackPopUp:               // flow through
-            case ETouchFeedbackIncreasingPopUp:     // flow through
-            case ETouchFeedbackDecreasingPopUp:     // flow through
-            case ETouchFeedbackFlick:               // flow through
+            case ETouchFeedbackPopupOpen:           // flow through
+            case ETouchFeedbackPopupClose:          // flow through
+            case ETouchFeedbackItemScroll:          // flow through
             case ETouchFeedbackCheckbox:            // flow through
-            case ETouchFeedbackCharacterInputButton:
-            case ETouchFeedbackOptionsMenuOpened:
-            case ETouchFeedbackOptionsMenuClosed:
-            case ETouchFeedbackSubMenuOpened:
-            case ETouchFeedbackSubMenuClosed:
-            case ETouchFeedbackLongTap:
-            case ETouchFeedbackMultiTouchRecognized:
+            case ETouchFeedbackMultitouchActivate:
+            case ETouchFeedbackBasicKeypad:
+            case ETouchFeedbackFlick:
+            case ETouchFeedbackItemDrop:
+            case ETouchFeedbackItemMoveOver:
+            case ETouchFeedbackItemPick:
+            case ETouchFeedbackMultipleCheckbox:
+            case ETouchFeedbackRotateStep:
+            case ETouchFeedbackStopFlick:
+            case ETouchFeedbackLongPress:
                 effectIndex = 0;
                 break;
             case ETouchFeedbackSensitive:           // flow through
             case ETouchFeedbackSensitiveButton:     // flow through
-            case ETouchFeedbackSensitiveList:      
-            case ETouchFeedbackSensitiveInput:
+            case ETouchFeedbackSensitiveItem:      
+            case ETouchFeedbackSensitiveKeypad:
+            case ETouchFeedbackSensitiveSlider:
                 effectIndex = 1;                    
                 break;                              
             default:                                
@@ -217,7 +220,7 @@
     TInt ret( KErrArgument );
     
     if ( aLevel > EProfileAudioFeedbackOff  &&
-         aLevel <= EProfileAudioFeedbackLevel3 )
+         aLevel <= EProfileAudioFeedbackLevel5 )
         {
         iOriginalLevel = iAudioLevel;
         iAudioLevel = aLevel;
@@ -362,6 +365,42 @@
         iRepository.Get( KTactileAudioToneVolumeSensitiveLevel3,  
                          sensitiveParams.iVolume );        
         }
+    else if ( iAudioLevel == EProfileAudioFeedbackLevel4  )
+        {
+        // Read settings for ETouchFeedbackBasic, level 4
+        iRepository.Get( KTactileAudioToneFreqBasicLevel4,     
+                         basicParams.iFrequency );
+        iRepository.Get( KTactileAudioToneDurationBasicLevel4, 
+                         basicDuration );
+        iRepository.Get( KTactileAudioToneVolumeBasicLevel4,   
+                         basicParams.iVolume );
+        
+        // Read settings for ETouchFeedbackSensitive, level 4
+        iRepository.Get( KTactileAudioToneFreqSensitiveLevel4, 
+                         sensitiveParams.iFrequency );
+        iRepository.Get( KTactileAudioToneDurationSensitiveLevel4,  
+                         sensitiveDuration );
+        iRepository.Get( KTactileAudioToneVolumeSensitiveLevel4,  
+                         sensitiveParams.iVolume );
+        }
+    else if ( iAudioLevel == EProfileAudioFeedbackLevel5  )
+        {
+        // Read settings for ETouchFeedbackBasic, level 5
+        iRepository.Get( KTactileAudioToneFreqBasicLevel5,     
+                         basicParams.iFrequency );
+        iRepository.Get( KTactileAudioToneDurationBasicLevel5, 
+                         basicDuration );
+        iRepository.Get( KTactileAudioToneVolumeBasicLevel5,   
+                         basicParams.iVolume );
+        
+        // Read settings for ETouchFeedbackSensitive, level 5
+        iRepository.Get( KTactileAudioToneFreqSensitiveLevel5, 
+                         sensitiveParams.iFrequency );
+        iRepository.Get( KTactileAudioToneDurationSensitiveLevel5,  
+                         sensitiveDuration );
+        iRepository.Get( KTactileAudioToneVolumeSensitiveLevel5,  
+                         sensitiveParams.iVolume );
+        }
      
     // Clear old parameters. Only do it at end, so that we still have the
     // old settings in case something fails when reading these from 
@@ -382,8 +421,9 @@
     sensitiveParams.iVolume = ScaleVolume( sensitiveParams.iVolume );
     
     // Store parameters for different feedback types
-    iSoundParams.Append( basicParams );
-    iSoundParams.Append( sensitiveParams );
+    // if append fail just make its action like before
+    TRAP_IGNORE( iSoundParams.AppendL( basicParams ) );
+    TRAP_IGNORE( iSoundParams.AppendL( sensitiveParams ) );
     TRACE("CTactileTonePlayer::ReadSettingsL - End");        
     }
 
--- a/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/plugins/tactilevibraplugin/src/tactilevibraplayer.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -52,7 +52,7 @@
     User::LeaveIfError( iRepository.Get( KTactileFeedbackHapticsStrength, 
                                          iVibraLevel ) );
                                          
-    if ( iVibraLevel > EProfileTactileFeedbackLevel3 )
+    if ( iVibraLevel > EProfileTactileFeedbackLevel5 )
         {
         User::Leave( KErrGeneral );
         }
@@ -114,33 +114,36 @@
             {
             case ETouchFeedbackBasic:               // flow through
             case ETouchFeedbackBasicButton:         // flow through
-            case ETouchFeedbackList:                // flow through
-            case ETouchFeedbackBoundaryList:        // flow through
-            case ETouchFeedbackSlider:              // flow through
-            case ETouchFeedbackEdit:                // flow through
+            case ETouchFeedbackBasicItem:           // flow through
+            case ETouchFeedbackBounceEffect:        // flow through
+            case ETouchFeedbackBasicSlider:         // flow through
+            case ETouchFeedbackEditor:              // flow through
             case ETouchFeedbackLineSelection:       // flow through
             case ETouchFeedbackBlankSelection:      // flow through
             case ETouchFeedbackTextSelection:       // flow through
             case ETouchFeedbackEmptyLineSelection:  // flow through
-            case ETouchFeedbackTab:                 // flow through
             case ETouchFeedbackPopUp:               // flow through
-            case ETouchFeedbackIncreasingPopUp:     // flow through
-            case ETouchFeedbackDecreasingPopUp:     // flow through
-            case ETouchFeedbackFlick:               // flow through
+            case ETouchFeedbackPopupOpen:           // flow through
+            case ETouchFeedbackPopupClose:          // flow through
+            case ETouchFeedbackItemScroll:          // flow through
             case ETouchFeedbackCheckbox:            // flow through
-            case ETouchFeedbackCharacterInputButton:
-            case ETouchFeedbackOptionsMenuOpened:
-            case ETouchFeedbackOptionsMenuClosed:
-            case ETouchFeedbackSubMenuOpened:
-            case ETouchFeedbackSubMenuClosed:
-            case ETouchFeedbackLongTap:
-            case ETouchFeedbackMultiTouchRecognized:
+            case ETouchFeedbackMultitouchActivate:
+            case ETouchFeedbackBasicKeypad:
+            case ETouchFeedbackFlick:
+            case ETouchFeedbackItemDrop:
+            case ETouchFeedbackItemMoveOver:
+            case ETouchFeedbackItemPick:
+            case ETouchFeedbackMultipleCheckbox:
+            case ETouchFeedbackRotateStep:
+            case ETouchFeedbackStopFlick:
+            case ETouchFeedbackLongPress:
                 effectIndex = 0;
                 break;
             case ETouchFeedbackSensitive:           // flow through
             case ETouchFeedbackSensitiveButton:     // flow through
-            case ETouchFeedbackSensitiveList:      
-            case ETouchFeedbackSensitiveInput:
+            case ETouchFeedbackSensitiveItem:      
+            case ETouchFeedbackSensitiveKeypad:
+            case ETouchFeedbackSensitiveSlider:
                 effectIndex = 1;                    
                 break;                              
             default:                                
@@ -213,7 +216,7 @@
     TInt ret( KErrArgument );
     
     if ( aLevel > EProfileTactileFeedbackOff  &&
-         aLevel <= EProfileTactileFeedbackLevel3 )
+         aLevel <= EProfileTactileFeedbackLevel5 )
         {
         iOriginalLevel = iVibraLevel;
         iVibraLevel = aLevel;
@@ -283,11 +286,39 @@
         iRepository.Get( KTactileVibraDurationSensitiveLevel3,  
                           sensitiveParams.iTime );
         }
+    else if ( iVibraLevel == EProfileTactileFeedbackLevel4 )
+        {
+        // Read settings for ETouchFeedbackBasic
+        iRepository.Get( KTactileVibraIntensityBasicLevel4, 
+                          basicParams.iIntensity );
+        iRepository.Get( KTactileVibraDurationBasicLevel4,  
+                          basicParams.iTime );
+        
+        // Read settings for ETouchFeedbackSensitive
+        iRepository.Get( KTactileVibraIntensitySensitiveLevel4, 
+                          sensitiveParams.iIntensity );
+        iRepository.Get( KTactileVibraDurationSensitiveLevel4,  
+                          sensitiveParams.iTime );
+        }
+    else if ( iVibraLevel == EProfileTactileFeedbackLevel5 )
+        {
+        // Read settings for ETouchFeedbackBasic
+        iRepository.Get( KTactileVibraIntensityBasicLevel5, 
+                          basicParams.iIntensity );
+        iRepository.Get( KTactileVibraDurationBasicLevel5,  
+                          basicParams.iTime );
+        
+        // Read settings for ETouchFeedbackSensitive
+        iRepository.Get( KTactileVibraIntensitySensitiveLevel5, 
+                          sensitiveParams.iIntensity );
+        iRepository.Get( KTactileVibraDurationSensitiveLevel5,  
+                          sensitiveParams.iTime );
+        }
     
     iVibraParams.Reset();
 
-    iVibraParams.Append( basicParams );        
-    iVibraParams.Append( sensitiveParams );         
+    TRAP_IGNORE( iVibraParams.AppendL( basicParams ) );
+    TRAP_IGNORE( iVibraParams.AppendL( sensitiveParams ) );
     TRACE("CTactileVibraPlayer::ReadSettings - End");      
     }    
     
--- a/tactilefeedback/tactilefeedbackresolver/rom/tactilefeedbackresolver.iby	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/rom/tactilefeedbackresolver.iby	Tue Aug 31 15:30:39 2010 +0300
@@ -27,8 +27,10 @@
 file=ABI_DIR\BUILD_DIR\tactilefeedbackresolver.dll SHARED_LIB_DIR\tactilefeedbackresolver.dll
 
 // audio file(s) used for wav feed back    
-data=ZPRIVATE\10003B20\9.2_TactileFeedbackLevel1_A.ivt  private\10003B20\9.2_TactileFeedbackLevel1_A.ivt
-data=ZPRIVATE\10003B20\9.2_TactileFeedbackLevel2_A.ivt  private\10003B20\9.2_TactileFeedbackLevel2_A.ivt
-data=ZPRIVATE\10003B20\9.2_TactileFeedbackLevel3_A.ivt  private\10003B20\9.2_TactileFeedbackLevel3_A.ivt
+data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel1_A.ivt  private\10003B20\10.1_TactileFeedbackLevel1_A.ivt
+data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel2_A.ivt  private\10003B20\10.1_TactileFeedbackLevel2_A.ivt
+data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel3_A.ivt  private\10003B20\10.1_TactileFeedbackLevel3_A.ivt
+data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel4_A.ivt  private\10003B20\10.1_TactileFeedbackLevel4_A.ivt
+data=ZPRIVATE\10003B20\10.1_TactileFeedbackLevel5_A.ivt  private\10003B20\10.1_TactileFeedbackLevel5_A.ivt
 
 #endif // TACTILEFEEDBACKRESOLVER_IBY
--- a/tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/src/tactilefeedbackresolver.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -23,6 +23,7 @@
 
 #include <centralrepository.h>
 #include <ecom/implementationinformation.h>
+#include <ProfileEngineInternalCRKeys.h>
 
 #include "tactilefeedbackprivatecrkeys.h"
 #include "tactilefeedbackinternalpskeys.h"
@@ -103,6 +104,7 @@
     {
     delete iCenRepNotifier;
     delete iRepository;
+    delete iProfileRepository;
     delete iPropertyWatcher;
     delete iHapticsPlayer;
     delete iAudioPlayer;
@@ -112,25 +114,21 @@
 TBool CTactileFeedbackResolver::IsHigherThanPlaying(
     TTouchLogicalFeedback aFeedback ) const
     {
-    if( aFeedback == ETouchFeedbackList &&
-        iLastFeedback == ETouchFeedbackSensitiveList )
+    if( aFeedback == ETouchFeedbackBasicItem &&
+        iLastFeedback == ETouchFeedbackSensitiveItem )
         {
         return ETrue;
         }
     
-    return ( ( aFeedback == ETouchFeedbackPopUp || 
-            aFeedback == ETouchFeedbackIncreasingPopUp || 
-            aFeedback == ETouchFeedbackDecreasingPopUp ||
-            aFeedback == ETouchFeedbackBoundaryList ||
-            aFeedback == ETouchFeedbackOptionsMenuOpened ||
-            aFeedback == ETouchFeedbackOptionsMenuClosed ||
-            aFeedback == ETouchFeedbackSubMenuOpened ||
-            aFeedback == ETouchFeedbackSubMenuClosed ) &&
+    return ( aFeedback == ETouchFeedbackPopUp || 
+            aFeedback == ETouchFeedbackPopupOpen || 
+            aFeedback == ETouchFeedbackPopupClose ||
+            aFeedback == ETouchFeedbackBounceEffect ) &&
             ( iLastFeedback == ETouchFeedbackBasicButton ||
             iLastFeedback == ETouchFeedbackSensitiveButton ||
-            iLastFeedback == ETouchFeedbackSensitiveList ||
-            iLastFeedback == ETouchFeedbackList ||
-            iLastFeedback == ETouchFeedbackCheckbox ) );
+            iLastFeedback == ETouchFeedbackSensitiveItem ||
+            iLastFeedback == ETouchFeedbackBasicItem ||
+            iLastFeedback == ETouchFeedbackCheckbox );
     }
 
 // ---------------------------------------------------------------------------
@@ -147,6 +145,14 @@
     TBool aPlayAudio )
     {
     // TRACE("CTactileFeedbackResolver::PlayFeedback - Begin");
+    
+    // A temporary solution to change effect of ETouchFeedbackSensitiveSlider,
+    // it will be removed when the IVT files is ready.
+    if( ETouchFeedbackSensitiveSlider == aFeedback )
+        {
+        aFeedback = ETouchFeedbackBasicSlider;
+        }
+
     // Feedback filtering in order to prevent too many feedbacks
     // in a short time (e.g. when doing text selection).    
     TTime now;
@@ -190,6 +196,16 @@
             aPlayAudio = EFalse;
             }
         
+        // check silent mode, if device is in silent mode, 
+        // audio feedback is not allowed.
+        TInt err;
+        TInt isAudioSupported;
+        err = iProfileRepository->Get( KProEngSilenceMode, isAudioSupported );
+        if ( KErrNone == err && 1 == isAudioSupported )
+            {
+            aPlayAudio = EFalse;
+            }
+
         if ( ( aPlayVibra || aPlayAudio ) &&        // #1
                aFeedback != ETouchFeedbackNone )    // #2
             {
@@ -234,7 +250,12 @@
     if ( !iRepository )
         {
         iRepository = CRepository::NewL( KCRUidTactileFeedback );    
-        }    
+        }
+
+    if ( !iProfileRepository )
+        {
+        iProfileRepository = CRepository::NewL( KCRUidProfileEngine );
+        }
     
     TInt minInterval(0);
     // Read and store minimun feedback interfal
@@ -369,7 +390,7 @@
     }
     
 // ---------------------------------------------------------------------------
-// Stop feedback.
+// Stop continuous feedback.
 // ---------------------------------------------------------------------------
 //    
 void CTactileFeedbackResolver::StopFeedback()
@@ -389,6 +410,13 @@
                           TTouchLogicalFeedback aFeedback,
                           TTouchFeedbackType aType )
     {
+    // A temporary solution to change effect of ETouchFeedbackSensitiveSlider,
+    // it will be removed when the IVT files is ready.
+    if( ETouchFeedbackSensitiveSlider == aFeedback )
+        {
+        aFeedback = ETouchFeedbackBasicSlider;
+        }
+    
     if ( aType & ETouchFeedbackVibra && iHapticsPlayer )
         {
         iHapticsPlayer->PlayPreviewFeedback( aLevel, aFeedback );
--- a/tactilefeedback/tactilefeedbackresolver/src/tactileplayer.cpp	Thu Aug 19 10:13:11 2010 +0300
+++ b/tactilefeedback/tactilefeedbackresolver/src/tactileplayer.cpp	Tue Aug 31 15:30:39 2010 +0300
@@ -118,8 +118,8 @@
 //    
 EXPORT_C void CTactilePlayer::StopFeedback()
     {
-    // Empty implementation for plugins, which needn't stop 
-    // playing feedback.
+    // Empty implementation for plugins, which don't support 
+    // continuous feedback.
     }
     
 // ---------------------------------------------------------------------------