phonebookengines/VirtualPhonebook/inc/VPbkSendEventUtility.h
branchRCL_3
changeset 23 5586b4d2ec3e
parent 0 e686773b3f54
child 64 c1e8ba0c2b16
--- a/phonebookengines/VirtualPhonebook/inc/VPbkSendEventUtility.h	Wed Mar 31 21:13:53 2010 +0300
+++ b/phonebookengines/VirtualPhonebook/inc/VPbkSendEventUtility.h	Wed Apr 14 15:45:35 2010 +0300
@@ -68,6 +68,23 @@
         }
     }
 
+template<typename RefParam1, typename ValParam2, typename RefParam3,
+    typename Observer, typename NotifyFunc>
+void SendEventToObserversWhenNotDestroyed( RefParam1& aRefParam1, ValParam2 aValParam2,
+        RefParam3& aRefParam3, RPointerArray<Observer>& aObservers,
+        NotifyFunc aNotifyFunc, TBool& aDestroy )
+    {
+    Observer* obs = NULL;
+    for ( TInt i = aObservers.Count() - 1; !aDestroy && i >= 0; --i )
+        {
+        if ( i < aObservers.Count() && obs != aObservers[i] )
+            {
+            obs = aObservers[i];
+            (obs->*aNotifyFunc)( aRefParam1, aValParam2,
+                    aRefParam3 );
+            }
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // CopyPointerArrayL