qtmobileextensions/src/keycapture/responsehandlerex.cpp
changeset 19 46686fb6258c
parent 14 6fbed849b4f4
--- a/qtmobileextensions/src/keycapture/responsehandlerex.cpp	Tue Jul 06 15:12:50 2010 +0300
+++ b/qtmobileextensions/src/keycapture/responsehandlerex.cpp	Wed Aug 18 10:38:12 2010 +0300
@@ -28,7 +28,7 @@
 
 #include <remconcallhandlingtarget.h>
 
-ResponseHandlerEx::ResponseHandlerEx(
+CResponseHandlerEx::CResponseHandlerEx(
         CRemConCallHandlingTarget& aRemConCallHandlingTarget) :
     CActive(CActive::EPriorityStandard), iRemConCallHandlingTarget(
             aRemConCallHandlingTarget)
@@ -36,22 +36,22 @@
     CActiveScheduler::Add(this);
 }
 
-ResponseHandlerEx* ResponseHandlerEx::NewL(
+CResponseHandlerEx* CResponseHandlerEx::NewL(
         CRemConCallHandlingTarget& aRemConCallHandlingTarget)
 {
-    ResponseHandlerEx* self = new (ELeave) ResponseHandlerEx(
+    CResponseHandlerEx* self = new (ELeave) CResponseHandlerEx(
             aRemConCallHandlingTarget);
 
     return self;
 }
 
-ResponseHandlerEx::~ResponseHandlerEx()
+CResponseHandlerEx::~CResponseHandlerEx()
 {
     Cancel();
     iResponseArray.Close();
 }
 
-void ResponseHandlerEx::CompleteAnyKey(int id)
+void CResponseHandlerEx::CompleteAnyKey(int id)
 {
     if (!IsActive())
         {
@@ -66,11 +66,13 @@
         }
 }
 
-void ResponseHandlerEx::DoCancel()
+void CResponseHandlerEx::DoCancel()
 {
+    if ( iResponseArray.Count() )
+        iRemConCallHandlingTarget.Cancel();
 }
 
-void ResponseHandlerEx::RunL()
+void CResponseHandlerEx::RunL()
 {
     // if any existing -> Send response
     if (iResponseArray.Count())
@@ -80,4 +82,7 @@
         iResponseArray.Remove(0);
         iResponseArray.Compress();
         }
+    
+    if ( iResponseArray.Count() )
+        SetActive();
 }