localconnectivityservice/obexserviceman/utils/src/obexutilslaunchwaiter.cpp
branchRCL_3
changeset 12 031b9cffe6e4
parent 11 87d139e87731
child 38 3dcb815346df
equal deleted inserted replaced
11:87d139e87731 12:031b9cffe6e4
    88     CleanupStack::PushL(attachInfo); // 3rd push
    88     CleanupStack::PushL(attachInfo); // 3rd push
    89           
    89           
    90     TDataType dataType = attachInfo->MimeType();
    90     TDataType dataType = attachInfo->MimeType();
    91     TFileName filePath;
    91     TFileName filePath;
    92     filePath = attachInfo->FilePath();
    92     filePath = attachInfo->FilePath();
    93     
    93   
    94     TInt error = KErrNone;
    94     TInt error = KErrNone;
    95     TBool isCompleteSelf = EFalse;      
    95     TBool isCompleteSelf = EFalse;      
    96     CEikonEnv* eikEnv = CEikonEnv::Static();
    96     CEikonEnv* eikEnv = CEikonEnv::Static();
    97 
    97 
    98     if ( attachInfo->Type() == CMsvAttachment::EMsvFile )
    98     if ( attachInfo->Type() == CMsvAttachment::EMsvFile )
   121         CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC();  // 4th push
   121         CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC();  // 4th push
   122         TAiwGenericParam paramSave(EGenericParamFileSaved, ETrue);
   122         TAiwGenericParam paramSave(EGenericParamFileSaved, ETrue);
   123         paramList->AppendL( paramSave );
   123         paramList->AppendL( paramSave );
   124         
   124         
   125         if ( eikEnv )
   125         if ( eikEnv )
   126             {
   126             {            
   127             
       
   128             iDocumentHandler = CDocumentHandler::NewL( eikEnv->Process() );
   127             iDocumentHandler = CDocumentHandler::NewL( eikEnv->Process() );
   129             iDocumentHandler->SetExitObserver( this );
   128             iDocumentHandler->SetExitObserver( this );
   130             RFile64 shareableFile;
   129             RFs rfs;
   131             TRAP( error, iDocumentHandler->OpenTempFileL(filePath,shareableFile));
   130             User::LeaveIfError( rfs.Connect() );
   132             if ( error == KErrNone)
   131             if ( BaflUtils::FileExists( rfs, filePath ) )                                 
   133                 {
   132                 {
   134                 TRAP( error, iDocumentHandler->OpenFileEmbeddedL( shareableFile, dataType, *paramList));
   133                 RFile64 shareableFile;
   135                 }
   134                 TRAP( error, iDocumentHandler->OpenTempFileL(filePath,shareableFile));
   136             shareableFile.Close();
   135                 if ( error == KErrNone)
   137             if ( error == KErrNotFound )
   136                     {
       
   137                     TRAP( error, iDocumentHandler->OpenFileEmbeddedL( shareableFile, dataType, *paramList));
       
   138                     }
       
   139                 shareableFile.Close();
       
   140                 
       
   141                 if ( error == KErrNotSupported )  
       
   142                     {                    
       
   143                     delete iDocumentHandler;
       
   144                     iDocumentHandler = NULL;
       
   145                     
       
   146                     const TInt sortMethod = 2;  // 0 = 'By name', 1 = 'By type', 
       
   147                                                 // 2 = 'Most recent first' and 3 = 'Largest first'
       
   148                     TRAP (error, TObexUtilsUiLayer::LaunchFileManagerL( filePath, 
       
   149                                                                         sortMethod, 
       
   150                                                                         ETrue )); // ETrue -> launch file manager in embedded mode.
       
   151                     isCompleteSelf = ETrue;
       
   152                     }  // KErrNotSupported
       
   153                 }            
       
   154             else 
   138                 {
   155                 {
   139                 error = KErrNone;
   156                 error = KErrNone;
   140                 TFileName fileName;
   157                 TFileName fileName;
   141                 if (LocateFileL(fileName, filePath))
   158                 if (LocateFileL(fileName, filePath))
   142                     {
   159                     {
   150                         note->ShowNoteL(EAknGlobalConfirmationNote, *stringholder);
   167                         note->ShowNoteL(EAknGlobalConfirmationNote, *stringholder);
   151                         CleanupStack::PopAndDestroy(2); //note and stringholder
   168                         CleanupStack::PopAndDestroy(2); //note and stringholder
   152                         }            
   169                         }            
   153                     }    
   170                     }    
   154                 isCompleteSelf = ETrue;
   171                 isCompleteSelf = ETrue;
   155                 } // KErrNotFound
   172                 }  
       
   173            
       
   174             rfs.Close();
   156             } // eikEnv
   175             } // eikEnv
   157                    
   176         
   158        		else if ( error == KErrNotSupported )  
       
   159             	{                    
       
   160             	delete iDocumentHandler;
       
   161             	iDocumentHandler = NULL;
       
   162                                    
       
   163             	const TInt sortMethod = 2;  // 0 = 'By name', 1 = 'By type', 
       
   164                                   			// 2 = 'Most recent first' and 3 = 'Largest first'
       
   165             	TRAP (error, TObexUtilsUiLayer::LaunchFileManagerL( filePath, 
       
   166                                                                 sortMethod, 
       
   167                                                                 ETrue )); // ETrue -> launch file manager in embedded mode.
       
   168             	isCompleteSelf = ETrue;
       
   169             	}  // KErrNotSupported
       
   170                 
       
   171         CleanupStack::PopAndDestroy(); // paramList                                     
   177         CleanupStack::PopAndDestroy(); // paramList                                     
   172         } // EMsvLinkedFile
   178         } // EMsvLinkedFile
   173     
   179      
   174     
   180     
   175     // Set message to READ     
   181     // Set message to READ     
   176     TMsvEntry entry = aMessage->Entry();
   182     TMsvEntry entry = aMessage->Entry();
   177     entry.SetUnread( EFalse );
   183     entry.SetUnread( EFalse );
   178     aMessage->ChangeL( entry );
   184     aMessage->ChangeL( entry );
   179     
   185     
   180     User::LeaveIfError ( error );
   186     User::LeaveIfError ( error );
   181     CleanupStack::PopAndDestroy(3); //  attachInfo, store, attachEntry
   187     CleanupStack::PopAndDestroy(3); //  attachInfo, store, attachEntry        
   182     
       
   183     
       
   184     
   188     
   185     iObserverRequestStatus = KRequestPending;  // CMsvOperation (observer)
   189     iObserverRequestStatus = KRequestPending;  // CMsvOperation (observer)
   186     iStatus = KRequestPending;  // CMsvOperation
   190     iStatus = KRequestPending;  // CMsvOperation
   187     SetActive();
   191     SetActive();
   188 
   192