tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp
changeset 27 dabdd02a1ba9
parent 22 4838b44af342
child 30 fb04b611ffe7
--- a/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp	Fri Jun 11 13:57:13 2010 +0300
+++ b/tactilefeedback/tactilefeedbackclient/src/touchfeedbackimpl.cpp	Wed Jun 23 18:31:51 2010 +0300
@@ -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).
 //
@@ -1730,9 +1759,8 @@
     item.iEventType = aEventType;        
     
 	// range check. update when logical feedback types are changed.
-    if (! ( aFeedback >= ETouchFeedbackNone || aFeedback <= ETouchFeedbackSensitive) 
-     || ! ( aFeedback >= ETouchFeedbackBasicButton || 
-            aFeedback <= ETouchFeedbackOptionsMenuClosed ) )
+    if ( !(aFeedback >= ETouchFeedbackNone && aFeedback <= ETouchFeedbackSensitive) 
+            && !(aFeedback >= ETouchFeedbackBasicButton && aFeedback <= ETouchFeedbackLongPress) )
         {
         return KErrArgument;
         }