uiacceltk/hitchcock/coretoolkit/src/HuiStatic.cpp
branchRCL_3
changeset 8 10534483575f
parent 7 433cbbb6a04b
child 10 88b23e2e82e1
--- a/uiacceltk/hitchcock/coretoolkit/src/HuiStatic.cpp	Fri Mar 12 15:47:04 2010 +0200
+++ b/uiacceltk/hitchcock/coretoolkit/src/HuiStatic.cpp	Mon Mar 15 12:43:37 2010 +0200
@@ -70,7 +70,7 @@
             iStatus = KErrNotFound;
             }
 
-        static void DoGuardedOpL(const TAlfCommandParams& aInParams, 
+        static TInt DoGuardedOpErrL(const TAlfCommandParams& aInParams, 
                                   TDes8& aOutParams,
                                   RNotifier& aNotifier,
                                   const TDesC8* aInParams2 = 0 // ugly extension, really
@@ -113,21 +113,36 @@
                 User::WaitForRequest(me->iTimerStatus);
                 aOutParams.Copy(*me->iRetBuf);    
                 delete me;
-                User::LeaveIfError(err);
+                return err;
                 }
             else 
                 {
                 me->SetActive(); 
-                User::Leave( KErrTimedOut );
+                return KErrTimedOut;
                 }
             }
 
+        static void DoGuardedOpL(const TAlfCommandParams& aInParams, 
+                                  TDes8& aOutParams,
+                                  RNotifier& aNotifier,
+                                  const TDesC8* aInParams2 = 0 // ugly extension, really
+                                  )
+            {
+            TInt err = DoGuardedOpErrL(aInParams, aOutParams, aNotifier, aInParams2);
+            User::LeaveIfError(err);
+            }
+
         static TInt DoGuardedOp(const TAlfCommandParams& aInParams, 
                                   TDes8& aOutParams,
                                   RNotifier& aNotifier)
             {
             TInt ret = KErrNone;    
-            TRAP(ret, DoGuardedOpL(aInParams, aOutParams, aNotifier);)
+            TInt err = KErrNone;
+            TRAP(ret, err = DoGuardedOpErrL(aInParams, aOutParams, aNotifier);)
+            if (ret == KErrNone)
+                {
+                ret = err;
+                }
             return ret;
             }    
 
@@ -176,9 +191,8 @@
             iNotif.iLayoutMirrored = (iStatus.Int() > 0);         
             SetActive();
             TAlfCommandParams params={EAlfIsMirrorred,0,0,0};
-            TPckgC<TAlfCommandParams> pkg(params);
-            TBuf8<1> awkwardApiDummy;
-            iNotif.iNotif.StartNotifierAndGetResponse(iStatus,TUid::Uid(KAlfAppFwProxyUid), pkg, awkwardApiDummy);            
+            iParams() = params;
+            iNotif.iNotif.StartNotifierAndGetResponse(iStatus,TUid::Uid(KAlfAppFwProxyUid), iParams, iAwkwardApiDummy);
             }
     
         void DoCancel()
@@ -189,6 +203,9 @@
 
         private:
             CAppFwProxy& iNotif;
+
+            TBuf8<1> iAwkwardApiDummy;
+            TPckgBuf<TAlfCommandParams> iParams;
             };    
 
     CAppFwProxy():iLayoutMirrored(KErrNotFound)