localconnectivityservice/obexserviceman/utils/src/obexutilslaunchwaiter.cpp
changeset 1 388a17646e40
parent 0 c3e98f10fcf4
child 5 11d83199e2d9
equal deleted inserted replaced
0:c3e98f10fcf4 1:388a17646e40
    90     TDataType dataType = attachInfo->MimeType();
    90     TDataType dataType = attachInfo->MimeType();
    91   
    91   
    92     TInt error = KErrNone;
    92     TInt error = KErrNone;
    93     TBool isCompleteSelf = EFalse;  
    93     TBool isCompleteSelf = EFalse;  
    94     
    94     
    95     RFile attachFile;
    95     RFile attachFile;        
    96     TRAP( error, attachFile = store->AttachmentManagerL().GetAttachmentFileL(0));
    96     TRAP( error, attachFile = store->AttachmentManagerL().GetAttachmentFileL(0));
       
    97     TFileName fullName;
       
    98     attachFile.FullName(fullName);
       
    99     attachFile.Close();
       
   100     
    97     if ( KErrNone == error )
   101     if ( KErrNone == error )
    98         {
   102         {
    99         CleanupClosePushL(attachFile);  // 4th push
   103         CleanupClosePushL(attachFile);  // 4th push
   100         CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC();  // 5th push
   104         CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC();  // 5th push
   101         TAiwGenericParam paramSave(EGenericParamFileSaved, ETrue);
   105         TAiwGenericParam paramSave(EGenericParamFileSaved, ETrue);
   104         if ( CEikonEnv::Static() )
   108         if ( CEikonEnv::Static() )
   105             {
   109             {
   106             // Launches an application in embedded mode
   110             // Launches an application in embedded mode
   107             iDocumentHandler = CDocumentHandler::NewL( CEikonEnv::Static()->Process() );
   111             iDocumentHandler = CDocumentHandler::NewL( CEikonEnv::Static()->Process() );
   108             iDocumentHandler->SetExitObserver( this );
   112             iDocumentHandler->SetExitObserver( this );
   109             TRAP( error, iDocumentHandler->OpenFileEmbeddedL( attachFile, dataType, *paramList ));
   113             RFile64 shareableFile;
       
   114             TRAP( error, iDocumentHandler->OpenTempFileL(fullName,shareableFile));
       
   115             if ( error == KErrNone)
       
   116                 {
       
   117                 TRAP( error, iDocumentHandler->OpenFileEmbeddedL( shareableFile, dataType, *paramList ));
       
   118                 }
       
   119             shareableFile.Close();
   110             }
   120             }
   111         else
   121         
   112             {
   122            
   113             // Launches an application in standalone mode
       
   114             iDocumentHandler = CDocumentHandler::NewL( );
       
   115             // We do not observe exit event when file is launched in standalone mode.            
       
   116             iDocumentHandler->SetExitObserver( NULL );
       
   117             TRAP( error, iDocumentHandler->OpenFileL( attachFile, dataType));
       
   118             }
       
   119             
       
   120         if ( error == KErrNotSupported )  
   123         if ( error == KErrNotSupported )  
   121             // If file is not supported, we open the file manager at file location.
   124             // If file is not supported, we open the file manager at file location.
   122             {
   125             {
   123             // Launchs file manager at default folder
   126             // Launchs file manager at default folder
   124             delete iDocumentHandler;
   127             delete iDocumentHandler;
   125             iDocumentHandler = NULL;
   128             iDocumentHandler = NULL;
   126                
   129                
   127             TInt sortMethod = 2;  // 0 = 'By name', 1 = 'By type', 
   130             TInt sortMethod = 2;  // 0 = 'By name', 1 = 'By type', 
   128                                   // 2 = 'Most recent first' and 3 = 'Largest first'
   131                                   // 2 = 'Most recent first' and 3 = 'Largest first'
   129             TFileName fullName;
   132            TRAP (error, TObexUtilsUiLayer::LaunchFileManagerL( fullName, 
   130             attachFile.FullName(fullName);
   133                                                                sortMethod, 
   131           
   134                                                                ETrue )); // ETrue -> launch file manager in embedded mode.
   132             TRAP (error, TObexUtilsUiLayer::LaunchFileManagerL( fullName, 
       
   133                                                                        sortMethod, 
       
   134                                                                        ETrue )); // ETrue -> launch file manager in embedded mode.
       
   135             isCompleteSelf = ETrue;
   135             isCompleteSelf = ETrue;
   136             }  // KErrNotSupported
   136             }  // KErrNotSupported
   137         
   137         
   138         // Set message to READ
   138         // Set message to READ
   139         //
   139         //