282 // |
282 // |
283 void CCPServerSession::ExecuteActionL( const RMessage2& aMessage ) |
283 void CCPServerSession::ExecuteActionL( const RMessage2& aMessage ) |
284 { |
284 { |
285 TInt error(KErrNone); |
285 TInt error(KErrNone); |
286 CP_DEBUG( _L8("CCPServerSession::ExecuteActionSizeL()" ) ); |
286 CP_DEBUG( _L8("CCPServerSession::ExecuteActionSizeL()" ) ); |
|
287 |
|
288 TUint options = static_cast<TUint>( aMessage.Int2() ); // 2 == KOptionsPosition |
|
289 |
287 CCPLiwMap* map = UnpackFromClientLC( aMessage ); |
290 CCPLiwMap* map = UnpackFromClientLC( aMessage ); |
288 CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC( ); |
291 CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC( ); |
289 CLiwDefaultList* list = CLiwDefaultList::NewLC(); |
292 CLiwDefaultList* list = CLiwDefaultList::NewLC(); |
290 error = iDataManager->GetActionL( *map, *paramList, list ); |
293 error = iDataManager->GetActionL( *map, *paramList, list ); |
291 //we notify apart from action execution result. So in fact |
294 //we notify apart from action execution result. So in fact |
292 //notification means there was an attempt to execute action |
295 //notification means there was an attempt to execute action |
293 iDataManager->HandleChangeL( list ); |
296 if ( !( options & KDisableNotification ) ) |
|
297 { |
|
298 iDataManager->HandleChangeL( list ); |
|
299 } |
294 User::LeaveIfError( error ); |
300 User::LeaveIfError( error ); |
295 ExecuteL( *paramList ); |
301 ExecuteL( *paramList ); |
296 CleanupStack::PopAndDestroy( list ); |
302 CleanupStack::PopAndDestroy( list ); |
297 CleanupStack::PopAndDestroy( paramList ); |
303 CleanupStack::PopAndDestroy( paramList ); |
298 CleanupStack::PopAndDestroy( map ); |
304 CleanupStack::PopAndDestroy( map ); |