equal
deleted
inserted
replaced
67 // CFSMailBox::~CFSMailBox |
67 // CFSMailBox::~CFSMailBox |
68 // ----------------------------------------------------------------------------- |
68 // ----------------------------------------------------------------------------- |
69 EXPORT_C CFSMailBox::~CFSMailBox() |
69 EXPORT_C CFSMailBox::~CFSMailBox() |
70 { |
70 { |
71 FUNC_LOG; |
71 FUNC_LOG; |
|
72 // extension KMailboxExtMrCalInfo needs to be released here because of |
|
73 // MR UI |
|
74 CEmailExtension* extension = NULL; |
|
75 TRAPD( err, extension = CExtendableEmail::ExtensionL( KMailboxExtMrCalInfo ) ); |
|
76 if( extension != NULL && err==KErrNone ) |
|
77 { |
|
78 // Release extension needs to be called twice because, previous |
|
79 // CExtendableEmail::ExtensionL( KMailboxExtMrCalInfo ) call increased |
|
80 // reference counter with one, so there is need to relase this one also. |
|
81 CExtendableEmail::ReleaseExtension( extension ); |
|
82 CExtendableEmail::ReleaseExtension( extension ); |
|
83 } |
72 iFolders.ResetAndDestroy(); |
84 iFolders.ResetAndDestroy(); |
73 } |
85 } |
74 |
86 |
75 // ----------------------------------------------------------------------------- |
87 // ----------------------------------------------------------------------------- |
76 // CFSMailBox::ConstructL |
88 // CFSMailBox::ConstructL |
359 const TFSMailMsgId aSourceFolderId, |
371 const TFSMailMsgId aSourceFolderId, |
360 const TFSMailMsgId aDestinationFolderId ) |
372 const TFSMailMsgId aDestinationFolderId ) |
361 { |
373 { |
362 FUNC_LOG; |
374 FUNC_LOG; |
363 TFSPendingRequest request; |
375 TFSPendingRequest request; |
|
376 request.iRequestId = 0; |
364 if( CFSMailPlugin* plugin = iRequestHandler->GetPluginByUid( GetId() ) ) |
377 if( CFSMailPlugin* plugin = iRequestHandler->GetPluginByUid( GetId() ) ) |
365 { |
378 { |
366 // init asynchronous request |
379 // init asynchronous request |
367 request = iRequestHandler->InitAsyncRequestL( GetId().PluginId(), |
380 request = iRequestHandler->InitAsyncRequestL( GetId().PluginId(), |
368 aOperationObserver ); |
381 aOperationObserver ); |
825 // CFSMailBox::ReleaseExtension |
838 // CFSMailBox::ReleaseExtension |
826 // ----------------------------------------------------------------------------- |
839 // ----------------------------------------------------------------------------- |
827 EXPORT_C void CFSMailBox::ReleaseExtension( CEmailExtension* aExtension ) |
840 EXPORT_C void CFSMailBox::ReleaseExtension( CEmailExtension* aExtension ) |
828 { |
841 { |
829 FUNC_LOG; |
842 FUNC_LOG; |
830 // no specialized behaviour, call base class |
843 // MR UI needs KMailboxExtMrCalInfo to not be released until CFSMailBox |
831 CExtendableEmail::ReleaseExtension( aExtension ); |
844 // exists. It is released in desctrucor |
|
845 if( aExtension->Uid() != KMailboxExtMrCalInfo ) |
|
846 { |
|
847 // no specialized behaviour, call base class |
|
848 CExtendableEmail::ReleaseExtension( aExtension ); |
|
849 } |
|
850 else |
|
851 { |
|
852 if( !aExtension->DecRef() ) |
|
853 { |
|
854 aExtension->IncRef(); |
|
855 } |
|
856 } |
832 } |
857 } |
833 |
858 |
834 // ----------------------------------------------------------------------------- |
859 // ----------------------------------------------------------------------------- |
835 // CFSMailBox::ExtensionL |
860 // CFSMailBox::ExtensionL |
836 // ----------------------------------------------------------------------------- |
861 // ----------------------------------------------------------------------------- |