contentcontrolsrv/hsccclient/hsccproviderclient/src/hsccproviderclient.cpp
branchRCL_3
changeset 18 bd874ee5e5e2
parent 2 b7904b40483f
child 59 a0713522ab97
equal deleted inserted replaced
9:d0529222e3f0 18:bd874ee5e5e2
   100 // -----------------------------------------------------------------------------
   100 // -----------------------------------------------------------------------------
   101 //
   101 //
   102 void CHsCcProviderClient::RunL()
   102 void CHsCcProviderClient::RunL()
   103     {
   103     {
   104     
   104     
   105     if ( !iStatus.Int() )
   105     TInt err( iStatus.Int() );
       
   106     HBufC8* header( NULL );
       
   107     TPtr8 headerPtr( NULL, 0 );
       
   108     TUint32 sender( 0 );
       
   109     TUint32 receiver( 0 );
       
   110     if ( !err )
       
   111         {
       
   112         // Read API request header
       
   113         header = iApiHeader->AllocL();
       
   114         CleanupStack::PushL( header );
       
   115         headerPtr.Set( header->Des() );
       
   116         // Read sender
       
   117         sender = iPckgSender();
       
   118         // Read receiver
       
   119         receiver = iPckgReceiver();
       
   120         }
       
   121     
       
   122     // Receive next API request
       
   123     WaitForApiReqL();
       
   124 
       
   125     if ( !err )
   106         {
   126         {
   107         // Get received message header
   127         // Get received message header
   108         CCcSrvMsg* message = CCcSrvMsg::NewL();
   128         CCcSrvMsg* message = CCcSrvMsg::NewL();
   109         CleanupStack::PushL( message );
   129         CleanupStack::PushL( message );
   110         RDesReadStream stream( iApiHeaderPtr );
   130         RDesReadStream stream( headerPtr );
   111         CleanupClosePushL( stream );
   131         CleanupClosePushL( stream );
   112         message->InternalizeHeaderL( stream );
   132         message->InternalizeHeaderL( stream );
   113         CleanupStack::PopAndDestroy( &stream );
   133         CleanupStack::PopAndDestroy( &stream );
   114         if ( message->DataSize() )
   134         if ( message->DataSize() )
   115             {
   135             {
   125             }
   145             }
   126 
   146 
   127         switch ( message->MsgId() )
   147         switch ( message->MsgId() )
   128             {
   148             {
   129             case ECcRegisterObserverNtf:
   149             case ECcRegisterObserverNtf:
   130                 HandleRegisterObserverNtfL( *message );
   150                 HandleRegisterObserverNtfL( sender, receiver, *message );
   131                 break;
   151                 break;
   132             case ECcUnregisterObserverNtf:
   152             case ECcUnregisterObserverNtf:
   133                 HandleUnregisterObserverNtfL( *message );
   153                 HandleUnregisterObserverNtfL( sender, receiver, *message );
   134                 break;
   154                 break;
   135             case EHsCcWidgetListReq:
   155             case EHsCcWidgetListReq:
   136                 HandleWidgetListReqL( *message );
   156                 HandleWidgetListReqL( sender, receiver, *message );
   137                 break;
   157                 break;
   138             case EHsCcAddWidgetReq:
   158             case EHsCcAddWidgetReq:
   139                 HandleAddWidgetReqL( *message );
   159                 HandleAddWidgetReqL( sender, receiver, *message );
   140                 break;
   160                 break;
   141             case EHsCcRemoveWidgetReq:
   161             case EHsCcRemoveWidgetReq:
   142                 HandleRemoveWidgetReqL( *message );
   162                 HandleRemoveWidgetReqL( sender, receiver, *message );
   143                 break;
   163                 break;
   144             case EHsCcViewListReq:
   164             case EHsCcViewListReq:
   145                 HandleViewListReqL( *message );
   165                 HandleViewListReqL( sender, receiver, *message );
   146                 break;
   166                 break;
   147             case EHsCcAddViewReq:
   167             case EHsCcAddViewReq:
   148                 HandleAddViewReqL( *message );
   168                 HandleAddViewReqL( sender, receiver, *message );
   149                 break;
   169                 break;
   150             case EHsCcRemoveViewReq:
   170             case EHsCcRemoveViewReq:
   151                 HandleRemoveViewReqL( *message );
   171                 HandleRemoveViewReqL( sender, receiver, *message );
   152                 break;
   172                 break;
   153             case EHsCcActivateViewReq:
   173             case EHsCcActivateViewReq:
   154                 HandleActivateViewReqL( *message );
   174                 HandleActivateViewReqL( sender, receiver, *message );
   155                 break;
   175                 break;
   156             case EHsCcAppListReq:
   176             case EHsCcAppListReq:
   157                 HandleAppListReqL( *message );
   177                 HandleAppListReqL( sender, receiver, *message );
   158                 break;
   178                 break;
   159             case EHsCcActivateAppReq:
   179             case EHsCcActivateAppReq:
   160                 HandleActivateAppReqL( *message );
   180                 HandleActivateAppReqL( sender, receiver, *message );
   161                 break;
   181                 break;
   162             case EHsCcActiveAppReq:
   182             case EHsCcActiveAppReq:
   163                 HandleActiveAppReqL( *message );
   183                 HandleActiveAppReqL( sender, receiver, *message );
   164                 break;
   184                 break;
   165             case EHsCcActiveViewReq:
   185             case EHsCcActiveViewReq:
   166                 HandleActiveViewReqL( *message );
   186                 HandleActiveViewReqL( sender, receiver, *message );
   167                 break;
   187                 break;
   168             default:
   188             default:
   169                 HandleNotSupportedReqL( *message );
   189                 HandleNotSupportedReqL( sender, receiver, *message );
   170                 break;
   190                 break;
   171             }
   191             }
   172         CleanupStack::PopAndDestroy( message );
   192         CleanupStack::PopAndDestroy( message );
   173         }
   193         }
   174     
   194     if ( header )
   175     // Receive next API request
   195         {
   176     WaitForApiReqL();
   196         CleanupStack::PopAndDestroy( header );
   177     
   197         }
   178     }
   198     }
   179 
   199 
   180 // -----------------------------------------------------------------------------
   200 // -----------------------------------------------------------------------------
   181 // CHsCcProviderClient::DoCancel()
   201 // CHsCcProviderClient::DoCancel()
   182 // -----------------------------------------------------------------------------
   202 // -----------------------------------------------------------------------------
   253 // -----------------------------------------------------------------------------
   273 // -----------------------------------------------------------------------------
   254 // CHsCcProviderClient::HandleRegisterObserverNtfL()
   274 // CHsCcProviderClient::HandleRegisterObserverNtfL()
   255 // -----------------------------------------------------------------------------
   275 // -----------------------------------------------------------------------------
   256 //
   276 //
   257 void CHsCcProviderClient::HandleRegisterObserverNtfL(
   277 void CHsCcProviderClient::HandleRegisterObserverNtfL(
       
   278     TUint32 /* aSender */,
       
   279     TUint32 /* aReceiver */,
   258     CCcSrvMsg& /* aMessage */ )
   280     CCcSrvMsg& /* aMessage */ )
   259     {
   281     {
   260     TUint32 observer = iPckgSender();
   282     TUint32 observer = iPckgSender();
   261     iObservers.AppendL( observer );
   283     iObservers.AppendL( observer );
   262     }
   284     }
   264 // -----------------------------------------------------------------------------
   286 // -----------------------------------------------------------------------------
   265 // CHsCcProviderClient::HandleUnregisterObserverNtfL()
   287 // CHsCcProviderClient::HandleUnregisterObserverNtfL()
   266 // -----------------------------------------------------------------------------
   288 // -----------------------------------------------------------------------------
   267 //
   289 //
   268 void CHsCcProviderClient::HandleUnregisterObserverNtfL(
   290 void CHsCcProviderClient::HandleUnregisterObserverNtfL(
       
   291     TUint32 /* aSender */,
       
   292     TUint32 /* aReceiver */,
   269     CCcSrvMsg& /* aMessage */ )
   293     CCcSrvMsg& /* aMessage */ )
   270     {
   294     {
   271     TUint32 observer = iPckgSender();
   295     TUint32 observer = iPckgSender();
   272     for ( TInt i = 0; i < iObservers.Count(); i++ )
   296     for ( TInt i = 0; i < iObservers.Count(); i++ )
   273         {
   297         {
   282 // -----------------------------------------------------------------------------
   306 // -----------------------------------------------------------------------------
   283 // CHsCcProviderClient::HandleWidgetListReqL()
   307 // CHsCcProviderClient::HandleWidgetListReqL()
   284 // -----------------------------------------------------------------------------
   308 // -----------------------------------------------------------------------------
   285 //
   309 //
   286 void CHsCcProviderClient::HandleWidgetListReqL(
   310 void CHsCcProviderClient::HandleWidgetListReqL(
   287     CCcSrvMsg& aMessage )
   311     TUint32 aSender,
   288     {
   312     TUint32 aReceiver,
       
   313     CCcSrvMsg& aMessage )
       
   314     {
       
   315     
       
   316     TInt err( KErrNone );
   289     // Get widget list
   317     // Get widget list
   290     CHsContentInfoArray* widgets = CHsContentInfoArray::NewL();
   318     CHsContentInfoArray* widgets = CHsContentInfoArray::NewL();
   291     CleanupStack::PushL( widgets );
   319     CleanupStack::PushL( widgets );
   292     TInt err = iController.WidgetListL( *widgets );
   320     
       
   321     if ( aMessage.DataSize() )
       
   322         {
       
   323         // Internalize message data
       
   324         RDesReadStream dataStream( aMessage.Data() );
       
   325         CleanupClosePushL( dataStream );
       
   326         CHsContentInfo* info = CHsContentInfo::NewL( dataStream );
       
   327         CleanupStack::PopAndDestroy( &dataStream );
       
   328         CleanupStack::PushL( info );
       
   329 
       
   330         // Get list of widgets included in the defined 
       
   331         // application configuration or view
       
   332         err = iController.WidgetListL( *info, *widgets );
       
   333         
       
   334         CleanupStack::PopAndDestroy( info );        
       
   335         }
       
   336     else
       
   337         {
       
   338         // Get list of available widgets
       
   339         err = iController.WidgetListL( *widgets );
       
   340         }
   293 
   341 
   294     // Create and send WidgetListResp 
   342     // Create and send WidgetListResp 
   295     CCcSrvMsg* message = CCcSrvMsg::NewL();
   343     CCcSrvMsg* message = CCcSrvMsg::NewL();
   296     CleanupStack::PushL( message );
   344     CleanupStack::PushL( message );
   297     message->SetMsgId( EHsCcWidgetListResp );
   345     message->SetMsgId( EHsCcWidgetListResp );
   307         dataPtr.Set( dataBuf->Des() );
   355         dataPtr.Set( dataBuf->Des() );
   308         message->SetData( dataPtr );
   356         message->SetData( dataPtr );
   309         CleanupStack::PopAndDestroy( dataBuf );
   357         CleanupStack::PopAndDestroy( dataBuf );
   310         }
   358         }
   311     
   359     
   312     SendRespL( *message );
   360     SendRespL( aReceiver, aSender, *message );
   313     
   361     
   314     CleanupStack::PopAndDestroy( message );    
   362     CleanupStack::PopAndDestroy( message );    
   315     CleanupStack::PopAndDestroy( widgets );
   363     CleanupStack::PopAndDestroy( widgets );
   316    
   364    
   317     }
   365     }
   319 // -----------------------------------------------------------------------------
   367 // -----------------------------------------------------------------------------
   320 // CHsCcProviderClient::HandleAddWidgetReqL()
   368 // CHsCcProviderClient::HandleAddWidgetReqL()
   321 // -----------------------------------------------------------------------------
   369 // -----------------------------------------------------------------------------
   322 //
   370 //
   323 void CHsCcProviderClient::HandleAddWidgetReqL(
   371 void CHsCcProviderClient::HandleAddWidgetReqL(
       
   372     TUint32 aSender,
       
   373     TUint32 aReceiver,
   324     CCcSrvMsg& aMessage )
   374     CCcSrvMsg& aMessage )
   325     {
   375     {
   326     TInt err( KErrNone );
   376     TInt err( KErrNone );
   327     if ( aMessage.DataSize() )
   377     if ( aMessage.DataSize() )
   328         {
   378         {
   350     message->SetMsgId( EHsCcAddWidgetResp );
   400     message->SetMsgId( EHsCcAddWidgetResp );
   351     message->SetTrId( aMessage.TrId() );
   401     message->SetTrId( aMessage.TrId() );
   352     message->SetStatus( err );
   402     message->SetStatus( err );
   353     message->SetData( KNullDesC8() );
   403     message->SetData( KNullDesC8() );
   354 
   404 
   355     SendRespL( *message );
   405     SendRespL( aReceiver, aSender, *message );
   356     
   406     
   357     CleanupStack::PopAndDestroy( message );    
   407     CleanupStack::PopAndDestroy( message );    
   358     }
   408     }
   359 
   409 
   360 // -----------------------------------------------------------------------------
   410 // -----------------------------------------------------------------------------
   361 // CHsCcProviderClient::HandleRemoveWidgetReqL()
   411 // CHsCcProviderClient::HandleRemoveWidgetReqL()
   362 // -----------------------------------------------------------------------------
   412 // -----------------------------------------------------------------------------
   363 //
   413 //
   364 void CHsCcProviderClient::HandleRemoveWidgetReqL(
   414 void CHsCcProviderClient::HandleRemoveWidgetReqL(
       
   415     TUint32 aSender,
       
   416     TUint32 aReceiver,
   365     CCcSrvMsg& aMessage )
   417     CCcSrvMsg& aMessage )
   366     {
   418     {
   367     TInt err( KErrNone );
   419     TInt err( KErrNone );
   368     if ( aMessage.DataSize() )
   420     if ( aMessage.DataSize() )
   369         {
   421         {
   391     message->SetMsgId( EHsCcRemoveWidgetResp );
   443     message->SetMsgId( EHsCcRemoveWidgetResp );
   392     message->SetTrId( aMessage.TrId() );
   444     message->SetTrId( aMessage.TrId() );
   393     message->SetStatus( err );
   445     message->SetStatus( err );
   394     message->SetData( KNullDesC8() );
   446     message->SetData( KNullDesC8() );
   395 
   447 
   396     SendRespL( *message );
   448     SendRespL( aReceiver, aSender, *message );
   397     
   449     
   398     CleanupStack::PopAndDestroy( message );    
   450     CleanupStack::PopAndDestroy( message );    
   399     }
   451     }
   400 
   452 
   401 // -----------------------------------------------------------------------------
   453 // -----------------------------------------------------------------------------
   402 // CHsCcProviderClient::HandleViewListReqL()
   454 // CHsCcProviderClient::HandleViewListReqL()
   403 // -----------------------------------------------------------------------------
   455 // -----------------------------------------------------------------------------
   404 //
   456 //
   405 void CHsCcProviderClient::HandleViewListReqL(
   457 void CHsCcProviderClient::HandleViewListReqL(
       
   458     TUint32 aSender,
       
   459     TUint32 aReceiver,
   406     CCcSrvMsg& aMessage )
   460     CCcSrvMsg& aMessage )
   407     {
   461     {
   408     // Get view list
   462     // Get view list
   409     CHsContentInfoArray* views = CHsContentInfoArray::NewL();
   463     CHsContentInfoArray* views = CHsContentInfoArray::NewL();
   410     CleanupStack::PushL( views );
   464     CleanupStack::PushL( views );
   426         dataPtr.Set( dataBuf->Des() );
   480         dataPtr.Set( dataBuf->Des() );
   427         message->SetData( dataPtr );
   481         message->SetData( dataPtr );
   428         CleanupStack::PopAndDestroy( dataBuf );
   482         CleanupStack::PopAndDestroy( dataBuf );
   429         }
   483         }
   430     
   484     
   431     SendRespL( *message );
   485     SendRespL( aReceiver, aSender, *message );
   432     
   486     
   433     CleanupStack::PopAndDestroy( message );    
   487     CleanupStack::PopAndDestroy( message );    
   434     CleanupStack::PopAndDestroy( views );
   488     CleanupStack::PopAndDestroy( views );
   435    
   489    
   436     }
   490     }
   438 // -----------------------------------------------------------------------------
   492 // -----------------------------------------------------------------------------
   439 // CHsCcProviderClient::HandleAddViewReqL()
   493 // CHsCcProviderClient::HandleAddViewReqL()
   440 // -----------------------------------------------------------------------------
   494 // -----------------------------------------------------------------------------
   441 //
   495 //
   442 void CHsCcProviderClient::HandleAddViewReqL(
   496 void CHsCcProviderClient::HandleAddViewReqL(
       
   497     TUint32 aSender,
       
   498     TUint32 aReceiver,
   443     CCcSrvMsg& aMessage )
   499     CCcSrvMsg& aMessage )
   444     {
   500     {
   445     TInt err( KErrNone );
   501     TInt err( KErrNone );
   446     if ( aMessage.DataSize() )
   502     if ( aMessage.DataSize() )
   447         {
   503         {
   469     message->SetMsgId( EHsCcAddViewResp );
   525     message->SetMsgId( EHsCcAddViewResp );
   470     message->SetTrId( aMessage.TrId() );
   526     message->SetTrId( aMessage.TrId() );
   471     message->SetStatus( err );
   527     message->SetStatus( err );
   472     message->SetData( KNullDesC8() );
   528     message->SetData( KNullDesC8() );
   473 
   529 
   474     SendRespL( *message );
   530     SendRespL( aReceiver, aSender, *message );
   475     
   531     
   476     CleanupStack::PopAndDestroy( message );    
   532     CleanupStack::PopAndDestroy( message );    
   477     }
   533     }
   478 
   534 
   479 // -----------------------------------------------------------------------------
   535 // -----------------------------------------------------------------------------
   480 // CHsCcProviderClient::HandleRemoveViewReqL()
   536 // CHsCcProviderClient::HandleRemoveViewReqL()
   481 // -----------------------------------------------------------------------------
   537 // -----------------------------------------------------------------------------
   482 //
   538 //
   483 void CHsCcProviderClient::HandleRemoveViewReqL(
   539 void CHsCcProviderClient::HandleRemoveViewReqL(
       
   540     TUint32 aSender,
       
   541     TUint32 aReceiver,
   484     CCcSrvMsg& aMessage )
   542     CCcSrvMsg& aMessage )
   485     {
   543     {
   486     TInt err( KErrNone );
   544     TInt err( KErrNone );
   487     if ( aMessage.DataSize() )
   545     if ( aMessage.DataSize() )
   488         {
   546         {
   510     message->SetMsgId( EHsCcRemoveViewResp );
   568     message->SetMsgId( EHsCcRemoveViewResp );
   511     message->SetTrId( aMessage.TrId() );
   569     message->SetTrId( aMessage.TrId() );
   512     message->SetStatus( err );
   570     message->SetStatus( err );
   513     message->SetData( KNullDesC8() );
   571     message->SetData( KNullDesC8() );
   514 
   572 
   515     SendRespL( *message );
   573     SendRespL( aReceiver, aSender, *message );
   516     
   574     
   517     CleanupStack::PopAndDestroy( message );    
   575     CleanupStack::PopAndDestroy( message );    
   518     }
   576     }
   519 
   577 
   520 // -----------------------------------------------------------------------------
   578 // -----------------------------------------------------------------------------
   521 // CHsCcProviderClient::HandleActivateViewReqL()
   579 // CHsCcProviderClient::HandleActivateViewReqL()
   522 // -----------------------------------------------------------------------------
   580 // -----------------------------------------------------------------------------
   523 //
   581 //
   524 void CHsCcProviderClient::HandleActivateViewReqL(
   582 void CHsCcProviderClient::HandleActivateViewReqL(
       
   583     TUint32 aSender,
       
   584     TUint32 aReceiver,
   525     CCcSrvMsg& aMessage )
   585     CCcSrvMsg& aMessage )
   526     {
   586     {
   527     TInt err( KErrNone );
   587     TInt err( KErrNone );
   528     if ( aMessage.DataSize() )
   588     if ( aMessage.DataSize() )
   529         {
   589         {
   551     message->SetMsgId( EHsCcActivateViewResp );
   611     message->SetMsgId( EHsCcActivateViewResp );
   552     message->SetTrId( aMessage.TrId() );
   612     message->SetTrId( aMessage.TrId() );
   553     message->SetStatus( err );
   613     message->SetStatus( err );
   554     message->SetData( KNullDesC8() );
   614     message->SetData( KNullDesC8() );
   555 
   615 
   556     SendRespL( *message );
   616     SendRespL( aReceiver, aSender, *message );
   557     
   617     
   558     CleanupStack::PopAndDestroy( message );    
   618     CleanupStack::PopAndDestroy( message );    
   559     }
   619     }
   560 
   620 
   561 // -----------------------------------------------------------------------------
   621 // -----------------------------------------------------------------------------
   562 // CHsCcProviderClient::HandleActiveViewReqL()
   622 // CHsCcProviderClient::HandleActiveViewReqL()
   563 // -----------------------------------------------------------------------------
   623 // -----------------------------------------------------------------------------
   564 //
   624 //
   565 void CHsCcProviderClient::HandleActiveViewReqL(
   625 void CHsCcProviderClient::HandleActiveViewReqL(
       
   626     TUint32 aSender,
       
   627     TUint32 aReceiver,
   566     CCcSrvMsg& aMessage )
   628     CCcSrvMsg& aMessage )
   567     {
   629     {
   568     // Get active view
   630     // Get active view
   569     CHsContentInfo* view = CHsContentInfo::NewL();
   631     CHsContentInfo* view = CHsContentInfo::NewL();
   570     CleanupStack::PushL( view );
   632     CleanupStack::PushL( view );
   586         dataPtr.Set( dataBuf->Des() );
   648         dataPtr.Set( dataBuf->Des() );
   587         message->SetData( dataPtr );
   649         message->SetData( dataPtr );
   588         CleanupStack::PopAndDestroy( dataBuf );
   650         CleanupStack::PopAndDestroy( dataBuf );
   589         }
   651         }
   590     
   652     
   591     SendRespL( *message );
   653     SendRespL( aReceiver, aSender, *message );
   592     
   654     
   593     CleanupStack::PopAndDestroy( message );    
   655     CleanupStack::PopAndDestroy( message );    
   594     CleanupStack::PopAndDestroy( view );
   656     CleanupStack::PopAndDestroy( view );
   595 
   657 
   596     }
   658     }
   598 // -----------------------------------------------------------------------------
   660 // -----------------------------------------------------------------------------
   599 // CHsCcProviderClient::HandleAppListReqL()
   661 // CHsCcProviderClient::HandleAppListReqL()
   600 // -----------------------------------------------------------------------------
   662 // -----------------------------------------------------------------------------
   601 //
   663 //
   602 void CHsCcProviderClient::HandleAppListReqL(
   664 void CHsCcProviderClient::HandleAppListReqL(
       
   665     TUint32 aSender,
       
   666     TUint32 aReceiver,
   603     CCcSrvMsg& aMessage )
   667     CCcSrvMsg& aMessage )
   604     {
   668     {
   605     // Get app list
   669     // Get app list
   606     CHsContentInfoArray* apps = CHsContentInfoArray::NewL();
   670     CHsContentInfoArray* apps = CHsContentInfoArray::NewL();
   607     CleanupStack::PushL( apps );
   671     CleanupStack::PushL( apps );
   622         dataPtr.Set( dataBuf->Des() );
   686         dataPtr.Set( dataBuf->Des() );
   623         message->SetData( dataPtr );
   687         message->SetData( dataPtr );
   624         CleanupStack::PopAndDestroy( dataBuf );
   688         CleanupStack::PopAndDestroy( dataBuf );
   625         }
   689         }
   626 
   690 
   627     SendRespL( *message );
   691     SendRespL( aReceiver, aSender, *message );
   628     
   692     
   629     CleanupStack::PopAndDestroy( message );    
   693     CleanupStack::PopAndDestroy( message );    
   630     CleanupStack::PopAndDestroy( apps );
   694     CleanupStack::PopAndDestroy( apps );
   631    
   695    
   632     }
   696     }
   634 // -----------------------------------------------------------------------------
   698 // -----------------------------------------------------------------------------
   635 // CHsCcProviderClient::HandleActivateAppReqL()
   699 // CHsCcProviderClient::HandleActivateAppReqL()
   636 // -----------------------------------------------------------------------------
   700 // -----------------------------------------------------------------------------
   637 //
   701 //
   638 void CHsCcProviderClient::HandleActivateAppReqL(
   702 void CHsCcProviderClient::HandleActivateAppReqL(
       
   703     TUint32 aSender,
       
   704     TUint32 aReceiver,
   639     CCcSrvMsg& aMessage )
   705     CCcSrvMsg& aMessage )
   640     {
   706     {
   641     TInt err( KErrNone );
   707     TInt err( KErrNone );
   642     if ( aMessage.DataSize() )
   708     if ( aMessage.DataSize() )
   643         {
   709         {
   665     message->SetMsgId( EHsCcActivateAppResp );
   731     message->SetMsgId( EHsCcActivateAppResp );
   666     message->SetTrId( aMessage.TrId() );
   732     message->SetTrId( aMessage.TrId() );
   667     message->SetStatus( err );
   733     message->SetStatus( err );
   668     message->SetData( KNullDesC8() );
   734     message->SetData( KNullDesC8() );
   669 
   735 
   670     SendRespL( *message );
   736     SendRespL( aReceiver, aSender, *message );
   671     
   737     
   672     CleanupStack::PopAndDestroy( message );    
   738     CleanupStack::PopAndDestroy( message );    
   673     }
   739     }
   674 
   740 
   675 // -----------------------------------------------------------------------------
   741 // -----------------------------------------------------------------------------
   676 // CHsCcProviderClient::HandleActiveAppReqL()
   742 // CHsCcProviderClient::HandleActiveAppReqL()
   677 // -----------------------------------------------------------------------------
   743 // -----------------------------------------------------------------------------
   678 //
   744 //
   679 void CHsCcProviderClient::HandleActiveAppReqL(
   745 void CHsCcProviderClient::HandleActiveAppReqL(
       
   746     TUint32 aSender,
       
   747     TUint32 aReceiver,
   680     CCcSrvMsg& aMessage )
   748     CCcSrvMsg& aMessage )
   681     {
   749     {
   682     // Get active application info
   750     // Get active application info
   683     CHsContentInfo* app = CHsContentInfo::NewL();
   751     CHsContentInfo* app = CHsContentInfo::NewL();
   684     CleanupStack::PushL( app );
   752     CleanupStack::PushL( app );
   700         dataPtr.Set( dataBuf->Des() );
   768         dataPtr.Set( dataBuf->Des() );
   701         message->SetData( dataPtr );
   769         message->SetData( dataPtr );
   702         CleanupStack::PopAndDestroy( dataBuf );
   770         CleanupStack::PopAndDestroy( dataBuf );
   703         }
   771         }
   704     
   772     
   705     SendRespL( *message );
   773     SendRespL( aReceiver, aSender, *message );
   706     
   774     
   707     CleanupStack::PopAndDestroy( message );    
   775     CleanupStack::PopAndDestroy( message );    
   708     CleanupStack::PopAndDestroy( app );
   776     CleanupStack::PopAndDestroy( app );
   709     }
   777     }
   710 
   778 
   711 // -----------------------------------------------------------------------------
   779 // -----------------------------------------------------------------------------
   712 // CHsCcProviderClient::HandleNotSupportedReqL()
   780 // CHsCcProviderClient::HandleNotSupportedReqL()
   713 // -----------------------------------------------------------------------------
   781 // -----------------------------------------------------------------------------
   714 //
   782 //
   715 void CHsCcProviderClient::HandleNotSupportedReqL(
   783 void CHsCcProviderClient::HandleNotSupportedReqL(
       
   784     TUint32 aSender,
       
   785     TUint32 aReceiver,
   716     CCcSrvMsg& aMessage )
   786     CCcSrvMsg& aMessage )
   717     {
   787     {
   718     // Create and send NotSupportedResp
   788     // Create and send NotSupportedResp
   719     CCcSrvMsg* message = CCcSrvMsg::NewL();
   789     CCcSrvMsg* message = CCcSrvMsg::NewL();
   720     CleanupStack::PushL( message );
   790     CleanupStack::PushL( message );
   721     message->SetMsgId( EHsCcNotSupportedResp );
   791     message->SetMsgId( EHsCcNotSupportedResp );
   722     message->SetTrId( aMessage.TrId() );
   792     message->SetTrId( aMessage.TrId() );
   723     message->SetStatus( KErrNone );
   793     message->SetStatus( KErrNone );
   724     message->SetData( KNullDesC8() );
   794     message->SetData( KNullDesC8() );
   725 
   795 
   726     SendRespL( *message );
   796     SendRespL( aReceiver, aSender, *message );
   727     
   797     
   728     CleanupStack::PopAndDestroy( message );    
   798     CleanupStack::PopAndDestroy( message );    
   729 
   799 
   730     }
   800     }
   731 
   801 
   757 // -----------------------------------------------------------------------------
   827 // -----------------------------------------------------------------------------
   758 // CHsCcProviderClient::SendRespL()
   828 // CHsCcProviderClient::SendRespL()
   759 // -----------------------------------------------------------------------------
   829 // -----------------------------------------------------------------------------
   760 //
   830 //
   761 void CHsCcProviderClient::SendRespL(
   831 void CHsCcProviderClient::SendRespL(
       
   832     TUint32 aSender,
       
   833     TUint32 aReceiver,
   762     CCcSrvMsg& aMessage )
   834     CCcSrvMsg& aMessage )
   763     {
   835     {
   764     HBufC8* msgBuf = aMessage.MarshalL();
   836     HBufC8* msgBuf = aMessage.MarshalL();
   765     CleanupStack::PushL( msgBuf );
   837     CleanupStack::PushL( msgBuf );
   766     TPtr8 msgPtr( NULL, 0 );
   838     TPtr8 msgPtr( NULL, 0 );
   767     msgPtr.Set( msgBuf->Des() );
   839     msgPtr.Set( msgBuf->Des() );
   768 
   840 
   769     TPckgBuf<TUint32> provider( ECcHomescreen );
   841     TPckgBuf<TUint32> provider( ECcHomescreen );
   770     iSession.Send( ECcApiResp, provider, iPckgReceiver, iPckgSender, msgPtr  );
   842     TPckgBuf<TUint32> sender( aSender );
       
   843     TPckgBuf<TUint32> receiver( aReceiver );
       
   844     iSession.Send( ECcApiResp, provider, sender, receiver, msgPtr  );
   771 
   845 
   772     CleanupStack::PopAndDestroy( msgBuf );    
   846     CleanupStack::PopAndDestroy( msgBuf );    
   773     }
   847     }
   774 
   848 
   775 // End of file
   849 // End of file