diff -r fb024d5e35fa -r 64c62431ac08 multimediacommscontroller/mmcccontroller/src/mccasynclinkcreator.cpp --- a/multimediacommscontroller/mmcccontroller/src/mccasynclinkcreator.cpp Mon Aug 23 17:50:26 2010 +0300 +++ b/multimediacommscontroller/mmcccontroller/src/mccasynclinkcreator.cpp Mon Sep 06 17:32:13 2010 +0530 @@ -47,6 +47,8 @@ iClientData( TMccCreateLinkPckg() ), iSession( aSession ) { CActiveScheduler::Add( this ); + iFileName = NULL; + iFileType = NULL; } // --------------------------------------------------------------------------- @@ -85,6 +87,8 @@ CMccAsyncLinkCreator::~CMccAsyncLinkCreator() { this->Cancel(); + delete iFileName; + delete iFileType; } // --------------------------------------------------------------------------- @@ -101,6 +105,12 @@ if( KErrNone == iStatus.Int() ) { + if (iClientData().iLinkType == KMccLinkMessage) + { + RDebug::Print( _L("CMccAsyncLinkCreator::RunL Link Type") ); + + iLinkCreated = ETrue; + } if ( iLinkCreated == EFalse ) { iSession->CreateRtpSessionL( iClientData().iLinkID, @@ -208,10 +218,48 @@ aMessage.ReadData1FromClientL( iClientData ); iSession->CreateLinkL( iClientData().iLinkID, iClientData().iLinkType ); - iSession->InitializeLinkL( iStatus, + + if(iClientData().iLinkType == KMccLinkMessage) + { + HBufC8* tmpMsrpPath = NULL; + iSession->InitializeLinkL( iStatus, + iClientData().iLinkID, + iClientData().iIapId, + tmpMsrpPath); + if (NULL != tmpMsrpPath ) + { + iClientData().iLocalMsrpPath.Zero(); + iClientData().iLocalMsrpPath.Copy(tmpMsrpPath->Des()); + delete tmpMsrpPath; + tmpMsrpPath = NULL; + } + if ( iClientData().iFileShare ) + { + if (iClientData().iFileName.Length() > 0) + { + if (NULL != iFileName ) + delete iFileName; + iFileName = iClientData().iFileName.Alloc(); + } + if (iClientData().iFileType.Length() >0 ) + { + if (NULL != iFileType ) + delete iFileType; + iFileType = iClientData().iFileType.Alloc(); + } + iSession->SetFileShareAttrbs(iFileName, + iClientData().iFileSize, + iFileType, + iClientData().iFTProgressNotification); + } + } + else + { + iSession->InitializeLinkL( iStatus, iClientData().iLinkID, iClientData().iIapId ); + } this->SetActive(); aMessage.WriteDataToClientL( iClientData ); }