ipsservices/ipssosplugin/src/ipsplgeventhandler.cpp
changeset 18 578830873419
parent 0 8466d47a6819
child 20 ecc8def7944a
--- a/ipsservices/ipssosplugin/src/ipsplgeventhandler.cpp	Tue Feb 02 00:02:40 2010 +0200
+++ b/ipsservices/ipssosplugin/src/ipsplgeventhandler.cpp	Fri Apr 16 14:51:52 2010 +0300
@@ -105,7 +105,6 @@
     iIPSSettingsObservers.ResetAndDestroy();
     iIPSSettingsObservers.Close();
     iPropertyObservers.Close();
-    delete iSettingsApi;
     iImapFolderIds.Close();
     }
 
@@ -128,7 +127,11 @@
 void CIpsPlgEventHandler::ConstructL( )
     {
     FUNC_LOG;
-    iCenRep = CRepository::NewL( KCRUidExtendedSettingsUid );
+    // <qmail>
+    // commented out from qmail when extented settings 
+    // cen rep not exist in environment
+    //iCenRep = CRepository::NewL( KCRUidExtendedSettingsUid );
+    // </qmail>
     iPluginId = iBasePlugin.PluginId();
     RegisterPropertyObserverL( this );
     }
@@ -139,7 +142,6 @@
     {
     FUNC_LOG;
     iSession = aSession;
-    iSettingsApi = CIpsSetDataApi::NewL( *iSession );
 
     // this collects all folderids to array from mailboxes that
     // have registered observers, this is need to do here because
@@ -521,7 +523,6 @@
     event.iArg3 = aArg3;
 
     RPointerArray<MFSMailEventObserver> observers;
-    CleanupClosePushL( observers );
 
     if( aEvent == TFSEventNewMailbox ||
         aEvent == TFSEventMailboxRenamed ||
@@ -542,16 +543,14 @@
         }
     for( TInt i = 0; i < observers.Count(); ++i )
         {
-        // ignore leave so that other observers get event even if
-        // one leaves
-        TRAP_IGNORE(observers[i]->EventL(
+        observers[i]->EventL(
             event.iEvent,
             event.iAccountId,
             event.iArg1,
             event.iArg2,
-            event.iArg3 ));
+            event.iArg3 );
         }
-    CleanupStack::PopAndDestroy( &observers );
+    observers.Close();
     }
 
 // ----------------------------------------------------------------------------
@@ -641,21 +640,10 @@
             SendDelayedEventL( event, mbox,
                 arg1, arg2 , arg3 );
             }
