phoneuis/easydialing/inc/easydialingplugin.h
branchRCL_3
changeset 25 91c2fb4b78df
parent 19 544e34b3255a
child 34 b68fcd923911
--- a/phoneuis/easydialing/inc/easydialingplugin.h	Wed Apr 14 15:56:42 2010 +0300
+++ b/phoneuis/easydialing/inc/easydialingplugin.h	Tue Apr 27 16:37:10 2010 +0300
@@ -85,7 +85,8 @@
                            public MContactDataManagerObserver,
                            public MEDContactorObserver,
                            public MEikListBoxObserver,
-                           public MAknInputBlockCancelHandler
+                           public MAknInputBlockCancelHandler,
+                           public MCoeForegroundObserver
 {
 public:
 
@@ -274,6 +275,15 @@
     */
     void AknInputBlockCancel();
 
+    /**
+    * From MCoeForegroundObserver.
+    */
+    void HandleGainingForeground();
+    
+    /**
+    * From MCoeForegroundObserver.
+    */
+    void HandleLosingForeground();
 
 private:
 
@@ -374,15 +384,21 @@
         ESendMessageCurrentContact,
         ELaunchCurrentContact,
         ELaunchSearch,
-        EInitializePcs
+        EInitializePcs,
+        ESimulateKeyEvent
         };
     
     /**
+     * Simulates a key event asynchronously
+     */
+    void AsyncSimulateKeyEvent( const TKeyEvent& aKeyEvent );
+    
+    /**
      * Initiates asynchronous callback to launch action and sets
      * input blocker active. 
      */
-    void AsyncActionLaunchL( const TEasyDialingAction aAction );
-       
+    void AsyncActionLaunchL( TEasyDialingAction aAction );
+    
     /**
      * Callback for CAsyncCallBack. Launches action set in iActionToBeLaunched
      * and stops input block when launch is done.
@@ -413,6 +429,12 @@
      * Makes contact listbox invisible. Effect is used if feasible.
      */  
     void HideContactListBoxWithEffect();
+    
+    /**
+     * Checks if listbox effect can be triggered. Eg checks if 
+     * app is in the foreground.
+     */  
+    TBool CanListBoxEffectBeUsed() const;
 
 
 private:
@@ -494,6 +516,13 @@
     
     /** Action to be launched next asynchronously. */
     TEasyDialingAction iActionToBeLaunched;
+    
+    /** Key event to be simulated asynchronously. */
+    TKeyEvent iKeyEventToSimulate;
+    
+    /** Is virtual keyboard currently open or not.*/
+    TBool iVirtualKeyboardOpen;
+    
 };