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