homescreensrv_plat/sapi_actionhandler/actionhandlerplugins/src/ahpapplauncher.cpp
changeset 66 32469d7d46ff
parent 0 79c6a41cd166
--- a/homescreensrv_plat/sapi_actionhandler/actionhandlerplugins/src/ahpapplauncher.cpp	Fri Apr 16 15:16:09 2010 +0300
+++ b/homescreensrv_plat/sapi_actionhandler/actionhandlerplugins/src/ahpapplauncher.cpp	Mon May 03 12:48:45 2010 +0300
@@ -77,7 +77,7 @@
     TInt errCode(KErrArgument);
     RBuf launchMethod;
     CleanupClosePushL( launchMethod );
-    
+
     if ( !ExtractDesL( aMap, launchMethod, KLaunchMethod ) )
         {
         if ( !launchMethod.CompareF( KLaunchMethodValueCmdLine ) )
@@ -90,8 +90,8 @@
             errCode = ExecuteApaMessageL( aMap );
             }
         }
-        
-    CleanupStack::PopAndDestroy( &launchMethod );       
+
+    CleanupStack::PopAndDestroy( &launchMethod );
     return errCode;
     }
 
@@ -133,19 +133,19 @@
 // ---------------------------------------------------------------------------
 // Executes provided apa message action
 // ---------------------------------------------------------------------------
-// 
+//
 TInt CAHAppLauncher::ExecuteApaMessageL( const CLiwMap* aMap )
     {
     TInt errCode(KErrArgument);
     TUid appUid= TUid::Null( );
     if ( !ExtractUidL( aMap, appUid, KApplicationUid ) )
         {
-        TApaTaskList taskList( iEnv->WsSession() );       
+        TApaTaskList taskList( iEnv->WsSession() );
         TApaTask task = taskList.FindApp( appUid );
         if ( task.Exists( ) )
             {
             TUid messageUid= TUid::Null( );
-            
+
             RBuf8 additionalData;
             CleanupClosePushL( additionalData );
             if ( !ExtractUidL( aMap, messageUid, KMessageUid )
@@ -153,7 +153,7 @@
                 {
                 errCode = task.SendMessage( messageUid, additionalData );
                 }
-            CleanupStack::PopAndDestroy( &additionalData );    
+            CleanupStack::PopAndDestroy( &additionalData );
             }
         else
             { // app not yet running
@@ -170,7 +170,7 @@
                     errCode = StartAppL( aMap );
                     }
                 }
-            CleanupStack::PopAndDestroy( &launchMethod );     
+            CleanupStack::PopAndDestroy( &launchMethod );
             }
         }
     return errCode;
@@ -179,14 +179,14 @@
 // ---------------------------------------------------------------------------
 // Start document
 // ---------------------------------------------------------------------------