-        
-        // discard any new mail events if message is marked as deleted in imap
-        const TMsvEmailEntry& emlEntry(tNew);
-        TBool isMarkedAsDeleted = EFalse;
-        if ( mbox.PluginId() == KIpsPlgImap4PluginUid
-                && (EDisconnectedDeleteOperation == emlEntry.DisconnectedOperation()
-                || emlEntry.DeletedIMAP4Flag()) )
-            {
-            isMarkedAsDeleted = ETrue;
-            }
-        
-        
-        if ( type == KUidMsvMessageEntry && !isMarkedAsDeleted )
+        if ( type == KUidMsvMessageEntry )
             {
             TMsvId* parent = static_cast<TMsvId*>(aArg2);
+            // NOTE: assumed that event contains only one new message
             event = TFSEventNewMail;
             TFSMailMsgId mbox;
 
@@ -686,7 +674,6 @@
 
             // set entries array pointer
             RArray<TFSMailMsgId> array(KEventGranularity);
-            CleanupClosePushL( array );
 
             FillFSMessageArray(
                 array,
@@ -701,7 +688,7 @@
 
             SendDelayedEventL( event, mbox,
                 arg1, arg2 , arg3 );
-            CleanupStack::PopAndDestroy( &array );
+            array.Close();
             }
         else if ( type == KUidMsvFolderEntry )
             {
@@ -710,7 +697,6 @@
 
             // set entries array pointer
             RArray<TFSMailMsgId> array(1);
-            CleanupClosePushL( array );
             array.Append( SymId2FsId( tNew ) );
             arg1 = &array;
 
@@ -722,7 +708,7 @@
             SendDelayedEventL( event, mbox,
                 arg1, arg2 , arg3 );
 
-            CleanupStack::PopAndDestroy( &array );
+            array.Close();
 
             if( tNew.iMtm.iUid == KSenduiMtmImap4UidValue )
                 {
@@ -759,7 +745,6 @@
         TFSMailEvent event( TFSMailboxUnavailable );
 
         RArray<TFSMailMsgId> array(KEventGranularity);
-        CleanupClosePushL( array );
         FillFSMessageArray(
             array,
             static_cast<const CMsvEntrySelection*>(aArg1),
@@ -803,7 +788,7 @@
             arg2,
             arg3 );
 
-        CleanupStack::PopAndDestroy( &array );
+        array.Close();
         // set null to prevent later usage in framework side
         // causes kern exec 3 panic...
         arg1 = arg2 = arg3 = NULL;
@@ -901,9 +886,9 @@
             // message in remote folder (inbox)
             TFSMailMsgId mbox(iPluginId, tEntry.iServiceId );
             RArray<TFSMailMsgId> array( KEventGranularity );
-            CleanupClosePushL( array );
             TFSMailMsgId parentId( iPluginId, tEntry.Id() );
 
+
             if ( tEntry.iMtm.iUid == KSenduiMtmImap4UidValue )
                 {
                 isFolderId = MatchFolderIdFound( deletedId );
@@ -942,7 +927,7 @@
                     arg3 );
                 }
 
-            CleanupStack::PopAndDestroy( &array );
+            array.Close();
             }
         else if ( tEntry.iMtm.iUid == KSenduiMtmSmtpUidValue )
             {
@@ -985,7 +970,6 @@
                 }
 
             RArray<TFSMailMsgId> array(1);
-            CleanupClosePushL( array );
             array.Append( msg );
             arg1 = &array;
             arg2 = &parent;
@@ -996,7 +980,7 @@
                 arg1,
                 arg2,
                 arg3 );
-            CleanupStack::PopAndDestroy( &array );
+            array.Close();
             }
         else
             {
@@ -1035,7 +1019,6 @@
     TFSMailEvent event = static_cast<TFSMailEvent>( KErrNotFound );
 
     RArray<TFSMailMsgId> array(1);
-    CleanupClosePushL( array );
 
     if ( tChanged.iType == KUidMsvMessageEntry )
         {
@@ -1125,7 +1108,7 @@
         SendDelayedEventL( event,
             mbox, arg1, arg2, arg3 );
         }
-    CleanupStack::PopAndDestroy( &array );
+    array.Close();
     // set null to prevent later usage in framework side
     // causes kern exec 3 panic...
     arg1 = arg2 = arg3 = NULL;
@@ -1335,10 +1318,14 @@
         }
     else
         {
-        CIpsPlgSettingsObserver* obs =
+        // <qmail>
+        // commented out from qmail when extented settings 
+        // cen rep not exist in environment
+        /*CIpsPlgSettingsObserver* obs =
             CIpsPlgSettingsObserver::NewL( aAccount, *iCenRep, *this );
         obs->SetKeyAndActivateL( aSettingKey, observers );
-        iIPSSettingsObservers.AppendL( obs );
+        iIPSSettingsObservers.AppendL( obs );*/
+        // </qmail>
         }
     observers.Close();
     }
@@ -1556,7 +1543,7 @@
 
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
-void CIpsPlgEventHandler::SaveSyncStatusL( TMsvId aMailboxId, TInt aState )
+void CIpsPlgEventHandler::SaveSyncStatusL( TMsvId aMailboxId, TInt /*aState*/ )
     {
     FUNC_LOG;
     TMsvEntry tEntry;
@@ -1569,7 +1556,6 @@
 
     if( err == KErrNone )
         {
-        iSettingsApi->SaveSyncStatusL( tEntry, aState );
         }
     }
 
@@ -1690,12 +1676,11 @@
 
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
-void CIpsPlgEventHandler::CollectSubscribedFoldersL( TMsvId aMailboxId )
+void CIpsPlgEventHandler::CollectSubscribedFoldersL( TMsvId /*aMailboxId*/ )
     {
     FUNC_LOG;
     if ( iSession )
         {
-        iSettingsApi->GetSubscribedImapFoldersL( aMailboxId, iImapFolderIds );
         }
     }