--- 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 );
}