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 |