-// 
+//
 TInt CAHAppLauncher::StartDocumentL( const CLiwMap* aMap )
     {
     TInt errCode(KErrArgument);
     TUid appUid= TUid::Null( );
     RBuf documentNameValue;
     CleanupClosePushL( documentNameValue );
-    if ( !ExtractUidL( aMap, appUid, KApplicationUid ) 
+    if ( !ExtractUidL( aMap, appUid, KApplicationUid )
         && !ExtractDesL( aMap, documentNameValue, KDocumentName ) )
         {
         RApaLsSession appArcSession;
@@ -202,7 +202,7 @@
 // ---------------------------------------------------------------------------
 // Starts application
 // ---------------------------------------------------------------------------
-// 
+//
 TInt CAHAppLauncher::StartAppL( const CLiwMap* aMap )
     {
     TInt errCode(KErrArgument);
@@ -294,7 +294,7 @@
     }
 
 // ---------------------------------------------------------------------------
-// 
+//
 // ---------------------------------------------------------------------------
 //
 TInt CAHAppLauncher::ExtractDesL( const CLiwMap* aMap,
@@ -306,17 +306,23 @@
     TPtrC tempString( KNullDesC );
     if ( aMap->FindL( aMapName, variant ) )
         {
-        variant.Get( tempString );
-        aString.ReAllocL( tempString.Length( ) );
-        aString.Append( tempString );
-        errCode = KErrNone;
+        if ( variant.Get( tempString ) )
+            {
+            aString.ReAllocL( tempString.Length( ) );
+            aString.Append( tempString );
+            errCode = KErrNone;
+            }
+        else
+            {
+            errCode = KErrCorrupt;
+            }
         }
-    CleanupStack::PopAndDestroy( &variant );    
+    CleanupStack::PopAndDestroy( &variant );
     return errCode;
     }
-    
+
 // ---------------------------------------------------------------------------
-// 
+//
 // ---------------------------------------------------------------------------
 //
 TInt CAHAppLauncher::ExtractDes8L( const CLiwMap* aMap,
@@ -328,17 +334,23 @@
     TPtrC8 tempString( KNullDesC8 );
     if ( aMap->FindL( aMapName, variant ) )
         {
-        variant.Get( tempString );
-        aString.ReAllocL( tempString.Length( ) );
-        aString.Append( tempString );
-        errCode = KErrNone;
+        if ( variant.Get( tempString ) )
+            {
+            aString.ReAllocL( tempString.Length( ) );
+            aString.Append( tempString );
+            errCode = KErrNone;
+            }
+        else
+            {
+            errCode = KErrCorrupt;
+            }
         }
-    CleanupStack::PopAndDestroy( &variant );    
+    CleanupStack::PopAndDestroy( &variant );
     return errCode;
-    }    
+    }
 
 // ---------------------------------------------------------------------------
-// 
+//
 // ---------------------------------------------------------------------------
 //
 TInt CAHAppLauncher::ExtractUidL( const CLiwMap* aMap, TUid& aUid,
@@ -351,16 +363,22 @@
     variant.PushL( );
     if ( aMap->FindL( aMapName, variant ) )
         {
-        variant.Get( temp );
-        aUid = TUid::Uid( temp );
-        errCode = KErrNone;
+        if ( variant.Get( temp ) )
+            {
+            aUid = TUid::Uid( temp );
+            errCode = KErrNone;
+            }
+        else
+            {
+            errCode = KErrCorrupt;
+            }
         }
     CleanupStack::PopAndDestroy( &variant );
     return errCode;
     }
 
 // ---------------------------------------------------------------------------
-// 
+//
 // ---------------------------------------------------------------------------
 //
 TInt CAHAppLauncher::ExtractViewIdL( const CLiwMap* aMap, TVwsViewId& aViewId )
@@ -370,13 +388,25 @@
     TLiwVariant variant;
     if ( aMap->FindL( KViewId, variant ) )
         {
-        variant.Get( aViewId.iViewUid.iUid );
-        variant.Reset( );
-        if ( aMap->FindL( KViewAppUid, variant ) )
+        if ( variant.Get( aViewId.iViewUid.iUid ) )
             {
-            variant.Get( aViewId.iAppUid.iUid );
             variant.Reset( );
-            errCode = KErrNone;
+            if ( aMap->FindL( KViewAppUid, variant ) )
+                {
+                if ( variant.Get( aViewId.iAppUid.iUid ) )
+                    {
+                    variant.Reset( );
+                    errCode = KErrNone;
+                    }
+                else
+                    {
+                    errCode = KErrCorrupt;
+                    }
+                }
+            }
+        else
+            {
+            errCode = KErrCorrupt;
             }
         }
 
@@ -384,7 +414,7 @@
     }
 
 // ---------------------------------------------------------------------------
-// 
+//
 // ---------------------------------------------------------------------------
 //
 TApaCommand CAHAppLauncher::GetCommandL( const CLiwMap* aMap )
@@ -403,4 +433,4 @@
     return command;
     }
 
-// End of file   
+// End of file