multimediacommscontroller/mmcccontroller/src/mccasynclinkcreator.cpp
branchrcs
changeset 49 64c62431ac08
parent 0 1bce908db942
--- 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 );
     }