contentcontrolsrv/hsccclient/hsccproviderclient/src/hsccproviderclient.cpp
branchRCL_3
changeset 16 b276298d5729
parent 15 a0713522ab97
equal deleted inserted replaced
15:a0713522ab97 16:b276298d5729
   455 void CHsCcProviderClient::HandleViewListReqL(
   455 void CHsCcProviderClient::HandleViewListReqL(
   456     TUint32 aSender,
   456     TUint32 aSender,
   457     TUint32 aReceiver,
   457     TUint32 aReceiver,
   458     CCcSrvMsg& aMessage )
   458     CCcSrvMsg& aMessage )
   459     {
   459     {
       
   460     TInt err( KErrNone );
   460     // Get view list
   461     // Get view list
   461     CHsContentInfoArray* views = CHsContentInfoArray::NewL();
   462     CHsContentInfoArray* views = CHsContentInfoArray::NewL();
   462     CleanupStack::PushL( views );
   463     CleanupStack::PushL( views );
   463     TInt err = iController.ViewListL( *views );
   464 
   464 
   465     if ( aMessage.DataSize() )
       
   466         {
       
   467         // Internalize message data
       
   468         RDesReadStream dataStream( aMessage.Data() );
       
   469         CleanupClosePushL( dataStream );
       
   470         CHsContentInfo* info = CHsContentInfo::NewL( dataStream );
       
   471         CleanupStack::PopAndDestroy( &dataStream );
       
   472         CleanupStack::PushL( info );
       
   473 
       
   474         // Get list of views included in the defined 
       
   475         // application configuration
       
   476         err = iController.ViewListL( *info, *views );
       
   477         
       
   478         CleanupStack::PopAndDestroy( info );        
       
   479         }
       
   480     else
       
   481         {
       
   482         // Get list of available views
       
   483         err = iController.ViewListL( *views );
       
   484         }
       
   485 
       
   486     
   465     // Create and send ViewListResp
   487     // Create and send ViewListResp
   466     CCcSrvMsg* message = CCcSrvMsg::NewL();
   488     CCcSrvMsg* message = CCcSrvMsg::NewL();
   467     CleanupStack::PushL( message );
   489     CleanupStack::PushL( message );
   468     message->SetMsgId( EHsCcViewListResp );
   490     message->SetMsgId( EHsCcViewListResp );
   469     message->SetTrId( aMessage.TrId() );
   491     message->SetTrId( aMessage.TrId() );