--- 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