574 } |
574 } |
575 |
575 |
576 // ---------------------------------------------------------------------------- |
576 // ---------------------------------------------------------------------------- |
577 // ---------------------------------------------------------------------------- |
577 // ---------------------------------------------------------------------------- |
578 const TFSProgress CIpsPlgSosBasePlugin::GetLastSyncStatusL( |
578 const TFSProgress CIpsPlgSosBasePlugin::GetLastSyncStatusL( |
579 const TFSMailMsgId& aMailBoxId ) |
579 const TFSMailMsgId& /*aMailBoxId*/ ) |
580 { |
580 { |
581 FUNC_LOG; |
581 FUNC_LOG; |
582 TMsvEntry tEntry; |
582 if( !iSessionOk ) |
583 TMsvId service; |
583 { |
|
584 User::Leave( KErrNotReady ); |
|
585 } |
584 TFSProgress progress = { TFSProgress::EFSStatus_Status, 0, 0, KErrNone }; |
586 TFSProgress progress = { TFSProgress::EFSStatus_Status, 0, 0, KErrNone }; |
585 |
|
586 if( !iSessionOk ) |
|
587 { |
|
588 User::Leave( KErrNotReady ); |
|
589 } |
|
590 iSession->GetEntry( aMailBoxId.Id(), service, tEntry ); |
|
591 // <qmail> |
|
592 TInt state(0); |
|
593 // </qmail> |
|
594 switch( state ) |
|
595 { |
|
596 case ESyncFinishedSuccessfully: |
|
597 progress.iProgressStatus = TFSProgress::EFSStatus_RequestComplete; |
|
598 break; |
|
599 case ESyncCancelled: |
|
600 progress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; |
|
601 break; |
|
602 case ESyncError: |
|
603 progress.iProgressStatus = TFSProgress::EFSStatus_RequestComplete; |
|
604 progress.iError = KErrGeneral; |
|
605 break; |
|
606 default: |
|
607 progress.iProgressStatus = TFSProgress::EFSStatus_Status; |
|
608 progress.iError = state; // probably some symbian error code |
|
609 break; |
|
610 } |
|
611 return progress; |
587 return progress; |
612 } |
588 } |
613 |
589 |
614 // ---------------------------------------------------------------------------- |
590 // ---------------------------------------------------------------------------- |
615 // ---------------------------------------------------------------------------- |
591 // ---------------------------------------------------------------------------- |
1271 TInt CIpsPlgSosBasePlugin::GetMessagePartFileL( |
1247 TInt CIpsPlgSosBasePlugin::GetMessagePartFileL( |
1272 const TFSMailMsgId& /* aMailBoxId */, |
1248 const TFSMailMsgId& /* aMailBoxId */, |
1273 const TFSMailMsgId& /* aParentFolderId */, |
1249 const TFSMailMsgId& /* aParentFolderId */, |
1274 const TFSMailMsgId& /* aMessageId */, |
1250 const TFSMailMsgId& /* aMessageId */, |
1275 const TFSMailMsgId& aMessagePartId, |
1251 const TFSMailMsgId& aMessagePartId, |
1276 RFile& aFileHandle) |
1252 RFile& aFileHandle, |
|
1253 TBool aForWriting) |
1277 { |
1254 { |
1278 FUNC_LOG; |
1255 FUNC_LOG; |
1279 TInt status( KErrNone ); |
1256 TInt status( KErrNone ); |
1280 CMsvEntry* cEntry = iSession->GetEntryL( aMessagePartId.Id() ); |
1257 CMsvEntry* cEntry = iSession->GetEntryL( aMessagePartId.Id() ); |
1281 CleanupStack::PushL( cEntry ); |
1258 CleanupStack::PushL( cEntry ); |
1300 |
1277 |
1301 // It is assumed that the attachment file is always in the index 0 |
1278 // It is assumed that the attachment file is always in the index 0 |
1302 if ( attachmentMgr.AttachmentCount() ) |
1279 if ( attachmentMgr.AttachmentCount() ) |
1303 { |
1280 { |
1304 //<qmail> |
1281 //<qmail> |
|
1282 if (aForWriting) |
|
1283 { |
1305 // We need to open store for edit to support multipart/alternative |
1284 // We need to open store for edit to support multipart/alternative |
1306 // structure: we must have a possibility to modify text/html message part |
1285 // structure: we must have a possibility to modify text/html message part |
1307 //aFileHandle = attachmentMgr.GetAttachmentFileL( 0 ); |
|
1308 aFileHandle = attachmentMgr.GetAttachmentFileForWriteL( 0 ); |
1286 aFileHandle = attachmentMgr.GetAttachmentFileForWriteL( 0 ); |
|
1287 } |
|
1288 else |
|
1289 { |
|
1290 aFileHandle = attachmentMgr.GetAttachmentFileL( 0 ); |
|
1291 } |
1309 //</qmail> |
1292 //</qmail> |
1310 } |
1293 } |
1311 else |
1294 else |
1312 { |
1295 { |
1313 User::Leave( KErrNotFound ); |
1296 User::Leave( KErrNotFound ); |
1586 // ---------------------------------------------------------------------------- |
1569 // ---------------------------------------------------------------------------- |
1587 // ---------------------------------------------------------------------------- |
1570 // ---------------------------------------------------------------------------- |
1588 TFSProgress CIpsPlgSosBasePlugin::StatusL( TInt aRequestId ) |
1571 TFSProgress CIpsPlgSosBasePlugin::StatusL( TInt aRequestId ) |
1589 { |
1572 { |
1590 FUNC_LOG; |
1573 FUNC_LOG; |
1591 TFSProgress status; |
1574 TFSProgress status = TFSProgress(); |
1592 status.iError = KErrNone; |
1575 status.iError = KErrNone; |
1593 status.iProgressStatus = TFSProgress::EFSStatus_RequestComplete; |
1576 status.iProgressStatus = TFSProgress::EFSStatus_RequestComplete; |
1594 for ( TInt i = 0; i < iOperations.Count(); i++ ) |
1577 for ( TInt i = 0; i < iOperations.Count(); i++ ) |
1595 { |
1578 { |
1596 const CIpsPlgBaseOperation* op = iOperations[i]->BaseOperation(); |
1579 const CIpsPlgBaseOperation* op = iOperations[i]->BaseOperation(); |