diff -r 1f1fcd7e941c -r 8dde790cab74 cmmanager/cmmgr/cmmapi/src/cmdestination.cpp --- a/cmmanager/cmmgr/cmmapi/src/cmdestination.cpp Thu May 13 23:17:48 2010 +0300 +++ b/cmmanager/cmmgr/cmmapi/src/cmdestination.cpp Fri May 14 10:52:16 2010 +0300 @@ -796,21 +796,44 @@ { OstTraceFunctionEntry0( RCMDESTINATION_GETICONL_ENTRY ); - User::Leave( KErrNotSupported ); + if ( !iCmDestinationWrapper || !iCmDestinationWrapper->SessionConnected() ) + { + User::Leave( KErrBadHandle ); + } + + HBufC* buffer = HBufC::NewLC( KCmmStringLengthMax ); + TInt err = iCmDestinationWrapper->GetIcon( buffer ); + User::LeaveIfError( err ); + + if ( buffer->Length() > 0 ) + { + CleanupStack::Pop( buffer ); + } + else + { + CleanupStack::PopAndDestroy( buffer ); + buffer = KNullDesC().AllocL(); + } OstTraceFunctionExit0( RCMDESTINATION_GETICONL_EXIT ); - return NULL; + return buffer; } //----------------------------------------------------------------------------- // RCmDestination::SetIconL() //----------------------------------------------------------------------------- // -EXPORT_C void RCmDestination::SetIconL( const TDesC& /*aIcon*/ ) +EXPORT_C void RCmDestination::SetIconL( const TDesC& aIcon ) { OstTraceFunctionEntry0( RCMDESTINATION_SETICONL_ENTRY ); - User::Leave( KErrNotSupported ); + if ( !iCmDestinationWrapper || !iCmDestinationWrapper->SessionConnected() ) + { + User::Leave( KErrBadHandle ); + } + + TInt err = iCmDestinationWrapper->SetIcon( aIcon ); + User::LeaveIfError( err ); OstTraceFunctionExit0( RCMDESTINATION_SETICONL_EXIT ); }