taskswitcher/taskswitcherui/taskswitcherappecom/src/tsappecom.cpp
branchRCL_3
changeset 102 ba63c83f4716
parent 88 3321d3e205b6
equal deleted inserted replaced
93:b01126ce0bec 102:ba63c83f4716
    72     {
    72     {
    73     TSLOG_CONTEXT( CTsEcomPlugin::ConstructL, TSLOG_LOCAL );
    73     TSLOG_CONTEXT( CTsEcomPlugin::ConstructL, TSLOG_LOCAL );
    74     TSLOG_IN();
    74     TSLOG_IN();
    75     
    75     
    76     DefineTaskswitcherStateProperty();
    76     DefineTaskswitcherStateProperty();
    77     User::LeaveIfError( iApaLsSession.Connect() );
       
    78     
    77     
    79     TSLOG_OUT();
    78     TSLOG_OUT();
    80     }
    79     }
    81 
    80 
    82 // ---------------------------------------------------------------------------
    81 // ---------------------------------------------------------------------------
    84 // Destructor.
    83 // Destructor.
    85 // ---------------------------------------------------------------------------
    84 // ---------------------------------------------------------------------------
    86 //
    85 //
    87 CTsEcomPlugin::~CTsEcomPlugin()
    86 CTsEcomPlugin::~CTsEcomPlugin()
    88     {
    87     {
    89     iApaLsSession.Close();
       
    90     }
    88     }
    91 
    89 
    92 // ---------------------------------------------------------------------------
    90 // ---------------------------------------------------------------------------
    93 // CTsEcomPlugin::Show
    91 // CTsEcomPlugin::Show
    94 // ---------------------------------------------------------------------------
    92 // ---------------------------------------------------------------------------
   188 TBool CTsEcomPlugin::IsReady()
   186 TBool CTsEcomPlugin::IsReady()
   189     {
   187     {
   190     TSLOG_CONTEXT( CTsEcomPlugin::IsReady, TSLOG_LOCAL );
   188     TSLOG_CONTEXT( CTsEcomPlugin::IsReady, TSLOG_LOCAL );
   191     TSLOG_IN();
   189     TSLOG_IN();
   192 
   190 
   193     TBool ret = ETrue;    
   191     TBool ret = EFalse;    
   194     
   192     CEikonEnv* eikonEnv = CEikonEnv::Static();
   195     if( !IsTaskSwitcherStarted() )
   193     
   196         {
   194     if ( eikonEnv )
   197         ret = (KErrNone == StartTaskSwitcher()) ? ETrue : EFalse;
   195         {
       
   196         TApaTaskList taskList( eikonEnv->WsSession() );
       
   197         TApaTask task = taskList.FindApp( KTaskswitcherAppUidValue ); 
       
   198     
       
   199         if ( task.Exists() )
       
   200             {
       
   201             ret = ETrue;
       
   202             }
   198         }
   203         }
   199     
   204     
   200     TSLOG1_OUT( "IsReady returns: %d", ret );
   205     TSLOG1_OUT( "IsReady returns: %d", ret );
   201     return ret;
   206     return ret;
   202     }
   207     }
   242         }              
   247         }              
   243     
   248     
   244     TSLOG_OUT();
   249     TSLOG_OUT();
   245     }
   250     }
   246 
   251 
   247 // -----------------------------------------------------------------------------
       
   248 // CTsEcomPlugin::IsTaskSwitcherStarted
       
   249 // -----------------------------------------------------------------------------
       
   250 //
       
   251 TBool CTsEcomPlugin::IsTaskSwitcherStarted()
       
   252     {
       
   253     TSLOG_CONTEXT( CTsEcomPlugin::IsTaskSwitcherStarted, TSLOG_LOCAL );
       
   254     TSLOG_IN();
       
   255     
       
   256     TBool ret(EFalse);
       
   257     CEikonEnv* eikonEnv = CEikonEnv::Static();
       
   258     if ( eikonEnv )
       
   259         {
       
   260         TApaTaskList taskList( eikonEnv->WsSession() );
       
   261         TApaTask task = taskList.FindApp( KTaskswitcherAppUidValue ); 
       
   262         if ( task.Exists() )
       
   263             {
       
   264             ret = ETrue;
       
   265             }
       
   266         }
       
   267     TSLOG1( TSLOG_INFO, "TaskSwitcherStarted: %d", ret);
       
   268     TSLOG_OUT();
       
   269     return ret;
       
   270     }
       
   271 
       
   272 // -----------------------------------------------------------------------------
       
   273 // CTsEcomPlugin::StartTaskSwitcher
       
   274 // -----------------------------------------------------------------------------
       
   275 //
       
   276 TInt CTsEcomPlugin::StartTaskSwitcher()
       
   277     {
       
   278     TInt ret(0);
       
   279     TRAPD(err, ret = StartTaskSwitcherL() );
       
   280     if( KErrNone != err )
       
   281         {
       
   282         ret = err;
       
   283         }
       
   284     return ret;
       
   285     }
       
   286 
       
   287 // -----------------------------------------------------------------------------
       
   288 // CTsEcomPlugin::StartTaskSwitcherL
       
   289 // -----------------------------------------------------------------------------
       
   290 //
       
   291 TInt CTsEcomPlugin::StartTaskSwitcherL()
       
   292     {
       
   293     TSLOG_CONTEXT( CTsEcomPlugin::StartTaskSwitcher, TSLOG_LOCAL );
       
   294     TSLOG_IN();
       
   295     TInt ret(KErrNone);
       
   296     
       
   297     TApaAppInfo appInfo;
       
   298     TApaAppCapabilityBuf capabilityBuf;
       
   299     ret = iApaLsSession.GetAppInfo( appInfo, KTaskswitcherAppUidValue );
       
   300     if ( !ret )
       
   301         {
       
   302         TFileName appName = appInfo.iFullName;
       
   303         CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
       
   304         cmdLine->SetExecutableNameL( appName );
       
   305         cmdLine->SetCommandL( EApaCommandRun );
       
   306         ret = iApaLsSession.StartApp( *cmdLine );
       
   307         CleanupStack::PopAndDestroy( cmdLine );
       
   308         }
       
   309     
       
   310     TSLOG1( TSLOG_INFO, "RApaLsSession::StartApp returned with: %d", ret );
       
   311     TSLOG_OUT();
       
   312     return ret;
       
   313     }
       
   314 
       
   315 // End of file 
   252 // End of file